diff options
Diffstat (limited to '.golangci.yml')
-rw-r--r-- | .golangci.yml | 108 |
1 files changed, 103 insertions, 5 deletions
diff --git a/.golangci.yml b/.golangci.yml index a6b3ed0..6b9a830 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,13 +1,111 @@ -# Copyright (C) 2022 Luke Shumaker <lukeshu@lukeshu.com> +# Copyright (C) 2022-2023 Luke Shumaker <lukeshu@lukeshu.com> # # SPDX-License-Identifier: GPL-2.0-or-later linters: + enable-all: true disable: - - structcheck # doesn't support Go 1.18 yet - enable: - - forbidigo - - gofmt + # 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 + - ireturn # golangci-lint doesn't claim it doesn't, but it doesn't + + # Style + - godot + - lll + - nlreturn + - nonamedreturns # I name returns for godoc purposes. + - wsl + + # Complexity; sometimes code is just complex. + - cyclop + - funlen + - gocognit + - gocyclo + - maintidx + - nestif + + # Miscellaneous + - goerr113 # forbids fmt.Errorf(%w), which is just silly + - godox # I'm OK checking in to-be-completed tasks + + # 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. + - exhaustive + - exhaustruct + - gochecknoglobals + - gochecknoinits + - revive + - testpackage + - thelper + - unparam + - varnamelen + - wrapcheck linters-settings: + errcheck: + exclude-functions: + - "git.lukeshu.com/btrfs-progs-ng/lib/textui.Fprintf" + gci: + sections: + - standard + - default + - prefix(git.lukeshu.com/btrfs-progs-ng) + gocritic: + disabled-checks: + - appendAssign gofmt: simplify: true + gomnd: + ignored-numbers: + - '2' + ignored-functions: + - 'binutil.NeedNBytes' + - 'textui.Tunable' + gomoddirectives: + replace-allow-list: + - github.com/jacobsa/fuse + gosec: + excludes: + - G104 # duplicates errcheck + - G304 # this program opens arbitrary files + nolintlint: + require-explanation: true + require-specific: true + allow-no-explanation: + - dupword + stylecheck: + checks: + - "all" + - "-ST1003" # CONST_VAL names for consistency with other btrfs code + - "-ST1000" # TODO: get this to pass + - "-ST1020" # TODO: get this to pass + - "-ST1021" # TODO: get this to pass + tagliatelle: + case: + use-field-name: true + rules: + json: pascal +issues: + exclude-use-default: false + exclude-rules: + # Ignore false positives that don't actually have any words. + - linters: [dupword] + source: "^[^a-zA-Z]*$" + # https://github.com/dominikh/go-tools/issues/1347 + - linters: [stylecheck] + text: '^ST1016: methods on the same type should have the same receiver name \(seen 1x "(a|dst)", \d+x "[^"]+"\)$' + max-issues-per-linter: 0 + max-same-issues: 0 |