diff --git a/config/nvim/init.vim b/config/nvim/init.vim index 94bf774..aa92ce6 100644 --- a/config/nvim/init.vim +++ b/config/nvim/init.vim @@ -1,3 +1,4 @@ source $HOME/.config/nvim/plugins.vim source $HOME/.config/nvim/general.vim source $HOME/.config/nvim/keybindings.vim +source $HOME/.config/nvim/lsp.vim diff --git a/config/nvim/lsp.vim b/config/nvim/lsp.vim new file mode 100644 index 0000000..f91d667 --- /dev/null +++ b/config/nvim/lsp.vim @@ -0,0 +1,25 @@ +" lsp-config +if has('nvim') + nnoremap gd lua vim.lsp.buf.definition() + nnoremap gD lua vim.lsp.buf.declaration() + nnoremap gr lua vim.lsp.buf.references() + nnoremap gi lua vim.lsp.buf.implementation() + nnoremap K lua vim.lsp.buf.hover() + nnoremap lua vim.lsp.buf.signature_help() + nnoremap lua vim.lsp.buf.rename() + nnoremap lua vim.lsp.diagnostic.goto_prev() + nnoremap lua vim.lsp.diagnostic.goto_next() + + " 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 diff --git a/config/nvim/plugins.vim b/config/nvim/plugins.vim index 790190a..7438321 100644 --- a/config/nvim/plugins.vim +++ b/config/nvim/plugins.vim @@ -11,6 +11,8 @@ Plug 'romainl/vim-dichromatic' " only for nvim! if has('nvim') + " language server protocol support + Plug 'neovim/nvim-lspconfig' " colorizes colorcodes Plug 'norcalli/nvim-colorizer.lua' endif