[run]
  deadline = "5m"
  skip-files = []

[linters-settings]

  [linters-settings.govet]
    check-shadowing = false

  [linters-settings.gocyclo]
    min-complexity = 12.0

  [linters-settings.maligned]
    suggest-new = true

  [linters-settings.goconst]
    min-len = 3.0
    min-occurrences = 3.0

  [linters-settings.misspell]
    locale = "US"

[linters]
  enable-all = true
  disable = [
    "golint", # deprecated
    "scopelint", # deprecated
    "interfacer", # deprecated
    "maligned", # deprecated
    "exhaustivestruct", # deprecated
    "lll",
    "gas",
    "dupl",
    "prealloc",
    "gocyclo",
    "cyclop",
    "gochecknoinits",
    "gochecknoglobals",
    "wsl",
    "nlreturn",
    "godox",
    "funlen",
    "gocognit",
    "stylecheck",
    "gomnd",
    "testpackage",
    "paralleltest",
    "tparallel",
    "goerr113",
    "wrapcheck",
    "nestif",
    "exhaustive",
    "exhaustruct",
    "forbidigo",
    "ifshort",
    "forcetypeassert",
    "varnamelen",
    "nosnakecase",
    "nonamedreturns",
    "nilnil",
    "maintidx",
    "errorlint", # TODO: must be reactivate before fixes
  ]

[issues]
  exclude-use-default = false
  max-per-linter = 0
  max-same-issues = 0
  exclude = []

  [[issues.exclude-rules]]
    path = ".+_test\\.go"
    linters = ["goconst"]
  [[issues.exclude-rules]]
    path = ".+_test\\.go"
    text = "var-declaration:"

  [[issues.exclude-rules]]
    path = "interp/interp.go"
    text = "`in` can be `io.Reader`"
  [[issues.exclude-rules]]
    path = "interp/interp.go"
    text = "`out` can be `io.Writer`"
  [[issues.exclude-rules]]
    path = "interp/interp.go"
    text = "`Panic` should conform to the `XxxError` format"
  [[issues.exclude-rules]]
    path = "interp/interp_eval_test.go"
    linters = ["thelper"]
  [[issues.exclude-rules]]
    path = "interp/debugger.go"
    linters = ["containedctx"]
