# This is the configuration for golangci-lint for the restic project. # # A sample config with all settings is here: # https://github.com/golangci/golangci-lint/blob/master/.golangci.example.yml linters: # only enable the linters listed below disable-all: true enable: # make sure all errors returned by functions are handled - errcheck # show how code can be simplified - gosimple # make sure code is formatted - gofmt # examine code and report suspicious constructs, such as Printf calls whose # arguments do not align with the format string - govet # make sure names and comments are used according to the conventions - revive # detect when assignments to existing variables are not used - ineffassign # run static analysis and find errors - staticcheck # find unused variables, functions, structs, types, etc. - unused # parse and typecheck code - typecheck # ensure that http response bodies are closed - bodyclose - importas issues: # don't use the default exclude rules, this hides (among others) ignored # errors from Close() calls exclude-use-default: false # list of things to not warn about exclude: # revive: do not warn about missing comments for exported stuff - exported (function|method|var|type|const) .* should have comment or be unexported # revive: ignore constants in all caps - don't use ALL_CAPS in Go names; use CamelCase # revive: lots of packages don't have such a comment - "package-comments: should have a package comment" # staticcheck: there's no easy way to replace these packages - "SA1019: \"golang.org/x/crypto/poly1305\" is deprecated" - "SA1019: \"golang.org/x/crypto/openpgp\" is deprecated" exclude-rules: # revive: ignore unused parameters in tests - path: (_test\.go|testing\.go|backend/.*/tests\.go) text: "unused-parameter:" linters-settings: importas: alias: - pkg: github.com/restic/restic/internal/test alias: rtest