nvim/lsp/gopls.lua 2.4 K raw
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
}