mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-03 00:57:52 +02:00
Update .golangci.yml to use version 2
The config file was migrated using `golangci-lint migrate`, and then edited by hand to disable a few checks that we don't want.
This commit is contained in:
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@ -169,9 +169,9 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
go-version: 1.24.x
|
go-version: 1.24.x
|
||||||
- name: Lint
|
- name: Lint
|
||||||
uses: golangci/golangci-lint-action@v6.5.0
|
uses: golangci/golangci-lint-action@v8
|
||||||
with:
|
with:
|
||||||
version: v1.64.6
|
version: v2.2.1
|
||||||
- name: errors
|
- name: errors
|
||||||
run: golangci-lint run
|
run: golangci-lint run
|
||||||
if: ${{ failure() }}
|
if: ${{ failure() }}
|
||||||
|
106
.golangci.yml
106
.golangci.yml
@ -1,36 +1,96 @@
|
|||||||
|
version: "2"
|
||||||
|
run:
|
||||||
|
go: "1.24"
|
||||||
linters:
|
linters:
|
||||||
enable:
|
enable:
|
||||||
- gofumpt
|
- copyloopvar
|
||||||
- thelper
|
|
||||||
- goimports
|
|
||||||
- tparallel
|
|
||||||
- wastedassign
|
|
||||||
- unparam
|
|
||||||
- prealloc
|
|
||||||
- unconvert
|
|
||||||
- exhaustive
|
- exhaustive
|
||||||
- makezero
|
- makezero
|
||||||
- nakedret
|
- nakedret
|
||||||
- copyloopvar
|
- prealloc
|
||||||
fast: false
|
- thelper
|
||||||
|
- tparallel
|
||||||
linters-settings:
|
- unconvert
|
||||||
|
- unparam
|
||||||
|
- wastedassign
|
||||||
|
settings:
|
||||||
copyloopvar:
|
copyloopvar:
|
||||||
# Check all assigning the loop variable to another variable.
|
|
||||||
# Default: false
|
|
||||||
# If true, an assignment like `a := x` will be detected as an error.
|
|
||||||
check-alias: true
|
check-alias: true
|
||||||
exhaustive:
|
exhaustive:
|
||||||
default-signifies-exhaustive: true
|
default-signifies-exhaustive: true
|
||||||
staticcheck:
|
|
||||||
# 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.
|
|
||||||
checks: ["all", "-SA1019"]
|
|
||||||
nakedret:
|
nakedret:
|
||||||
# the gods will judge me but I just don't like naked returns at all
|
# the gods will judge me but I just don't like naked returns at all
|
||||||
max-func-lines: 0
|
max-func-lines: 0
|
||||||
|
staticcheck:
|
||||||
|
checks:
|
||||||
|
- all
|
||||||
|
|
||||||
run:
|
# SA1019 is for checking that we're not using fields marked as
|
||||||
go: "1.24"
|
# deprecated in a comment. It decides this in a loose way so I'm
|
||||||
timeout: 10m
|
# 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
|
||||||
|
exclusions:
|
||||||
|
generated: lax
|
||||||
|
presets:
|
||||||
|
- comments
|
||||||
|
- common-false-positives
|
||||||
|
- legacy
|
||||||
|
- std-error-handling
|
||||||
|
paths:
|
||||||
|
- third_party$
|
||||||
|
- builtin$
|
||||||
|
- examples$
|
||||||
|
formatters:
|
||||||
|
enable:
|
||||||
|
- gofumpt
|
||||||
|
- goimports
|
||||||
|
exclusions:
|
||||||
|
generated: lax
|
||||||
|
paths:
|
||||||
|
- third_party$
|
||||||
|
- builtin$
|
||||||
|
- examples$
|
||||||
|
Reference in New Issue
Block a user