mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-31 14:24:25 +03:00
It seems to be excluded already when you run the lint.sh script, but in VS Code when setting Lint on Save to package it would still lint a file in gocui when you save it, which is annoying. (Remove the other paths that were there before; they seem to be unused, and they were added by the auto-migration.) Unfortunately, gopls will still lint gocui files with its builtin staticcheck linter, and I couldn't find a way to turn this off. This might be a reason to turn off staticcheck in gopls (not sure yet).
111 lines
3.9 KiB
YAML
111 lines
3.9 KiB
YAML
version: "2"
|
|
run:
|
|
go: "1.24"
|
|
linters:
|
|
enable:
|
|
- copyloopvar
|
|
- errorlint
|
|
- exhaustive
|
|
- intrange
|
|
- makezero
|
|
- nakedret
|
|
- nolintlint
|
|
- prealloc
|
|
- revive
|
|
- thelper
|
|
- tparallel
|
|
- unconvert
|
|
- unparam
|
|
- wastedassign
|
|
settings:
|
|
copyloopvar:
|
|
check-alias: true
|
|
exhaustive:
|
|
default-signifies-exhaustive: true
|
|
nakedret:
|
|
# the gods will judge me but I just don't like naked returns at all
|
|
max-func-lines: 0
|
|
staticcheck:
|
|
checks:
|
|
- all
|
|
|
|
# SA1019 is for checking that we're not using fields marked as
|
|
# deprecated in a comment. It decides this in a loose way so I'm
|
|
# silencing it. Also because it's tripping on our own structs.
|
|
- -SA1019
|
|
|
|
# ST1003 complains about names like remoteUrl or itemId (should be
|
|
# remoteURL and itemID). While I like these suggestions, it also
|
|
# complains about enum constants that are all caps, and we use these and
|
|
# I like them, and also about camelCase identifiers that contain an
|
|
# underscore, which we also use in a few places. Since it can't be
|
|
# configured to ignore specific cases, and I don't want to use nolint
|
|
# comments in the code, we have to disable it altogether.
|
|
- -ST1003 # Poorly chosen identifier
|
|
|
|
# Probably a good idea, but we first have to review our error reporting
|
|
# strategy to be able to use it everywhere.
|
|
- -ST1005 # Error strings should not be capitalized
|
|
|
|
# Many of our classes use self as a receiver name, and we think that's fine.
|
|
- -ST1006 # Use of self or this as receiver name
|
|
|
|
# De Morgan's law suggests to replace `!(a && b)` with `!a || !b`; but
|
|
# sometimes I find one more readable than the other, so I want to decide
|
|
# that myself.
|
|
- -QF1001 # De Morgan's law
|
|
|
|
# QF1003 is about using a tagged switch instead of an if-else chain. In
|
|
# many cases this is a useful suggestion; however, sometimes the change
|
|
# is only possible by adding a default case to the switch (when there
|
|
# was no `else` block in the original code), in which case I don't find
|
|
# it to be an improvement.
|
|
- -QF1003 # Could replace with tagged switch
|
|
|
|
# We need to review our use of embedded fields. I suspect that in some
|
|
# cases the fix is not to remove the selector for the embedded field,
|
|
# but to turn the embedded field into a named field.
|
|
- -QF1008 # Could remove embedded field from selector
|
|
|
|
# The following checks are all disabled by default in golangci-lint, but
|
|
# we disable them again explicitly here to make it easier to keep this
|
|
# list in sync with the gopls config in .vscode/settings.json.
|
|
- -ST1000, # At least one file in a package should have a package comment
|
|
- -ST1020, # The documentation of an exported function should start with the function's name
|
|
- -ST1021, # The documentation of an exported type should start with type's name
|
|
- -ST1022, # The documentation of an exported variable or constant should start with variable's name
|
|
|
|
dot-import-whitelist:
|
|
- github.com/jesseduffield/lazygit/pkg/integration/components
|
|
revive:
|
|
severity: warning
|
|
rules:
|
|
- name: atomic
|
|
- name: context-as-argument
|
|
- name: context-keys-type
|
|
- name: error-naming
|
|
- name: var-declaration
|
|
- name: package-comments
|
|
- name: range
|
|
- name: time-naming
|
|
- name: indent-error-flow
|
|
- name: errorf
|
|
- name: superfluous-else
|
|
exclusions:
|
|
generated: lax
|
|
presets:
|
|
- comments
|
|
- common-false-positives
|
|
- legacy
|
|
- std-error-handling
|
|
paths:
|
|
- vendor/
|
|
formatters:
|
|
enable:
|
|
- gofumpt
|
|
- goimports
|
|
exclusions:
|
|
generated: lax
|
|
paths:
|
|
- vendor/
|