# golangci-lint configuration options linters: enable: - errcheck - goimports - revive - ineffassign - govet - unconvert - staticcheck - gosimple - stylecheck - unused - misspell - gocritic #- prealloc #- maligned disable-all: true issues: # Enable some lints excluded by default exclude-use-default: false # Maximum issues count per one linter. Set to 0 to disable. Default is 50. max-issues-per-linter: 0 # Maximum count of issues with the same text. Set to 0 to disable. Default is 3. max-same-issues: 0 exclude-rules: - linters: - staticcheck text: 'SA1019: "github.com/rclone/rclone/cmd/serve/httplib" is deprecated' # don't disable the revive messages about comments on exported functions include: - EXC0012 - EXC0013 - EXC0014 - EXC0015 run: # timeout for analysis, e.g. 30s, 5m, default is 1m timeout: 10m linters-settings: revive: # setting rules seems to disable all the rules, so re-enable them here rules: - name: blank-imports disabled: false - name: context-as-argument disabled: false - name: context-keys-type disabled: false - name: dot-imports disabled: false - name: empty-block disabled: true - 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 - name: redefines-builtin-id disabled: true - name: superfluous-else disabled: true - 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 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"] gocritic: # 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"