diff --git a/.vimrc b/.vimrc index af697df..a95653d 100644 --- a/.vimrc +++ b/.vimrc @@ -62,6 +62,19 @@ inoremap pumvisible() ? asyncomplete#close_popup() : "\" """""""""""""""""""""""""""""""""""""""""""""""" " LSP Stuff " """""""""""""""""""""""""""""""""""""""""""""""" +" Golang +if executable('gopls') + au User lsp_setup call lsp#register_server({ + \ 'name': 'gopls', + \ 'cmd': {server_info->['gopls', '-remote=auto']}, + \ 'allowlist': ['go', 'gomod', 'gohtmltmpl', 'gotexttmpl'], + \ }) + + autocmd BufWritePre *.go + \ call execute('LspDocumentFormatSync') | + \ call execute('LspCodeActionSync source.organizeImports') +endif + " Haskell if executable('haskell-language-server-wrapper') au User lsp_setup call lsp#register_server({