Mon, 27 Feb 2023 13:49:07 -0600
tweak completion a little more
1044 | 1 | return { |
2 | { | |
3 | "hrsh7th/nvim-cmp", | |
4 | event = "InsertEnter", | |
5 | dependencies = { | |
6 | "hrsh7th/cmp-buffer", | |
7 | "hrsh7th/cmp-calc", | |
8 | "hrsh7th/cmp-nvim-lsp", | |
9 | "hrsh7th/cmp-nvim-lsp-signature-help", | |
10 | "hrsh7th/cmp-nvim-lua", | |
11 | "hrsh7th/cmp-omni", | |
12 | "hrsh7th/cmp-path", | |
13 | "quangnguyen30192/cmp-nvim-tags", | |
14 | }, | |
15 | opts = function() | |
16 | local cmp = require("cmp") | |
17 | return { | |
18 | completion = { | |
1054
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
19 | keyword_length = 3, |
1044 | 20 | completeopt = "menu,menuone,noinsert,noselect", |
21 | }, | |
1054
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
22 | formatting = { |
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
23 | format = function(entry, vim_item) |
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
24 | if vim_item.kind == "Text" then |
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
25 | vim_item.kind = entry.source.name |
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
26 | end |
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
27 | return vim_item |
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
28 | end, |
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
29 | }, |
1044 | 30 | mapping = cmp.mapping.preset.insert({ |
31 | ["<C-b>"] = cmp.mapping.scroll_docs(-4), | |
32 | ["<C-f>"] = cmp.mapping.scroll_docs(4), | |
33 | ["<Tab>"] = cmp.mapping.select_next_item(), | |
34 | ["<S-Tab>"] = cmp.mapping.select_prev_item(), | |
35 | ["<C-g>"] = cmp.mapping.abort(), | |
36 | ["<Right>"] = cmp.mapping.confirm({select = true}), | |
37 | ["<Space>"] = function(fallback) | |
38 | if cmp.visible() then | |
39 | cmp.confirm({select = false}, function() | |
40 | vim.api.nvim_feedkeys(" ", "n", false) | |
41 | end) | |
42 | end | |
43 | fallback() | |
44 | end, | |
45 | }), | |
46 | sources = cmp.config.sources({ | |
47 | { name = "nvim_lsp" }, | |
48 | { name = "nvim_lsp_signature_help" }, | |
49 | { name = "nvim_lua" }, | |
1054
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
50 | { name = "buffer", option = { keyword_pattern = [[\k\+]] } }, |
1044 | 51 | { name = "path" }, |
1054
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
52 | { name = "omni" }, |
1044 | 53 | { name = "tags" }, |
1054
3a0ff0563a7b
tweak completion a little more
Meredith Howard <mhoward@roomag.org>
parents:
1044
diff
changeset
|
54 | { name = "calc" }, |
1044 | 55 | }), |
56 | } | |
57 | end, | |
58 | }, | |
59 | } | |
60 |