2019-01-12 00:29:49 +08:00
|
|
|
# golangci-lint configuration options
|
|
|
|
|
|
|
|
linters:
|
|
|
|
enable:
|
|
|
|
- errcheck
|
|
|
|
- goimports
|
2022-08-03 20:14:51 +08:00
|
|
|
- revive
|
2019-01-12 00:29:49 +08:00
|
|
|
- ineffassign
|
|
|
|
- govet
|
|
|
|
- unconvert
|
2022-08-20 19:35:58 +08:00
|
|
|
- staticcheck
|
|
|
|
- gosimple
|
|
|
|
- stylecheck
|
2022-08-28 18:12:17 +08:00
|
|
|
- unused
|
2022-08-30 18:39:21 +08:00
|
|
|
- misspell
|
build: enable gocritic linter
Running with default set of checks, except disabling the following
- appendAssign: append result not assigned to the same slice (diagnostics check, many false positives)
- captLocal: using capitalized names for local variables (style check, too opinionated)
- commentFormatting: not having a space between `//` and comment text (style check, too opinionated)
- exitAfterDefer: log.Fatalln will exit, and `defer func(){...}(...)` will not run (diagnostics check, to be revisited)
- ifElseChain: rewrite if-else to switch statement (style check, many occurrences and a bit opinionated, to be revisited)
- singleCaseSwitch: should rewrite switch statement to if statement (style check, many occurrences and a bit opinionated, to be revisited)
2024-06-01 17:46:31 +08:00
|
|
|
- gocritic
|
2019-01-12 00:29:49 +08:00
|
|
|
#- prealloc
|
|
|
|
#- maligned
|
|
|
|
disable-all: true
|
|
|
|
|
|
|
|
issues:
|
2019-02-09 19:25:05 +08:00
|
|
|
# Enable some lints excluded by default
|
|
|
|
exclude-use-default: false
|
|
|
|
|
2019-01-12 00:29:49 +08:00
|
|
|
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
|
2022-09-09 06:18:18 +08:00
|
|
|
max-issues-per-linter: 0
|
2019-01-12 00:29:49 +08:00
|
|
|
|
|
|
|
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
|
|
|
|
max-same-issues: 0
|
2021-10-15 22:58:52 +08:00
|
|
|
|
2022-08-21 02:54:18 +08:00
|
|
|
exclude-rules:
|
|
|
|
|
|
|
|
- linters:
|
|
|
|
- staticcheck
|
|
|
|
text: 'SA1019: "github.com/rclone/rclone/cmd/serve/httplib" is deprecated'
|
|
|
|
|
2023-08-29 19:58:05 +08:00
|
|
|
# don't disable the revive messages about comments on exported functions
|
|
|
|
include:
|
|
|
|
- EXC0012
|
|
|
|
- EXC0013
|
|
|
|
- EXC0014
|
|
|
|
- EXC0015
|
|
|
|
|
2021-10-15 22:58:52 +08:00
|
|
|
run:
|
|
|
|
# timeout for analysis, e.g. 30s, 5m, default is 1m
|
|
|
|
timeout: 10m
|
2023-03-20 22:17:18 +08:00
|
|
|
|
|
|
|
linters-settings:
|
|
|
|
revive:
|
2023-08-29 19:58:05 +08:00
|
|
|
# setting rules seems to disable all the rules, so re-enable them here
|
2023-03-20 22:17:18 +08:00
|
|
|
rules:
|
2023-08-29 19:58:05 +08:00
|
|
|
- name: blank-imports
|
|
|
|
disabled: false
|
|
|
|
- name: context-as-argument
|
|
|
|
disabled: false
|
|
|
|
- name: context-keys-type
|
|
|
|
disabled: false
|
|
|
|
- name: dot-imports
|
|
|
|
disabled: false
|
2023-03-20 22:17:18 +08:00
|
|
|
- name: empty-block
|
|
|
|
disabled: true
|
2023-08-29 19:58:05 +08:00
|
|
|
- name: error-naming
|
|
|
|
disabled: false
|
|
|
|
- name: error-return
|
|
|
|
disabled: false
|
|
|
|
- name: error-strings
|
|
|
|
disabled: false
|
|
|
|
- name: errorf
|
|
|
|
disabled: false
|
|
|
|
- name: exported
|
|
|
|
disabled: false
|
|
|
|
- name: increment-decrement
|
|
|
|
disabled: true
|
|
|
|
- name: indent-error-flow
|
|
|
|
disabled: false
|
|
|
|
- name: package-comments
|
|
|
|
disabled: false
|
|
|
|
- name: range
|
|
|
|
disabled: false
|
|
|
|
- name: receiver-naming
|
|
|
|
disabled: false
|
2023-03-20 22:17:18 +08:00
|
|
|
- name: redefines-builtin-id
|
|
|
|
disabled: true
|
|
|
|
- name: superfluous-else
|
|
|
|
disabled: true
|
2023-08-29 19:58:05 +08:00
|
|
|
- name: time-naming
|
|
|
|
disabled: false
|
|
|
|
- name: unexported-return
|
|
|
|
disabled: false
|
|
|
|
- name: unreachable-code
|
|
|
|
disabled: true
|
|
|
|
- name: unused-parameter
|
|
|
|
disabled: true
|
|
|
|
- name: var-declaration
|
|
|
|
disabled: false
|
|
|
|
- name: var-naming
|
|
|
|
disabled: false
|
2022-08-20 19:35:58 +08:00
|
|
|
stylecheck:
|
|
|
|
# Only enable the checks performed by the staticcheck stand-alone tool,
|
|
|
|
# as documented here: https://staticcheck.io/docs/configuration/options/#checks
|
|
|
|
checks: ["all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022", "-ST1023"]
|
build: enable gocritic linter
Running with default set of checks, except disabling the following
- appendAssign: append result not assigned to the same slice (diagnostics check, many false positives)
- captLocal: using capitalized names for local variables (style check, too opinionated)
- commentFormatting: not having a space between `//` and comment text (style check, too opinionated)
- exitAfterDefer: log.Fatalln will exit, and `defer func(){...}(...)` will not run (diagnostics check, to be revisited)
- ifElseChain: rewrite if-else to switch statement (style check, many occurrences and a bit opinionated, to be revisited)
- singleCaseSwitch: should rewrite switch statement to if statement (style check, many occurrences and a bit opinionated, to be revisited)
2024-06-01 17:46:31 +08:00
|
|
|
gocritic:
|
2024-06-01 18:25:42 +08:00
|
|
|
# Enable all default checks with some exceptions and some additions (commented).
|
|
|
|
# Cannot use both enabled-checks and disabled-checks, so must specify all to be used.
|
|
|
|
disable-all: true
|
|
|
|
enabled-checks:
|
|
|
|
#- appendAssign # Enabled by default
|
|
|
|
- argOrder
|
|
|
|
- assignOp
|
|
|
|
- badCall
|
|
|
|
- badCond
|
|
|
|
#- captLocal # Enabled by default
|
|
|
|
- caseOrder
|
|
|
|
- codegenComment
|
|
|
|
#- commentFormatting # Enabled by default
|
|
|
|
- defaultCaseOrder
|
|
|
|
- deprecatedComment
|
|
|
|
- dupArg
|
|
|
|
- dupBranchBody
|
|
|
|
- dupCase
|
|
|
|
- dupSubExpr
|
|
|
|
- elseif
|
|
|
|
#- exitAfterDefer # Enabled by default
|
|
|
|
- flagDeref
|
|
|
|
- flagName
|
|
|
|
#- ifElseChain # Enabled by default
|
|
|
|
- mapKey
|
|
|
|
- newDeref
|
|
|
|
- offBy1
|
|
|
|
- regexpMust
|
|
|
|
- ruleguard # Not enabled by default
|
|
|
|
#- singleCaseSwitch # Enabled by default
|
|
|
|
- sloppyLen
|
|
|
|
- sloppyTypeAssert
|
|
|
|
- switchTrue
|
|
|
|
- typeSwitchVar
|
|
|
|
- underef
|
|
|
|
- unlambda
|
|
|
|
- unslice
|
|
|
|
- valSwap
|
|
|
|
- wrapperFunc
|
|
|
|
settings:
|
|
|
|
ruleguard:
|
|
|
|
rules: "${configDir}/bin/rules.go"
|