repos / dotfiles

my dotfiles

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
M dot_config/nvim/init.lua
+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     },