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

50 lines
1.7 KiB
Lua

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"] = "Telescope lsp_code_actions theme=cursor",
["<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)
require("nvim-lsp-setup.utils").format_on_save(client)
require("illuminate").on_attach(client)
end,
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 = {},
volar = {},
},
})