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 +	} +}  |