From 7e61bb2307ca460e02eaec60cf513a17f40cab27 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Fri, 31 May 2024 12:41:40 +1000 Subject: [PATCH 1/3] Apply CSS language server to LESS and SASS too --- dot-config/vim/lsp/servers.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dot-config/vim/lsp/servers.vim b/dot-config/vim/lsp/servers.vim index 366467b..4995a44 100644 --- a/dot-config/vim/lsp/servers.vim +++ b/dot-config/vim/lsp/servers.vim @@ -136,7 +136,7 @@ const lspServers = [ { name: 'vscode-css-language-server', - filetype: 'css', + filetype: ['css', 'less', 'sass', 'scss'], path: expand('~/.local/bin/vscode-css-language-server'), args: ['--stdio'], install: 'npm install -g vscode-langservers-extracted', From a48b40d6735885109be5c1bfb4f82472a5215a23 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Fri, 31 May 2024 12:42:31 +1000 Subject: [PATCH 2/3] 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, } From 7d64ff07b0aa622cdd7348bf4ce387b903dd708e Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Fri, 31 May 2024 12:48:06 +1000 Subject: [PATCH 3/3] Configure clojure-lsp (yay) --- dot-config/vim/lsp/servers.vim | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dot-config/vim/lsp/servers.vim b/dot-config/vim/lsp/servers.vim index 4995a44..62d3cbd 100644 --- a/dot-config/vim/lsp/servers.vim +++ b/dot-config/vim/lsp/servers.vim @@ -4,6 +4,14 @@ import '../tools/perl.vim' import '../tools/strings.vim' const lspServers = [ + { + name: 'clojure-lsp', + filetype: 'clojure', + path: '/usr/local/bin/clojure-lsp', + args: [], + install: 'brew install clojure-lsp/brew/clojure-lsp-native', + }, + { name: 'dockerfile-langserver', filetype: 'dockerfile',