# Copyright (C) 2022-2023 Luke Shumaker # # SPDX-License-Identifier: GPL-2.0-or-later linters: enable-all: true disable: # Deprecated - deadcode # deprecated, replaced by 'unused' - exhaustivestruct # deprecated, replaced by 'exhauststruct' - golint # deprecated, replaced by 'revive' - ifshort # deprecated - interfacer # deprecated - maligned # deprecated, replaced by 'govet fieldalignement' - nosnakecase # deprecated, replaced by 'revive var-naming' - scopelint # deprecated, replaced by 'exportloopref' - structcheck # deprecated, replaced by 'unused' - varcheck # deprecated, replaced by 'unused' # Don't support Go 1.18 generics yet - rowserrcheck - sqlclosecheck - wastedassign # Style - nlreturn - nonamedreturns # I name returns for godoc purposes. - tagliatelle - wsl - whitespace # Complexity; sometimes code is just complex. - cyclop - funlen - gocognit - gocyclo - maintidx - nestif # Miscellaneous - asciicheck # it's fine to include Unicode - godox # there are a few known TODOs, and that's OK - goerr113 # forbids fmt.Errorf(%w), which is just silly # These are disabled not because I think they're bad, but because # they currently don't pass, and I haven't really evaluated them # yet. - errorlint - exhaustive - exhaustruct - forcetypeassert - gochecknoglobals - gochecknoinits - gomnd - ireturn - lll - revive - testpackage - thelper - varnamelen - wrapcheck linters-settings: gci: sections: - standard - default - prefix(git.lukeshu.com/go/lowmemjson) gofmt: simplify: true gosec: excludes: - G104 # duplicates errcheck nolintlint: require-explanation: true require-specific: true issues: exclude-use-default: false exclude-rules: - path: "borrowed_.*_test\\.go" linters: - errcheck - godot - gofumpt - gosec - musttag - noctx - stylecheck - path: "borrowed_.*_test\\.go" linters: [gocritic] text: "commentFormatting: put a space between `//` and comment text" - path: "borrowed_.*_test\\.go" linters: [gocritic] text: "ifElseChain: rewrite if-else to switch statement" - path: "internal/" linters: [stylecheck] text: "ST1000" # package doc comment max-issues-per-linter: 0 max-same-issues: 0