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

linters:
  disable-all: true
  enable:
    - bodyclose
    - copyloopvar
    - dogsled
    - gci
    - goconst
    - gocritic
    - gofmt
    - goimports
    - gosec
    - gosimple
    - govet
    - ineffassign
    - misspell
    - prealloc
    - revive
    - staticcheck
    - stylecheck
    - typecheck
    - thelper
    - unconvert
    - unparam
    - unused
    - wsl

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
    - path: "_test.go"
      linters:
        - wsl

linters-settings:
  dogsled:
    max-blank-identifiers: 3
  # define the import orders
  gci:
    sections:
      # Standard section: captures all standard packages.
      - standard
      # Default section: catchall that is not standard or custom
      - default
      # linters that related to local tool, so they should be separated
      - localmodule
