linters-settings: dupl: threshold: 100 funlen: lines: 100 statements: 50 goconst: min-len: 3 min-occurrences: 4 gocritic: enabled-tags: - diagnostic - experimental - opinionated - performance - style gocyclo: min-complexity: 15 goimports: local-prefixes: github.com/Jguer/yay/v12 gomnd: checks: - argument - case - condition - return ignored-numbers: - "0" - "1" - "2" - "3" ignored-functions: - strings.SplitN govet: check-shadowing: true lll: line-length: 140 misspell: locale: US nolintlint: allow-unused: false # report any unused nolint directives require-explanation: false # don't require an explanation for nolint directives require-specific: false # don't require nolint directives to be specific about which linter is being skipped linters: # please, do not use `enable-all`: it's deprecated and will be removed soon. # inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint disable-all: true enable: - bodyclose - depguard - dogsled - dupl - errorlint - errcheck - exportloopref # - funlen # TOFIX - gochecknoinits # - goconst # TOFIX - gocritic # - gocyclo # TOFIX - gofmt - goimports # - gomnd # TOFIX - goprintffuncname - gosec - gosimple - govet - ineffassign - lll - misspell - nakedret - noctx - nolintlint - staticcheck - stylecheck - typecheck - unconvert - unparam - unused - whitespace run: go: "1.18" timeout: "10m" issues: exclude-rules: - path: (.+)_test.go linters: - lll - revive - wsl - govet - godot - errcheck - stylecheck - dupl - gocritic - gochecknoinits - errorlint exclude: - G204