vim9script # go get golang.org/x/tools/gopls@latest # pip install 'python-language-server[all]' var lspServers: list> for d in [ { filetype: ["c", "cpp"], path: "clangd", args: ["--log=error"], }, { filetype: ["go"], path: "gopls", syncInit: true, }, { filetype: ["python"], path: "pyls", syncInit: true, workspaceConfig: {pyls: { configurationSources: ["flake8"], plugins: { mccabe: {enabled: false}, }, }}, }, ] if executable(d["path"]) add(lspServers, d) endif endfor var lspOpts = { ignoreMissingServer: true, autoComplete: false, autoHighlight: true, autoPopulateDiags: true, showSignature: false, } autocmd VimEnter * call LspAddServer(lspServers) autocmd VimEnter * call LspOptionsSet(lspOpts) nmap gd :LspGotoDefinition nmap gd :vert LspGotoDefinition nmap :lopen