[run]
deadline = "1m"
skip-files = []
[linters]
disable-all=true
enable = [
"asciicheck",
"bodyclose",
"cyclop",
"deadcode",
"depguard",
"dogsled",
"dupl",
"durationcheck",
"errcheck",
"errname",
"errorlint",
"exhaustive",
"exhaustivestruct",
"exportloopref",
"forbidigo",
"forcetypeassert",
"funlen",
"gci",
"gochecknoglobals",
"gochecknoinits",
"gocognit",
"goconst",
"gocritic",
"gocyclo",
"godot",
"godox",
"gofmt",
"gofumpt",
"goheader",
"goimports",
"gomnd",
"gomoddirectives",
"gomodguard",
"goprintffuncname",
"gosec",
"gosimple",
"govet",
"ifshort",
"importas",
"ineffassign",
"lll",
"makezero",
"misspell",
"nakedret",
"nestif",
"nilerr",
"nlreturn",
"noctx",
"nolintlint",
"prealloc",
"predeclared",
"promlinter",
"revive",
"rowserrcheck",
"sqlclosecheck",
"staticcheck",
"structcheck",
"stylecheck",
"tagliatelle",
"testpackage",
"thelper",
"tparallel",
"typecheck",
"unconvert",
"unparam",
"unused",
"varcheck",
"wastedassign",
"whitespace",
"wrapcheck",
"wsl",
"goerr113",
# "golint", # deprecated
# "interfacer", # deprecated
# "maligned", # deprecated
# "paralleltest", # not applicable, tests are fast enough already
# "scopelint", # deprecated
]
[linters-settings]
[linters-settings.cyclop]
max-complexity = 13
[linters-settings.gomnd.settings.mnd]
ignored-numbers = [2, 10, 32, 64]
[issues]
exclude-use-default = false
[[issues.exclude-rules]]
path = "cmd/moac/main.go"
linters = ["forbidigo"]
text = "use of `fmt.Print(ln|f)?` forbidden by pattern"
[[issues.exclude-rules]]
path = "cmd/moac-pwgen/main.go"
linters = ["forbidigo"]
text = "use of `fmt.Print(ln|f)?` forbidden by pattern"
[[issues.exclude-rules]]
path = "givens_test.go"
# we're testing what happens when we leave vals uninitialized
linters = ["exhaustivestruct"]
[[issues.exclude-rules]]
path = "pwgen/pwgen_test.go"
# for now, use errors for specific wrapped tests to describe failures.
# might change this in the future
linters = ["goerr113"]