aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins/lsp-config.lua
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/lua/plugins/lsp-config.lua')
-rw-r--r--.config/nvim/lua/plugins/lsp-config.lua38
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
+ }
+}