version: "2"
linters:
  default: none
  enable:
    - asasalint
    - asciicheck
    - bidichk
    - containedctx
    - contextcheck
    - copyloopvar
    - dupword
    - durationcheck
    - err113
    - errcheck
    - errchkjson
    - errname
    - errorlint
    - fatcontext
    - forcetypeassert
    - gocheckcompilerdirectives
    - gochecksumtype
    - gocritic
    - godot
    - gosec
    - gosmopolitan
    - govet
    - ineffassign
    - intrange
    - makezero
    - mirror
    - misspell
    - musttag
    - nilerr
    - noctx
    - nolintlint
    - paralleltest
    - perfsprint
    - prealloc
    - predeclared
    - reassign
    - revive
    - staticcheck
    - tagalign
    - thelper
    - tparallel
    - unconvert
    - unparam
    - unused
    - usestdlibvars
    - wastedassign
    - whitespace
    - wrapcheck
  settings:
    govet:
      enable-all: true
    misspell:
      locale: US
    revive:
      rules:
        - name: blank-imports
        - name: constant-logical-expr
        - name: context-as-argument
        - name: context-keys-type
        - name: defer
        - name: dot-imports
        - name: duplicated-imports
        - name: empty-block
        - name: error-naming
        - name: error-return
        - name: error-strings
        - name: errorf
        - name: exported
        - name: import-shadowing
        - name: increment-decrement
        - name: indent-error-flow
        - name: package-comments
        - name: range
        - name: range-val-address
        - name: range-val-in-closure
        - name: receiver-naming
        - name: redefines-builtin-id
        - name: string-of-int
        - name: superfluous-else
        - name: time-naming
        - name: unchecked-type-assertion
        - name: unexported-return
        - name: unnecessary-stmt
        - name: unreachable-code
        - name: unused-parameter
        - name: var-declaration
        - name: var-naming
  exclusions:
    generated: lax
    presets:
      - comments
      - common-false-positives
      - legacy
      - std-error-handling
    paths:
      - third_party$
      - builtin$
      - examples$
issues:
  max-issues-per-linter: 0
  max-same-issues: 0
formatters:
  enable:
    - gofmt
    - gofumpt
    - goimports
  exclusions:
    generated: lax
    paths:
      - third_party$
      - builtin$
      - examples$
