return { templates_dir = join_paths(get_runtime_dir(), "site", "after", "ftplugin"), diagnostics = { signs = { active = true, values = { { name = "LspDiagnosticsSignError", text = "" }, { name = "LspDiagnosticsSignWarning", text = "" }, { name = "LspDiagnosticsSignHint", text = "" }, { name = "LspDiagnosticsSignInformation", text = "" }, }, }, virtual_text = true, update_in_insert = false, underline = true, severity_sort = true, }, document_highlight = true, code_lens_refresh = true, popup_border = "single", on_attach_callback = nil, on_init_callback = nil, automatic_servers_installation = true, buffer_mappings = { normal_mode = { ["K"] = { "lua vim.lsp.buf.hover()", "Show hover" }, ["gd"] = { "lua vim.lsp.buf.definition()", "Goto Definition" }, ["gD"] = { "lua vim.lsp.buf.declaration()", "Goto declaration" }, ["gr"] = { "lua vim.lsp.buf.references()", "Goto references" }, ["gI"] = { "lua vim.lsp.buf.implementation()", "Goto Implementation" }, ["gs"] = { "lua vim.lsp.buf.signature_help()", "show signature help" }, ["gp"] = { "lua require'lsp.peek'.Peek('definition')", "Peek definition" }, ["gl"] = { "lua require'lsp.handlers'.show_line_diagnostics()", "Show line diagnostics", }, }, insert_mode = {}, visual_mode = {}, }, null_ls = { setup = {}, config = {}, }, override = { "angularls", "ansiblels", "denols", "ember", "emmet_ls", "eslint", "eslintls", "graphql", "jedi_language_server", "ltex", "phpactor", "pylsp", "rome", "sorbet", "sqlls", "sqls", "stylelint_lsp", "tailwindcss", "tflint", "volar", }, }