summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2023-11-02 19:16:51 +0100
committerReiner Herrmann <reiner@reiner-h.de>2023-11-02 19:16:51 +0100
commitb193e74556f23c26fca8963e974863a7b9e19227 (patch)
tree05167d07eda50dae356c9bdb86f2a35642fc7a8f
parent0759d6eec05ea50ec1a33a97c7a36ae39fe288bc (diff)
vim: replace vim-lsc with lsp
vim-lsc development seems to stagnate, and lsp seems to be already more feature-rich. lsp requires vim9, but this is available in current Debian stable.
-rw-r--r--.gitmodules6
m---------vim/pack/default/start/lsp0
m---------vim/pack/default/start/vim-lsc0
-rw-r--r--vimrc51
4 files changed, 34 insertions, 23 deletions
diff --git a/.gitmodules b/.gitmodules
index c65d87b..61ae22f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -19,9 +19,6 @@
[submodule "fzf.vim"]
path = vim/pack/default/start/fzf.vim
url = https://github.com/junegunn/fzf.vim.git
-[submodule "vim-lsc"]
- path = vim/pack/default/start/vim-lsc
- url = https://github.com/natebosch/vim-lsc.git
[submodule "vim/pack/default/start/srcery-vim"]
path = vim/pack/default/start/srcery-vim
url = https://github.com/srcery-colors/srcery-vim.git
@@ -31,3 +28,6 @@
[submodule "vim/pack/default/start/vim-cpp-modern"]
path = vim/pack/default/start/vim-cpp-modern
url = https://github.com/bfrg/vim-cpp-modern.git
+[submodule "vim/pack/default/start/lsp"]
+ path = vim/pack/default/start/lsp
+ url = https://github.com/yegappan/lsp.git
diff --git a/vim/pack/default/start/lsp b/vim/pack/default/start/lsp
new file mode 160000
+Subproject 38970403dc4d602056ea4028664206ffce74e82
diff --git a/vim/pack/default/start/vim-lsc b/vim/pack/default/start/vim-lsc
deleted file mode 160000
-Subproject 14203f07add90e273020f626e6d1a79b9fd694c
diff --git a/vimrc b/vimrc
index a58bc93..2459891 100644
--- a/vimrc
+++ b/vimrc
@@ -144,25 +144,36 @@ let g:bufExplorerShowNoName=1
let g:airline#extensions#whitespace#enabled=0
let g:airline#extensions#tabline#enabled=1
-" LSC settings
-let g:lsc_auto_map=v:true
-let g:lsc_auto_map={'defaults': v:true, 'NextReference':'', 'PreviousReference':''}
-let g:lsc_server_commands=
- \ { 'rust': {
- \ 'command': 'rust-analyzer',
- \ 'log_level': -1,
- \ 'suppress_stderr': v:true
- \ },
- \ 'c': {
- \ 'command': ['ccls', '--init={"cache":{"directory":"' . $HOME . '/.cache/ccls-cache"}}'],
- \ 'log_level': -1,
- \ 'suppress_stderr': v:true
- \ },
- \ 'cpp': {
- \ 'command': ['ccls', '--init={"cache":{"directory":"' . $HOME . '/.cache/ccls-cache"}}'],
- \ 'log_level': -1,
- \ 'suppress_stderr': v:true
- \ }
- \ }
+" LSP settings
+packadd lsp
+call LspOptionsSet(#{
+ \ autoHighlight: v:true,
+ \ showDiagOnStatusLine: v:true,
+ \ showDiagWithVirtualText: v:true,
+ \ usePopupInCodeAction: v:true,
+ \ })
+call LspAddServer([#{
+ \ name: 'clangd',
+ \ filetype: ['c', 'cpp'],
+ \ path: 'clangd',
+ \ args: ['--background-index']
+ \ }])
+call LspAddServer([#{
+ \ name: 'rust-analyzer',
+ \ filetype: ['rust'],
+ \ path: 'rust-analyzer',
+ \ args: [],
+ \ syncInit: v:true,
+ \ initializationOptions: #{
+ \ inlayHints: #{
+ \ typeHints: #{
+ \ enable: v:true
+ \ },
+ \ parameterHints: #{
+ \ enable: v:true
+ \ }
+ \ },
+ \ }
+ \ }])
" vim: set et:sw=4:sts=4