From a48b40d6735885109be5c1bfb4f82472a5215a23 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Fri, 31 May 2024 12:42:31 +1000 Subject: [PATCH] Enable manual tab completion through LSPs --- dot-config/vim/init.vim | 6 ++++++ dot-config/vim/lsp.vim | 2 +- dot-config/vim/lsp/options.vim | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dot-config/vim/init.vim b/dot-config/vim/init.vim index b695f92..ad5222c 100644 --- a/dot-config/vim/init.vim +++ b/dot-config/vim/init.vim @@ -149,6 +149,12 @@ augroup lexical autocmd FileType tex lexical#init() augroup END +g:mucomplete#can_complete = { + default: { + omni: (t) => strlen(&l:omnifunc) > 0 && (t =~# '\m\k\k$' || (g:mucomplete_with_key && t =~# '\m\S$')) + } +} + # Configure a statusline and tabline using vim-crystalline. I tried a bunch of # different statusline plugins and this one, which is basically just a utility # library for writing your *own* statusline functions, worked the best for my diff --git a/dot-config/vim/lsp.vim b/dot-config/vim/lsp.vim index 8eb3ff0..294709e 100644 --- a/dot-config/vim/lsp.vim +++ b/dot-config/vim/lsp.vim @@ -35,6 +35,6 @@ export def Configure(): void augroup END endif - g:lsp#lsp#AddServer(installedServers) g:lsp#options#OptionsSet(options.lspOptions) + g:lsp#lsp#AddServer(installedServers) enddef diff --git a/dot-config/vim/lsp/options.vim b/dot-config/vim/lsp/options.vim index 5827d17..3684330 100644 --- a/dot-config/vim/lsp/options.vim +++ b/dot-config/vim/lsp/options.vim @@ -2,6 +2,7 @@ vim9script export const lspOptions = { aleSupport: true, + autoComplete: false, # I prefer manual tab completion using MUcomplete ignoreMissingServer: true, }