diff --git a/config/vim/lsp.vim b/config/vim/lsp.vim index a99a243..20cfa0d 100644 --- a/config/vim/lsp.vim +++ b/config/vim/lsp.vim @@ -9,14 +9,6 @@ const lspServers = [ install: ['npm', 'install', '-g', 'dockerfile-language-server-nodejs'], }, - { - name: 'lua-language-server', - filetype: 'lua', - path: '/usr/local/bin/lua-language-server', - args: [], - install: ['brew', 'install', 'lua-language-server'], - }, - { name: 'tilt-lsp', filetype: 'bzl', @@ -73,26 +65,18 @@ const lspOptions = { aleSupport: true, } -command! -nargs=0 -bar LspInstall Install() - export def LazyConfigure(): void autocmd VimEnter * ++once Configure() enddef export def Configure(): void - final installedServers = lspServers->deepcopy()->filter((_, server) => executable(server.path) == 1) - if len(lspServers) != len(installedServers) - echo (len(lspServers) - len(installedServers)) "language servers are configured, but not installed. You may want to run :LspInstall." - endif - g:LspAddServer(installedServers) + g:LspAddServer(lspServers->deepcopy()->filter((_, server) => executable(server.path) == 1)) g:LspOptionsSet(lspOptions) enddef export def Install(): void - # TODO: running all installations in parallel doesn't work super well, - # because some package managers use an exclusive lock while they're running. - # Plus you don't get feedback on installation progress. Perhaps use - # term_start() instead, so installs run in series and are visible on screen? + # TODO: work out a way nicer approach to automatically installing any + # missing language servers. Maybe use a command or something. const missing = lspServers->copy() ->filter((_, server) => executable(server.path) == 0) const jobs = missing->copy()