local util = require("lspconfig/util") local function config(_config) local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities = vim.tbl_deep_extend("force", capabilities, require("blink.cmp").get_lsp_capabilities({}, false)) capabilities = vim.tbl_deep_extend("force", capabilities, { textDocument = { foldingRange = { dynamicRegistration = false, lineFoldingOnly = true, }, }, }) return vim.tbl_deep_extend("force", { capabilities = capabilities, }, _config or {}) end vim.lsp.config("gopls", { cmd = { "gopls", "serve" }, filetypes = { "go", "go.mod" }, root_markers = {"go.mod", ".git", "go.work"}, settings = { gopls = { analyses = { unusedparams = true, }, staticcheck = true, gofumpt = true, }, }, }) vim.lsp.config("templ", { cmd = { "templ", "lsp" }, filetypes = { "templ" }, root_markers = { "go.work", "go.mod", ".git" }, }) vim.lsp.enable("gopls") vim.lsp.enable("templ") -- require('lspconfig').v_analyzer.setup(config({ -- cmd = { "v-analyzer" }, -- filetypes = { "v", "vv", "vsh" }, -- root_markers = { "v.mod", ".git" }, -- }))