14 }, |
14 }, |
15 opts = function() |
15 opts = function() |
16 local cmp = require("cmp") |
16 local cmp = require("cmp") |
17 return { |
17 return { |
18 completion = { |
18 completion = { |
|
19 keyword_length = 3, |
19 completeopt = "menu,menuone,noinsert,noselect", |
20 completeopt = "menu,menuone,noinsert,noselect", |
|
21 }, |
|
22 formatting = { |
|
23 format = function(entry, vim_item) |
|
24 if vim_item.kind == "Text" then |
|
25 vim_item.kind = entry.source.name |
|
26 end |
|
27 return vim_item |
|
28 end, |
20 }, |
29 }, |
21 mapping = cmp.mapping.preset.insert({ |
30 mapping = cmp.mapping.preset.insert({ |
22 ["<C-b>"] = cmp.mapping.scroll_docs(-4), |
31 ["<C-b>"] = cmp.mapping.scroll_docs(-4), |
23 ["<C-f>"] = cmp.mapping.scroll_docs(4), |
32 ["<C-f>"] = cmp.mapping.scroll_docs(4), |
24 ["<Tab>"] = cmp.mapping.select_next_item(), |
33 ["<Tab>"] = cmp.mapping.select_next_item(), |
36 }), |
45 }), |
37 sources = cmp.config.sources({ |
46 sources = cmp.config.sources({ |
38 { name = "nvim_lsp" }, |
47 { name = "nvim_lsp" }, |
39 { name = "nvim_lsp_signature_help" }, |
48 { name = "nvim_lsp_signature_help" }, |
40 { name = "nvim_lua" }, |
49 { name = "nvim_lua" }, |
41 }, { |
50 { name = "buffer", option = { keyword_pattern = [[\k\+]] } }, |
|
51 { name = "path" }, |
|
52 { name = "omni" }, |
|
53 { name = "tags" }, |
42 { name = "calc" }, |
54 { name = "calc" }, |
43 { name = "buffer" }, |
|
44 { name = "path" }, |
|
45 }, { |
|
46 { name = "tags" }, |
|
47 { name = "omni" }, |
|
48 }), |
55 }), |
49 } |
56 } |
50 end, |
57 end, |
51 }, |
58 }, |
52 } |
59 } |