diff options
author | gxlin <[email protected]> | 2021-06-16 00:55:31 +0800 |
---|---|---|
committer | gxlin <[email protected]> | 2021-06-16 22:39:15 +0800 |
commit | f456d790b007c3841549ec35a996483135cceec3 (patch) | |
tree | e9352e4806ebe27326dba032ef6929157344f87f /.vim/plugins/lsp.plug | |
parent | a3c1649a195cf87db6581b5a8c703fa867462210 (diff) | |
download | dotfiles-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.plug | 39 |
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 + |