63 lines
2.1 KiB
Lua
63 lines
2.1 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"] = "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)
|
|
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 = {},
|
|
},
|
|
})
|