version: "2"
linters:
  default: none
  enable:
    - bodyclose
    - dogsled
    - dupl
    - errcheck
    - gochecknoinits
    - goconst
    - gocritic
    - gocyclo
    - godot
    - gosec
    - govet
    - ineffassign
    - misspell
    - nakedret
    - prealloc
    - revive
    - staticcheck
    - unconvert
    - unparam
    - unused
    - whitespace
  exclusions:
    generated: lax
    presets:
      - comments
      - common-false-positives
      - legacy
      - std-error-handling
    rules:
      - linters:
          - goconst
          - prealloc
        path: _test\.go
      - linters:
          - gosec
        path: _test\.go
        text: 'G306:'
      - linters:
          - unused
        path: errors_test\.go
      - linters:
          - bodyclose
          - errcheck
        path: http/example_test\.go
    paths:
      - third_party$
      - builtin$
      - examples$
formatters:
  enable:
    - gofmt
    - goimports
  exclusions:
    generated: lax
    paths:
      - third_party$
      - builtin$
      - examples$
