run:
  tests: false
#   # timeout for analysis, e.g. 30s, 5m, default is 1m
#   timeout: 5m

linters:
  disable-all: true
  enable:
    - bodyclose
    - deadcode
    - depguard
    - dogsled
    # - errcheck
    - goconst
    - gocritic
    - gofmt
    - goimports
    - golint
    - gosec
    - gosimple
    - govet
    - ineffassign
    - interfacer
    - maligned
    - misspell
    - nakedret
    - prealloc
    - scopelint
    - staticcheck
    - structcheck
    - stylecheck
    - typecheck
    - unconvert
    - unused
    - unparam
    - misspell
    # - wsl
    - nolintlint

issues:
  exclude-rules:
    - text: "Use of weak random number generator"
      linters:
        - gosec
    - text: "comment on exported var"
      linters:
        - golint
    - text: "don't use an underscore in package name"
      linters:
        - golint
    - text: "ST1003:"
      linters:
        - stylecheck
    # FIXME: Disabled until golangci-lint updates stylecheck with this fix:
    # https://github.com/dominikh/go-tools/issues/389
    - text: "ST1016:"
      linters:
        - stylecheck
  max-issues-per-linter: 10000
  max-same-issues: 10000

linters-settings:
  dogsled:
    max-blank-identifiers: 3
  maligned:
    # print struct with more effective memory layout or not, false by default
    suggest-new: true
  nolintlint:
    allow-unused: false
    allow-leading-space: true
    require-explanation: false
    require-specific: false
