forked from peterldowns/nix-search-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.golangci.yaml
112 lines (112 loc) · 3.02 KB
/
.golangci.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
linters-settings:
gocritic:
disabled-checks:
- ifElseChain
goimports:
local-prefixes: github.com/peterldowns/nix-search-cli
govet:
enable-all: true
disable:
- fieldalignment
depguard:
list-type: blacklist
include-go-root: true
include-go-std-lib: true
exhaustive:
default-signifies-exhaustive: true
nolintlint:
allow-unused: false
allow-leading-space: false
allow-no-explanation: [depguard, gochecknoglobals, gochecknoinits]
require-explanation: true
require-specific: true
# golint is deprecated. The recommended replacement is revive, which is a drop-in replacement
# for golint with additional rules and configuration options. For a list of available rules and
# configurations, see https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md.
# Rules below that are commented out require some minor refactoring before they can be enabled.
revive:
rules:
- name: atomic
- name: blank-imports
- name: bool-literal-in-expr
- name: call-to-gc
# - name: confusing-results
- name: constant-logical-expr
- name: context-as-argument
- name: context-keys-type
# - name: deep-exit
# - name: defer
# arguments: [[call-chain, loop, method-call, recover]]
- name: dot-imports
- name: duplicated-imports
# - name: early-return
- name: empty-block
- name: empty-lines
- name: error-naming
- name: error-return
- name: error-strings
- name: errorf
- name: exported
# - name: flag-parameter
# - name: get-return
- name: identical-branches
# - name: if-return
# - name: import-shadowing
- name: imports-blacklist
- name: increment-decrement
- name: indent-error-flow
- name: modifies-parameter
- name: modifies-value-receiver
- name: package-comments
- name: range
- name: range-val-address
- name: range-val-in-closure
- name: receiver-naming
- name: string-format
- name: string-of-int
- name: struct-tag
# - name: superfluous-else
- name: time-naming
- name: unconditional-recursion
- name: unexported-naming
- name: unexported-return
- name: unnecessary-stmt
- name: unreachable-code
- name: unused-parameter
# - name: unused-receiver
- name: var-declaration
- name: var-naming
- name: waitgroup-by-value
run:
tests: true
timeout: 1m
linters:
disable-all: true
enable:
- asciicheck
- depguard
- errcheck
- errorlint
- exhaustive
- gochecknoglobals
- gochecknoinits
- gocritic
- gofmt
- gofumpt
- goimports
- gosimple
- govet
- ineffassign
- nolintlint
- revive
- staticcheck
- typecheck
- unparam
- unused
- whitespace
issues:
exclude:
# Allow shadowing of `err` because it's so common
- 'declaration of "err" shadows declaration at'
max-same-issues: 10000
max-issues-per-linter: 10000