aboutsummaryrefslogtreecommitdiff
path: root/.vim/plugins/lsp.plug
diff options
context:
space:
mode:
authorgxlin <[email protected]>2021-06-16 00:55:31 +0800
committergxlin <[email protected]>2021-06-16 22:39:15 +0800
commitf456d790b007c3841549ec35a996483135cceec3 (patch)
treee9352e4806ebe27326dba032ef6929157344f87f /.vim/plugins/lsp.plug
parenta3c1649a195cf87db6581b5a8c703fa867462210 (diff)
downloaddotfiles-f456d790b007c3841549ec35a996483135cceec3.tar.gz
dotfiles-f456d790b007c3841549ec35a996483135cceec3.tar.bz2
dotfiles-f456d790b007c3841549ec35a996483135cceec3.zip
Add vim-godot plug
Diffstat (limited to '.vim/plugins/lsp.plug')
-rw-r--r--.vim/plugins/lsp.plug39
1 files changed, 39 insertions, 0 deletions
diff --git a/.vim/plugins/lsp.plug b/.vim/plugins/lsp.plug
new file mode 100644
index 0000000..1a5704b
--- /dev/null
+++ b/.vim/plugins/lsp.plug
@@ -0,0 +1,39 @@
+Plug 'prabirshrestha/vim-lsp'
+
+if executable('gopls')
+ au User lsp_setup call lsp#register_server({
+ \ 'name': 'gopls',
+ \ 'cmd': {server_info->['gopls']},
+ \ 'allowlist': ['go'],
+ \ })
+endif
+
+function! s:on_lsp_buffer_enabled() abort
+ setlocal omnifunc=lsp#complete
+ setlocal signcolumn=no
+ if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif
+ nmap <buffer> gd <plug>(lsp-definition)
+ nmap <buffer> gs <plug>(lsp-document-symbol-search)
+ nmap <buffer> gS <plug>(lsp-workspace-symbol-search)
+ nmap <buffer> gr <plug>(lsp-references)
+ nmap <buffer> gi <plug>(lsp-implementation)
+ nmap <buffer> gt <plug>(lsp-type-definition)
+ nmap <buffer> <leader>rn <plug>(lsp-rename)
+ nmap <buffer> [g <plug>(lsp-previous-diagnostic)
+ nmap <buffer> ]g <plug>(lsp-next-diagnostic)
+ nmap <buffer> K <plug>(lsp-hover)
+ inoremap <buffer> <expr><c-f> lsp#scroll(+4)
+ inoremap <buffer> <expr><c-d> lsp#scroll(-4)
+
+ let g:lsp_format_sync_timeout = 1000
+ autocmd! BufWritePre *.rs,*.go call execute('LspDocumentFormatSync')
+
+ " refer to doc to add more commands
+endfunction
+
+augroup lsp_install
+ au!
+ " call s:on_lsp_buffer_enabled only for languages that has the server registered.
+ autocmd User lsp_buffer_enabled call s:on_lsp_buffer_enabled()
+augroup END
+