dotfiles/nvim/lua/plugins/nvim-lsp-setup.lua

63 lines
2.0 KiB
Lua

local lsp_status = require("lsp-status")
lsp_status.config({
current_function = false,
show_filename = false,
diagnostics = true,
})
lsp_status.register_progress()
local utils = require("nvim-lsp-setup.utils")
require("nvim-lsp-setup").setup({
default_mappings = false,
mappings = {
gD = "lua vim.lsp.buf.declaration()",
gd = "Telescope lsp_definitions",
gt = "Telescope lsp_type_definitions",
gi = "Telescope lsp_implementations",
gr = "Telescope lsp_references",
K = "lua vim.lsp.buf.hover()",
["<C-k>"] = "lua vim.lsp.buf.signature_help()",
["<leader>rn"] = "lua vim.lsp.buf.rename()",
["<leader>ca"] = "lua vim.lsp.buf.code_action()",
["<leader>f"] = "lua vim.lsp.buf.formatting()",
["<leader>e"] = "lua vim.lsp.diagnostic.show_line_diagnostics()",
["<leader>d"] = "Telescope diagnostics",
["<C-p>"] = "lua vim.diagnostic.goto_prev()",
["<C-n>"] = "lua vim.diagnostic.goto_next()",
},
on_attach = function(client)
utils.format_on_save(client)
require("illuminate").on_attach(client)
lsp_status.on_attach(client)
end,
capabilities = vim.tbl_extend("keep", vim.lsp.protocol.make_client_capabilities(), lsp_status.capabilities),
servers = {
ansiblels = {},
bashls = {},
dockerls = {},
eslint = {},
jsonls = {},
pylsp = {},
rust_analyzer = require("nvim-lsp-setup.rust-tools").setup({
server = {
settings = {
["rust-analyzer"] = {
cargo = {
loadOutDirsFromCheck = true,
},
checkOnSave = { command = "clippy" },
procMacro = {
enable = true,
},
},
},
},
}),
sumneko_lua = require('lua-dev').setup({}),
terraformls = {},
tflint = {},
volar = {},
},
})