diff options
Diffstat (limited to '.config/nvim/lua/plugins/lsp-config.lua')
-rw-r--r-- | .config/nvim/lua/plugins/lsp-config.lua | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins/lsp-config.lua b/.config/nvim/lua/plugins/lsp-config.lua new file mode 100644 index 0000000..117db54 --- /dev/null +++ b/.config/nvim/lua/plugins/lsp-config.lua @@ -0,0 +1,38 @@ +return { + { + "neovim/nvim-lspconfig", + config = function() + local capabilities = require('cmp_nvim_lsp').default_capabilities() + vim.lsp.enable({ + "lua_ls", "clangd", "rust_analyzer", "bashls", + "html", "cssls", "jsonls", "yamlls" + }) + vim.diagnostic.config({ + virtual_text = { + prefix = '', + spacing = 4, + }, + signs = { + text = { + [vim.diagnostic.severity.ERROR] = '', + [vim.diagnostic.severity.WARN] = '', + }, + linehl = { + [vim.diagnostic.severity.ERROR] = 'ErrorMsg', + }, + numhl = { + [vim.diagnostic.severity.WARN] = 'WarningMsg', + }, + }, + underline = true, + update_in_insert = true, + severity_sort = true, + }) + vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) + vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, {}) + vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, {}) + vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {}) + vim.keymap.set('n', '<leader>lf', vim.lsp.buf.format) + end + } +} |