---
linters-settings:
  dupl:
    threshold: 100
  funlen:
    lines: 100
    statements: 50
  goconst:
    min-len: 2
    min-occurrences: 2
  gocritic:
    enabled-tags:
      - diagnostic
      - experimental
      - opinionated
      - performance
      - style
    disabled-checks:
  gocyclo:
    min-complexity: 15
  goimports:
    local-prefixes: github.com/AllenDang/giu
  govet:
    check-shadowing: true
  # lll:
  #   line-length: 140
  maligned:
    suggest-new: true
  misspell:
    locale: US

linters:
  disable-all: true
  enable:
    - asciicheck
    - bodyclose
    - deadcode
    - depguard
    - dogsled
    - dupl
    - errcheck
    - errorlint
    - exportloopref
    - forcetypeassert
    #- funlen
    - gci
    - godot
    #- gochecknoglobals
    #- gochecknoinits
    - gocognit
    - goconst
    - gocritic
    - gocyclo
    - goerr113
    - gofmt
    - gofumpt
    - goheader
    - goimports
    #- gomnd
    - goprintffuncname
    - gosec
    - gosimple
    - govet
    - ifshort
    - importas
    - ineffassign
    # - lll
    - makezero
    - misspell
    - nakedret
    - nilerr
    - nolintlint
    - prealloc
    - predeclared
    - promlinter
      #- revive
    - rowserrcheck
    - staticcheck
    - structcheck
    - stylecheck
    - typecheck
    - unconvert
    - unparam
    - unused
    - varcheck
    - wastedassign
    - whitespace
    - wrapcheck
    #- wsl

run:
  timeout: 5m
  skip-dirs:
    - .github
    - build
    - web

issues:
  max-same-issues: 0
  exclude-use-default: false
