- commit
- 2ea9e6c
- parent
- 3d1f588
- author
- Eric Bower
- date
- 2025-07-15 00:02:49 -0400 EDT
chore(nvim): autocomplete on every key stroke
1 files changed,
+21,
-13
+21,
-13
1@@ -46,7 +46,7 @@ autocmd('FileType', {
2 group = vim.api.nvim_create_augroup('close_with_q', { clear = true }),
3 pattern = { 'help', 'man', 'qf', 'scratch' },
4 callback = function(args)
5- vim.keymap.set('n', 'q', '<cmd>quit<cr>', { buffer = args.buf })
6+ map('n', 'q', '<cmd>quit<cr>', { buffer = args.buf })
7 end,
8 })
9
10@@ -109,10 +109,17 @@ function setup_treesitter()
11 end
12
13 function setup_lsp()
14- vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, opts)
15- vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, opts)
16+ map('n', '<leader>e', vim.diagnostic.open_float, opts)
17+ map('n', '<leader>q', vim.diagnostic.setloclist, opts)
18
19 local on_attach = function(client, bufnr)
20+ -- auto-complete for any char
21+ local chars = {}
22+ for i = 32, 126 do
23+ table.insert(chars, string.char(i))
24+ end
25+ client.server_capabilities.completionProvider.triggerCharacters = chars
26+ -- built-in auto-complete
27 vim.lsp.completion.enable(true, client.id, bufnr, {
28 autotrigger = true,
29 convert = function(item)
30@@ -122,12 +129,13 @@ function setup_lsp()
31 local bufopts = { noremap=true, silent=true, buffer=bufnr }
32
33 -- See `:help vim.lsp.*` for documentation on any of the below functions
34- vim.keymap.set('n', '<leader>d', vim.lsp.buf.definition, bufopts)
35- vim.keymap.set('n', '<leader>D', vim.lsp.buf.type_definition, bufopts)
36- vim.keymap.set('n', '<leader>h', vim.lsp.buf.hover, bufopts)
37- vim.keymap.set('n', '<leader>r', vim.lsp.buf.references, bufopts)
38- vim.keymap.set('n', '<leader>i', vim.lsp.buf.implementation, bufopts)
39- vim.keymap.set('i', '<c-k>', vim.lsp.completion.get, bufopts)
40+ map('n', '<leader>d', vim.lsp.buf.definition, bufopts)
41+ map('n', '<leader>D', vim.lsp.buf.type_definition, bufopts)
42+ map('n', '<leader>h', vim.lsp.buf.hover, bufopts)
43+ map('n', '<leader>r', vim.lsp.buf.references, bufopts)
44+ map('n', '<leader>i', vim.lsp.buf.implementation, bufopts)
45+ -- open completion menu manually
46+ map('i', '<C-k>', vim.lsp.completion.get, bufopts)
47 end
48
49 local nvim_lsp = require('lspconfig')
50@@ -182,10 +190,10 @@ require("lazy").setup({
51 local fzf_symbols = function()
52 fzf.lsp_document_symbols({ winopts = { preview = { hidden = "hidden" } } })
53 end
54- vim.keymap.set("n", "<leader>s", fzf_files, { desc = "Fzf Files", noremap=true, silent=true })
55- vim.keymap.set("n", "<leader>F", fzf_symbols, { desc = "Fzf Symbols", noremap=true, silent=true })
56- vim.keymap.set("n", "<leader>f", fzf.buffers, { desc = "Fzf Buffers", noremap=true, silent=true })
57- vim.keymap.set("n", "<leader>S", fzf.live_grep, { desc = "Fzf Grep", noremap=true, silent=true })
58+ map("n", "<leader>s", fzf_files, { desc = "Fzf Files", noremap=true, silent=true })
59+ map("n", "<leader>F", fzf_symbols, { desc = "Fzf Symbols", noremap=true, silent=true })
60+ map("n", "<leader>f", fzf.buffers, { desc = "Fzf Buffers", noremap=true, silent=true })
61+ map("n", "<leader>S", fzf.live_grep, { desc = "Fzf Grep", noremap=true, silent=true })
62 fzf.setup({'max-perf'})
63 end
64 },