25 lines
1.1 KiB
VimL
25 lines
1.1 KiB
VimL
" lsp-config
|
|
if has('nvim')
|
|
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
|
|
nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
|
|
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
|
|
nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
|
|
nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
|
|
nnoremap <silent> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>
|
|
nnoremap <silent> <C-r> <cmd>lua vim.lsp.buf.rename()<CR>
|
|
nnoremap <silent> <C-n> <cmd>lua vim.lsp.diagnostic.goto_prev()<CR>
|
|
nnoremap <silent> <C-p> <cmd>lua vim.lsp.diagnostic.goto_next()<CR>
|
|
|
|
" auto-format
|
|
autocmd BufWritePre *.js lua vim.lsp.buf.formatting_sync(nil, 100)
|
|
autocmd BufWritePre *.jsx lua vim.lsp.buf.formatting_sync(nil, 100)
|
|
autocmd BufWritePre *.py lua vim.lsp.buf.formatting_sync(nil, 100)
|
|
|
|
" setup lsp-providers
|
|
" (-> need to be installed manually first and then added here)
|
|
lua require'lspconfig'.ccls.setup{}
|
|
lua require'lspconfig'.clangd.setup{}
|
|
lua require'lspconfig'.pyright.setup{}
|
|
lua require'lspconfig'.bashls.setup{}
|
|
lua require'lspconfig'.gopls.setup{}
|
|
endif
|