version: "2"

linters:
  default: all
  disable:
    - embeddedstructfieldcheck
    - funcorder
    - godoclint
    - gosmopolitan
    - noinlineerr
    - modernize
    - tparallel
    - wsl_v5
    - staticcheck
    - nonamedreturns
    - exhaustruct
    - gosec
    - dupl
    - depguard
    - lll
    - prealloc
    - gocritic
    - gochecknoinits
    - gochecknoglobals
    - godox
    - funlen
    - wsl
    - whitespace
    - gocognit
    - testpackage
    - exhaustive
    - goconst
    - godot
    - forbidigo
    - nlreturn
    - ireturn
    - paralleltest
    - varnamelen
    - wrapcheck
    - cyclop
    - errorlint
    - revive
    - errname
    - forcetypeassert
    - tagliatelle
    - nilnil
    - mnd
    - copyloopvar
    - intrange
    - err113
  settings:
    gocyclo:
      min-complexity: 25
    misspell:
      locale: "US"
  exclusions:
    rules:
      # The existing ETSI lints have some gnarly logic that needs
      # simplification/cleanup. For now we skip some linters for this dir.
      - path: lints/etsi/
        linters:
          - nestif
          - gosimple
      - path: util/qc_stmt.go
        linters:
          - nestif
