|
1 | 1 | local M = {} |
2 | 2 | local kind = require "user.lsp_kind" |
| 3 | +local cmp_ok, cmp = pcall(require, "cmp") |
| 4 | +if not cmp_ok or cmp == nil then |
| 5 | + cmp = { |
| 6 | + mapping = function(...) end, |
| 7 | + setup = { |
| 8 | + filetype = function(...) end, |
| 9 | + cmdline = function(...) end, |
| 10 | + }, |
| 11 | + config = { |
| 12 | + sources = function(...) end, |
| 13 | + }, |
| 14 | + } |
| 15 | +end |
3 | 16 |
|
4 | 17 | M.default_diagnostic_config = { |
5 | 18 | signs = { |
@@ -64,6 +77,32 @@ M.config = function() |
64 | 77 |
|
65 | 78 | -- CMP |
66 | 79 | -- ========================================= |
| 80 | + local comparators = { |
| 81 | + cmp.config.compare.offset, |
| 82 | + cmp.config.compare.exact, |
| 83 | + cmp.config.compare.score, |
| 84 | + cmp.config.compare.recently_used, |
| 85 | + cmp.config.compare.locality, |
| 86 | + cmp.config.compare.kind, |
| 87 | + cmp.config.compare.length, |
| 88 | + cmp.config.compare.order, |
| 89 | + } |
| 90 | + if lvim.builtin.cpp_programming.active then |
| 91 | + comparators = { |
| 92 | + cmp.config.compare.offset, |
| 93 | + cmp.config.compare.exact, |
| 94 | + cmp.config.compare.recently_used, |
| 95 | + require "clangd_extensions.cmp_scores", |
| 96 | + cmp.config.compare.locality, |
| 97 | + cmp.config.compare.kind, |
| 98 | + cmp.config.compare.length, |
| 99 | + cmp.config.compare.order, |
| 100 | + } |
| 101 | + end |
| 102 | + lvim.builtin.cmp.sorting = { |
| 103 | + priority_weight = 2, |
| 104 | + comparators = comparators, |
| 105 | + } |
67 | 106 | lvim.builtin.cmp.sources = { |
68 | 107 | { name = "nvim_lsp" }, |
69 | 108 | { name = "cmp_tabnine", max_item_count = 3 }, |
@@ -141,19 +180,6 @@ M.config = function() |
141 | 180 | end, |
142 | 181 | } |
143 | 182 | end |
144 | | - local cmp_ok, cmp = pcall(require, "cmp") |
145 | | - if not cmp_ok or cmp == nil then |
146 | | - cmp = { |
147 | | - mapping = function(...) end, |
148 | | - setup = { |
149 | | - filetype = function(...) end, |
150 | | - cmdline = function(...) end, |
151 | | - }, |
152 | | - config = { |
153 | | - sources = function(...) end, |
154 | | - }, |
155 | | - } |
156 | | - end |
157 | 183 | if lvim.builtin.fancy_wild_menu.active then |
158 | 184 | local cmdline_opts = { |
159 | 185 | mapping = cmp.mapping.preset.cmdline {}, |
|
627 | 653 |
|
628 | 654 | function M.tab(fallback) |
629 | 655 | local methods = require("lvim.core.cmp").methods |
630 | | - local cmp = require "cmp" |
631 | 656 | local luasnip = require "luasnip" |
632 | 657 | local copilot_keys = vim.fn["copilot#Accept"]() |
633 | 658 | if cmp.visible() then |
|
652 | 677 | function M.shift_tab(fallback) |
653 | 678 | local methods = require("lvim.core.cmp").methods |
654 | 679 | local luasnip = require "luasnip" |
655 | | - local cmp = require "cmp" |
656 | 680 | if cmp.visible() then |
657 | 681 | cmp.select_prev_item() |
658 | 682 | elseif vim.api.nvim_get_mode().mode == "c" then |
|
0 commit comments