@@ -59,6 +59,7 @@ linters:
59
59
- goconst
60
60
- gocritic
61
61
- gocyclo
62
+ - godoclint
62
63
- godot
63
64
- godox
64
65
- goheader
@@ -75,6 +76,7 @@ linters:
75
76
- ineffassign
76
77
- interfacebloat
77
78
- intrange
79
+ - iotamixing
78
80
- ireturn
79
81
- lll
80
82
- loggercheck
@@ -118,6 +120,7 @@ linters:
118
120
- tparallel
119
121
- unconvert
120
122
- unparam
123
+ - unqueryvet
121
124
- unused
122
125
- usestdlibvars
123
126
- usetesting
@@ -170,6 +173,7 @@ linters:
170
173
- goconst
171
174
- gocritic
172
175
- gocyclo
176
+ - godoclint
173
177
- godot
174
178
- godox
175
179
- goheader
@@ -186,6 +190,7 @@ linters:
186
190
- ineffassign
187
191
- interfacebloat
188
192
- intrange
193
+ - iotamixing
189
194
- ireturn
190
195
- lll
191
196
- loggercheck
@@ -229,6 +234,7 @@ linters:
229
234
- tparallel
230
235
- unconvert
231
236
- unparam
237
+ - unqueryvet
232
238
- unused
233
239
- usestdlibvars
234
240
- usetesting
@@ -392,6 +398,9 @@ linters:
392
398
- " 0C0C"
393
399
394
400
embeddedstructfieldcheck :
401
+ # Checks that there is an empty space between the embedded fields and regular fields.
402
+ # Default: true
403
+ empty-line : false
395
404
# Checks that sync.Mutex and sync.RWMutex are not used as embedded fields.
396
405
# Default: false
397
406
forbid-mutex : true
@@ -654,6 +663,10 @@ linters:
654
663
# Default: false
655
664
force-assertion-description : true
656
665
666
+ # Force using `ToNot`, `ShouldNot` instead of `To(Not())`.
667
+ # Default: false
668
+ force-tonot : true
669
+
657
670
gochecksumtype :
658
671
# Presence of `default` case in switch statements satisfies exhaustiveness, if all members are not listed.
659
672
# Default: true
@@ -1263,6 +1276,74 @@ linters:
1263
1276
# Default: 30 (but we recommend 10-20)
1264
1277
min-complexity : 10
1265
1278
1279
+ godoclint :
1280
+ # Default set of rules to enable.
1281
+ # Possible values are: `basic`, `all` or `none`.
1282
+ # Default: `basic` (enables `pkg-doc`, `single-pkg-doc`, `start-with-name`, and `deprecated`)
1283
+ default : all
1284
+
1285
+ # List of rules to enable in addition to the default set.
1286
+ # Default: empty
1287
+ enable :
1288
+ # Check proper package-level godoc, if any.
1289
+ # https://github.com/godoc-lint/godoc-lint?tab=readme-ov-file#pkg-doc
1290
+ - pkg-doc
1291
+ # Assert at most one godoc per package.
1292
+ # https://github.com/godoc-lint/godoc-lint?tab=readme-ov-file#single-pkg-doc
1293
+ - single-pkg-doc
1294
+ # Require all packages to have a godoc.
1295
+ # https://github.com/godoc-lint/godoc-lint?tab=readme-ov-file#require-pkg-doc
1296
+ - require-pkg-doc
1297
+ # Assert symbol godocs start with the symbol name.
1298
+ # https://github.com/godoc-lint/godoc-lint?tab=readme-ov-file#start-with-name
1299
+ - start-with-name
1300
+ # Require godoc for all public symbols.
1301
+ # https://github.com/godoc-lint/godoc-lint?tab=readme-ov-file#require-doc
1302
+ - require-doc
1303
+ # Assert correct formatting of deprecation notes.
1304
+ # https://github.com/godoc-lint/godoc-lint?tab=readme-ov-file#deprecated
1305
+ - deprecated
1306
+ # Assert maximum line length for godocs.
1307
+ # https://github.com/godoc-lint/godoc-lint?tab=readme-ov-file#max-len
1308
+ - max-len
1309
+ # Assert no unused link in godocs.
1310
+ # https://github.com/godoc-lint/godoc-lint?tab=readme-ov-file#no-unused-link
1311
+ - no-unused-link
1312
+
1313
+ # List of rules to disable.
1314
+ # Default: empty
1315
+ disable :
1316
+ - pkg-doc
1317
+ - single-pkg-doc
1318
+ - require-pkg-doc
1319
+ - start-with-name
1320
+ - require-doc
1321
+ - deprecated
1322
+ - max-len
1323
+ - no-unused-link
1324
+
1325
+ # A map for fine-tuning individual rules.
1326
+ # All subkeys are optional.
1327
+ options :
1328
+ max-len :
1329
+ # Maximum line length for godocs, not including the `// `, or `/*` or `*/` tokens.
1330
+ # Default: 77
1331
+ length : 127
1332
+
1333
+ require-doc :
1334
+ # Ignore exported (public) symbols when applying the `require-doc` rule.
1335
+ # Default: false
1336
+ ignore-exported : true
1337
+
1338
+ # Ignore unexported (private) symbols when applying the `require-doc` rule.
1339
+ # Default: true
1340
+ ignore-unexported : false
1341
+
1342
+ start-with-name :
1343
+ # Include unexported symbols when applying the `start-with-name` rule.
1344
+ # Default: false
1345
+ include-unexported : true
1346
+
1266
1347
godot :
1267
1348
# Comments to be checked: `declarations`, `toplevel`, `noinline` or `all`.
1268
1349
# Default: declarations
@@ -1870,11 +1951,21 @@ linters:
1870
1951
# Default: false
1871
1952
skip-single-param : true
1872
1953
1954
+ ineffassign :
1955
+ # Check escaping variables of type error, may cause false positives.
1956
+ # Default: false
1957
+ check-escaping-errors : true
1958
+
1873
1959
interfacebloat :
1874
1960
# The maximum number of methods allowed for an interface.
1875
1961
# Default: 10
1876
1962
max : 5
1877
1963
1964
+ iotamixing :
1965
+ # Whether to report individual consts rather than just the const block.
1966
+ # Default: false
1967
+ report-individual : true
1968
+
1878
1969
ireturn :
1879
1970
# List of interfaces to allow.
1880
1971
# Lists of the keywords and regular expressions matched to interface or package names can be used.
@@ -2510,6 +2601,26 @@ linters:
2510
2601
severity : warning
2511
2602
disabled : false
2512
2603
exclude : [""]
2604
+ # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#identical-ifelseif-branches
2605
+ - name : identical-ifelseif-branches
2606
+ severity : warning
2607
+ disabled : false
2608
+ exclude : [""]
2609
+ # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#identical-ifelseif-conditions
2610
+ - name : identical-ifelseif-conditions
2611
+ severity : warning
2612
+ disabled : false
2613
+ exclude : [""]
2614
+ # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#identical-switch-branches
2615
+ - name : identical-switch-branches
2616
+ severity : warning
2617
+ disabled : false
2618
+ exclude : [""]
2619
+ # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#identical-switch-conditions
2620
+ - name : identical-switch-conditions
2621
+ severity : warning
2622
+ disabled : false
2623
+ exclude : [""]
2513
2624
# https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#if-return
2514
2625
- name : if-return
2515
2626
severity : warning
@@ -2593,6 +2704,13 @@ linters:
2593
2704
severity : warning
2594
2705
disabled : false
2595
2706
exclude : [""]
2707
+ # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#package-directory-mismatch
2708
+ - name : package-directory-mismatch
2709
+ severity : warning
2710
+ disabled : false
2711
+ exclude : [""]
2712
+ arguments :
2713
+ - ignore-directories : ["testcases", "testinfo"]
2596
2714
# https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#range
2597
2715
- name : range
2598
2716
severity : warning
@@ -2730,6 +2848,11 @@ linters:
2730
2848
severity : warning
2731
2849
disabled : false
2732
2850
exclude : [""]
2851
+ # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#unsecure-url-scheme
2852
+ - name : unsecure-url-scheme
2853
+ severity : warning
2854
+ disabled : false
2855
+ exclude : [""]
2733
2856
# https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#unused-parameter
2734
2857
- name : unused-parameter
2735
2858
severity : warning
@@ -2759,11 +2882,21 @@ linters:
2759
2882
severity : warning
2760
2883
disabled : false
2761
2884
exclude : [""]
2885
+ # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#use-waitgroup-go
2886
+ - name : use-waitgroup-go
2887
+ severity : warning
2888
+ disabled : false
2889
+ exclude : [""]
2762
2890
# https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#useless-break
2763
2891
- name : useless-break
2764
2892
severity : warning
2765
2893
disabled : false
2766
2894
exclude : [""]
2895
+ # https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#useless-fallthrough
2896
+ - name : useless-fallthrough
2897
+ severity : warning
2898
+ disabled : false
2899
+ exclude : [""]
2767
2900
# https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#var-declaration
2768
2901
- name : var-declaration
2769
2902
severity : warning
@@ -3757,6 +3890,21 @@ linters:
3757
3890
# Default: false
3758
3891
check-exported : true
3759
3892
3893
+ unqueryvet :
3894
+ # Enable SQL builder checking.
3895
+ # Default: true
3896
+ check-sql-builders : false
3897
+ # Regex patterns for acceptable SELECT * usage.
3898
+ # Default:
3899
+ # - "SELECT \\* FROM information_schema\\..*"
3900
+ # - "SELECT \\* FROM pg_catalog\\..*"
3901
+ # - "SELECT COUNT\\(\\*\\)"
3902
+ # - "SELECT MAX\\(\\*\\)"
3903
+ # - "SELECT MIN\\(\\*\\)"
3904
+ allowed-patterns :
3905
+ - " SELECT \\ * FROM temp_.*"
3906
+ - " SELECT \\ * FROM.*-- migration"
3907
+
3760
3908
unused :
3761
3909
# Mark all struct fields that have been written to as used.
3762
3910
# Default: true
0 commit comments