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()", [""] = "lua vim.lsp.buf.signature_help()", ["rn"] = "lua vim.lsp.buf.rename()", ["ca"] = "lua vim.lsp.buf.code_action()", ["f"] = "lua vim.lsp.buf.formatting()", ["e"] = "lua vim.lsp.diagnostic.show_line_diagnostics()", ["d"] = "Telescope diagnostics", [""] = "lua vim.diagnostic.goto_prev()", [""] = "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 = {}, }, })