diff options
author | Guangxiong Lin <[email protected]> | 2022-04-09 14:03:41 +0800 |
---|---|---|
committer | Guangxiong Lin <[email protected]> | 2022-04-09 14:03:41 +0800 |
commit | 144b3386e9efbcc52c4233e59f5995b0f0be0fc1 (patch) | |
tree | 1212b1ac0e2e79b3341eb12794d0f4557cc9b5b0 | |
parent | 7f46db0ec4dfc6549faf9e9c957527a5433f81a8 (diff) | |
download | dotfiles-144b3386e9efbcc52c4233e59f5995b0f0be0fc1.tar.gz dotfiles-144b3386e9efbcc52c4233e59f5995b0f0be0fc1.tar.bz2 dotfiles-144b3386e9efbcc52c4233e59f5995b0f0be0fc1.zip |
Use clangd to help complete c-family language (vim)
-rw-r--r-- | .vim/after/plugin/lsp.vim | 8 | ||||
-rw-r--r-- | .vim/after/plugin/mucomplete.vim | 9 |
2 files changed, 17 insertions, 0 deletions
diff --git a/.vim/after/plugin/lsp.vim b/.vim/after/plugin/lsp.vim index 9183f7d..a5f6e73 100644 --- a/.vim/after/plugin/lsp.vim +++ b/.vim/after/plugin/lsp.vim @@ -17,6 +17,14 @@ if executable('gopls') \ }) endif +if executable('clangd') + au User lsp_setup call lsp#register_server({ + \ 'name': 'clangd', + \ 'cmd': {server_info->['clangd']}, + \ 'allowlist': ['c', 'cpp'], + \ }) +endif + function! s:on_lsp_buffer_enabled() abort setlocal omnifunc=lsp#complete if exists('+tagfunc') | setlocal tagfunc=lsp#tagfunc | endif diff --git a/.vim/after/plugin/mucomplete.vim b/.vim/after/plugin/mucomplete.vim index 5287c25..cdfbe11 100644 --- a/.vim/after/plugin/mucomplete.vim +++ b/.vim/after/plugin/mucomplete.vim @@ -7,6 +7,15 @@ let g:mucomplete#can_complete = {} let s:default_cond = { t -> t =~# '\%(\.\)$' } let g:mucomplete#can_complete.default = { 'omni': s:default_cond } +let s:c_cond = { t -> t =~# '\%(\.\|->\)$' } +let g:mucomplete#can_complete.c = { 'omni': s:c_cond } +let g:mucomplete#can_complete.objc = { 'omni': s:c_cond } + +let s:cpp_cond = { t -> t =~# '\%(\.\|->\|::\)$' } +let g:mucomplete#can_complete.cpp = { 'omni': s:cpp_cond } +let g:mucomplete#can_complete.objcpp = { 'omni': s:cpp_cond } +let g:mucomplete#can_complete.cuda = { 'omni': s:cpp_cond } + let g:mucomplete#chains = {} let g:mucomplete#chains.default = \ [ 'ulti', 'user', 'omni', 'tags', 'keyn', 'path' ] |