# This file contains all available configuration options
# with their default values.

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

  # include test files or not, default is true
  tests: true

# output configuration options
output:
  # colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
  format: tab

# all available settings of specific linters
linters-settings:
  exhaustive:
    # indicates that switch statements are to be considered exhaustive if a
    # 'default' case is present, even if all enum members aren't listed in the
    # switch
    default-signifies-exhaustive: true
  govet:
    # report about shadowed variables
    check-shadowing: false

linters:
  enable:
    # mandatory linters
    - govet
    - revive

    # some default golangci-lint linters
    - errcheck
    - gosimple
    - godot
    - ineffassign
    - staticcheck
    - typecheck
    - unused

    # extra linters
    # - exhaustive
    # - goconst
    # - goerr113
    # - gomnd
    # - nonamedreturns
    # - unparam
    - bidichk
    - bodyclose
    - contextcheck
    - decorder
    - durationcheck
    - errorlint
    - exportloopref
    - gofmt
    - misspell
    - predeclared
    - reassign
    - whitespace
    - goimports
  disable-all: true
  fast: false

issues:
  include:
    - EXC0002 # should have a comment
    - EXC0003 # test/Test ... consider calling this
    - EXC0004 # govet
    - EXC0005 # C-style breaks