nixos-combined-flake/modules/nixvim/plugins/lsp/languages/go.nix

59 lines
1.8 KiB
Nix

{pkgs, ...}: {
plugins = {
lsp = {
servers = {
golangci-lint-ls = {
enable = true;
cmd = ["${pkgs.golangci-lint-langserver}/bin/golangci-lint-langserver" "run" "--out-format" "json"];
};
gopls = {
enable = true;
extraOptions.settings = {
gopls = {
gofumpt = true;
staticcheck = true;
directoryFilters = ["-.git" "-.vscode" "-.idea" "-.vscode-test" "-node_modules"];
semanticTokens = true;
completeUnimported = true;
usePlaceholders = true;
codelenses = {
gc_details = false;
generate = true;
regenerate_cgo = true;
run_govulncheck = true;
test = true;
tidy = true;
upgrade_dependency = true;
vendor = true;
};
hints = {
assignVariableTypes = true;
compositeLiteralFields = true;
compositeLiteralTypes = true;
constantValues = true;
functionTypeParameters = true;
parameterNames = true;
rangeVariableTypes = true;
};
analyses = {
assign = true;
bools = true;
defers = true;
deprecated = true;
fieldalignment = true;
tests = true;
nilness = true;
httpresponse = true;
unmarshal = true;
unusedparams = true;
unusedwrite = true;
useany = true;
};
};
};
};
};
};
};
}