]> Sergey Matveev's repositories - dotfiles.git/blobdiff - vim/.vim/plugin/lsp.vim
Move to vim9script
[dotfiles.git] / vim / .vim / plugin / lsp.vim
index 45f903c44f2091d0c851b9dfcd9fcc8acac8b3aa..1f5586b3c4b9558c3f1cd9d2a674efea5a74a743 100644 (file)
@@ -1,20 +1,29 @@
-if exists("g:loaded_mein_lsp") | finish | endif
-let g:loaded_mein_lsp = 1
-let g:lsp_auto_enable = 1
+vim9script
 
-let g:lsp_diagnostics_echo_cursor = 1
-let g:lsp_diagnostics_echo_delay = -1
-let g:lsp_signature_help_enabled = 0
+# go get golang.org/x/tools/gopls@latest
+# pip install 'python-language-server[all]'
 
-function! s:on_lsp_buffer_enabled() abort
-    setlocal omnifunc=lsp#complete
-    nmap <buffer> [g <Plug>(lsp-previous-diagnostic)
-    nmap <buffer> ]g <Plug>(lsp-next-diagnostic)
-    nmap <buffer> gd <plug>(lsp-definition)
-    nmap <buffer> K <plug>(lsp-hover)
-endfunction
+g:lsc_enable_autocomplete = v:false
+g:lsc_server_commands = {
+    c: {command: "clangd --log=error"},
+    cpp: {command: "clangd --log=error"},
+    go: {command: "gopls", log_level: -1},
+    python: {
+        command: "pyls",
+        workspace_config: {pyls: {
+            configurationSources: ["flake8"],
+            plugins: {
+                mccabe: {enabled: v:false},
+            },
+        }},
+        enabled: v:false,
+    },
+}
+g:lsc_auto_map = {
+    GoToDefinition: "gd",
+    GoToDefinitionSplit: "<C-W>gd",
+    ShowHover: v:true,
+    Completion: "omnifunc",
+}
 
-augroup lsp_install
-    autocmd!
-    autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
-augroup END
+map <F6> :LSClientAllDiagnostics<CR>