aboutsummaryrefslogtreecommitdiff
path: root/.golangci.yaml
blob: b0ff8135c68648237afb16dacc8eef360a39c69d (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
version: "2"

linters:
  default: all
  exclusions:
    paths:
      - internal/compress/flate
      - internal/compress/internal
  disable:
    - dupword          # extremely normal in tests and a pretty unnecessary linter
    - goconst          # unnecessary especially for our parsing code; many false positives
    - mnd              # unnecessary especially for our parsing code; many false positives
    - lll              # common sense is much better than these sort of rules
    - gosmopolitan     # completely normal to have CJK and such in tests
    - nonamedreturns   # named returns are often good for clarity
    - wsl              # outdated, use wsl_v5 instead
    - varnamelen       # it's rather reasonable to have counters like i, even when it spans quite a bit
    - gocyclo          # cyclomatic metrics aren't that good
    - cyclop           # cyclomatic metrics aren't that good
    - gocognit         # too many false positives still
    - godox            # TODO/etc comments are allowed in our codebase
    - funlen           # long functions are fine
    - dogsled          # definitely not an issue, ignoring returns is normal

  settings:
    perfsprint:
      errorf: false
    depguard:
      rules:
        Main:
          list-mode: strict
          files:
            - $all
          allow:
            - $gostd
            - codeberg.org/lindenii/furgit
            - golang.org/x
    revive:
      rules:
        - name: error-strings
          disabled: true

issues:
  max-issues-per-linter: 0
  max-same-issues: 0