| 1 | return { |
| 2 | cmd = { "gopls" }, -- Command to start the language server |
| 3 | filetypes = { "go", "gomod", "gowork", "gotmpl", "gosum" }, -- File types that this server will handle |
| 4 | root_markers = { "go.mod", "go.work", ".git" }, -- Markers to identify the root of the project |
| 5 | settings = { -- Settings for the language server |
| 6 | gopls = { |
| 7 | gofumpt = true, |
| 8 | codelenses = { |
| 9 | gc_details = false, |
| 10 | generate = true, |
| 11 | regenerate_cgo = true, |
| 12 | run_govulncheck = true, |
| 13 | test = true, |
| 14 | tidy = true, |
| 15 | upgrade_dependency = true, |
| 16 | vendor = true, |
| 17 | }, |
| 18 | hints = { |
| 19 | assignVariableTypes = false, |
| 20 | compositeLiteralFields = false, |
| 21 | compositeLiteralTypes = false, |
| 22 | constantValues = false, |
| 23 | functionTypeParameters = false, |
| 24 | parameterNames = false, |
| 25 | rangeVariableTypes = false, |
| 26 | }, |
| 27 | analyses = { |
| 28 | nilness = true, |
| 29 | unusedparams = true, |
| 30 | unusedwrite = true, |
| 31 | useany = true, |
| 32 | unreachable = true, |
| 33 | modernize = true, |
| 34 | stylecheck = true, |
| 35 | appends = true, |
| 36 | asmdecl = true, |
| 37 | assign = true, |
| 38 | atomic = true, |
| 39 | bools = true, |
| 40 | buildtag = true, |
| 41 | cgocall = true, |
| 42 | composite = true, |
| 43 | contextcheck = true, |
| 44 | deba = true, |
| 45 | atomicalign = true, |
| 46 | composites = true, |
| 47 | copylocks = true, |
| 48 | deepequalerrors = true, |
| 49 | defers = true, |
| 50 | deprecated = true, |
| 51 | directive = true, |
| 52 | embed = true, |
| 53 | errorsas = true, |
| 54 | fillreturns = true, |
| 55 | framepointer = true, |
| 56 | gofix = true, |
| 57 | hostport = true, |
| 58 | infertypeargs = true, |
| 59 | lostcancel = true, |
| 60 | httpresponse = true, |
| 61 | ifaceassert = true, |
| 62 | loopclosure = true, |
| 63 | nilfunc = true, |
| 64 | nonewvars = true, |
| 65 | noresultvalues = true, |
| 66 | printf = true, |
| 67 | shadow = true, |
| 68 | shift = true, |
| 69 | sigchanyzer = true, |
| 70 | simplifycompositelit = true, |
| 71 | simplifyrange = true, |
| 72 | simplifyslice = true, |
| 73 | slog = true, |
| 74 | sortslice = true, |
| 75 | stdmethods = true, |
| 76 | stdversion = true, |
| 77 | stringintconv = true, |
| 78 | structtag = true, |
| 79 | testinggoroutine = true, |
| 80 | tests = true, |
| 81 | timeformat = true, |
| 82 | unmarshal = true, |
| 83 | unsafeptr = true, |
| 84 | unusedfunc = true, |
| 85 | unusedresult = true, |
| 86 | waitgroup = true, |
| 87 | yield = true, |
| 88 | unusedvariable = true, |
| 89 | }, |
| 90 | usePlaceholders = true, |
| 91 | completeUnimported = true, |
| 92 | staticcheck = true, |
| 93 | directoryFilters = { "-.git", "-.vscode", "-.idea", "-.vscode-test", "-node_modules" }, |
| 94 | semanticTokens = true, |
| 95 | }, |
| 96 | }, |
| 97 | } |