-- Require LSP config which we can use to attach gopls lspconfig = require "lspconfig" util = require "lspconfig/util" -- Since we installed lspconfig and imported it, we can reach -- gopls by lspconfig.gopls -- we can then set it up using the setup and insert the needed configurations lspconfig.gopls.setup { cmd = { "gopls", "serve" }, filetypes = { "go", "gomod" }, root_dir = util.root_pattern("go.work", "go.mod", ".git"), settings = { gopls = { analyses = { unusedparams = true, }, staticcheck = true, hints = { assignVariableTypes = true, compositeLiteralFields = true, compositeLiteralTypes = true, constantValues = true, functionTypeParameters = true, parameterNames = true, rangeVariableTypes = true, } }, }, }