-- lua_add {{{ require("vimrc/lsp-helper").on_attach(nil, function() local opts = { buffer = true } vim.keymap.set("n", "K", function() vim.lsp.buf.hover({ border = "single" }) end, opts) vim.keymap.set("n", "<Space>f", vim.lsp.buf.format, opts) vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts) vim.keymap.set("n", "gr", vim.lsp.buf.references, opts) vim.keymap.set("n", "<Space>r", vim.lsp.buf.rename, opts) vim.keymap.set("n", "<Space>d", vim.diagnostic.setloclist, opts) vim.keymap.set("n", "<Space>D", vim.diagnostic.open_float, opts) vim.keymap.set("n", "[d", function() vim.diagnostic.jump({ float = false, count = -1 }) end, opts) vim.keymap.set("n", "]d", function() vim.diagnostic.jump({ float = false, count = 1 }) end, opts) end) vim.diagnostic.config({ severity_sort = true, virtual_text = false, }) -- }}} -- lua_source {{{ local lspconfig = require("lspconfig") require("mason").setup() require("mason-lspconfig").setup() require("mason-lspconfig").setup_handlers({ function(server_name) lspconfig[server_name].setup({}) end, }) -- keep-sorted start block=yes lspconfig.denols.setup(require("vimrc/lsp/denols").config()) lspconfig.efm.setup(require("vimrc/lsp/efm").config()) lspconfig.gopls.setup({}) lspconfig.lua_ls.setup(require("vimrc/lsp/lua_ls").config()) lspconfig.nixd.setup({}) lspconfig.nushell.setup({}) lspconfig.rust_analyzer.setup({}) lspconfig.sourcekit.setup({}) lspconfig.taplo.setup(require("vimrc/lsp/taplo").config()) lspconfig.tinymist.setup({}) lspconfig.ts_ls.setup(require("vimrc/lsp/tsserver").config()) lspconfig.yamlls.setup(require("vimrc/lsp/yamlls").config()) -- keep-sorted end -- }}}