chavacava
a4f4632a3f
fix #781 ( #782 )
2023-01-26 13:50:35 -08:00
Miles Delahunty
b87d391ee4
Fix early-return false positive and other tweaks ( #776 )
2022-11-27 13:23:51 +01:00
Buyanov Vladimir
7b1458a9cb
fix #754 [rule.unhandled-error] change arguments to regexp ( #757 )
...
* fix #754 [rule.unhandled-error] change arguments to regexp
* Update unhandled-error-w-ignorelist.go
* Update unhandled-error_test.go
* Update unhandled-error-w-ignorelist.go
* adds config backward compatibility test
* fix #754 [rule.unhandled-error] change arguments to regexp
* fix #754 [rule.unhandled-error] change arguments to regexp
* fix #754 [rule.unhandled-error] change arguments to regexp
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-11-09 13:13:52 +01:00
Shubh Karman Singh
5f26378cc2
Comment spacing rule ( #761 )
...
* added comment-spacing rule for revive
* added test for comment-spacings rule
* adds comment-spacings rule to the configuration
* renames the source file to match rule name
* adds some tests
* refactor Comment-Spacings Rule to remove whiteList and avoid Panic at empty comment
* refactoring and adds rule configuration
* adds rule documentation
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-10-29 19:32:42 +02:00
chavacava
32a0cb8052
Allows inversing the semantics of string-format
rule configurations ( #765 )
...
* allows negating the regexp
* updates rule documentation
* adds mgechev remarks
2022-10-24 20:48:41 +02:00
chavacava
06881a9f54
speedup branch comparison ( #764 )
2022-10-24 17:21:48 +02:00
Buyanov Vladimir
3d83403fb8
fix #751 [rule.add-constant] add ignoreFuncs to exclude constants in … ( #756 )
...
* fix #751 [rule.add-constant] add ignoreFuncs to exclude constants in functions
* Update add-constant.go
* Update add-constant.go
* fix #751 [rule.add-constant] add ignoreFuncs to exclude constants in functions
* add details to regex-related errors
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-10-13 13:23:23 +02:00
chavacava
3116818e59
fix bug #736 ( #745 )
2022-09-10 09:08:17 +02:00
chavacava
7c2ebbda24
fix #744 ( #746 )
2022-09-05 11:11:45 +02:00
chavacava
553604eace
fix bug #739 : empty-lines false positive ( #742 )
2022-08-27 13:18:17 +02:00
ccoVeille
fa350e6eb8
fix some typos in repository ( #728 )
2022-08-08 13:48:59 +02:00
Steven L
db56db0b6a
Capture yet more bad defer / recover patterns ( #719 )
...
* Yet more bad defer / recover patterns
`recover()` is an eternal font of excitement.
* demonstrating another flavor of failure
* removing leftover code
* update documentation
* removes test not related to the rule itself
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-07-24 09:34:16 +02:00
Abirdcfly
fcc59adb72
add testing.FailNow and related function to unreachable check ( #711 )
...
Signed-off-by: Abirdcfly <fp544037857@gmail.com>
2022-07-20 15:41:31 -07:00
chavacava
60e1ae4a01
adds checks for protobuf struct tags ( #707 )
...
* adds checks for protobuf struct tags
* use actual tag numbers as key instead of strings
removes debug println
2022-07-15 11:15:55 -07:00
chavacava
e9d5b48c19
fix #670 ( #708 )
2022-07-14 15:15:42 +02:00
hulk
8dd3945eaf
Check whether the tag name is duplicate or not ( #706 )
...
* Check whether the tag name is duplicate or not
* - minor refactoring
- continues checking tag even if name is repeated
* adds test cases for duplicated tag names
* adds test case with two tag types (json & yaml)
* Fix allow the same tag name in different tag key
* fix checks on protobuf tag names
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-07-13 20:26:44 +02:00
hulk
ce7f0669d3
Allow to customize user functions in rule error-strings
( #703 )
...
* Allow to customize user functions in rule `error-strings`
* Rollback the Available Rules table format in README
* adds memoization of the rule's configuration
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-07-05 21:51:50 +02:00
chavacava
2aac974b5c
fix issue #691 ( #700 )
2022-06-28 18:14:26 +03:00
okhowang
387d7276a1
Make package comment more confident ( #694 )
2022-06-19 13:21:31 +02:00
Ivan Trubach
dc30eb1182
fix(receiver-naming): distinguish types with parameters ( #692 )
...
* fix(receiver-naming): distinguish types with parameters
* chore: run tests using supported Go versions matrix
2022-06-18 18:47:53 +02:00
Ville Skyttä
4daa573afe
fix(var-naming): set node to package name for underscore in package name ( #689 )
...
Setting the entire file AST as the node causes golangci-lint to print
the entire file source as the context, and line and column numbers set
to 1. Point to the package name node instead.
Closes #688
2022-05-23 12:30:25 +02:00
Yudai Takada
e10678fea5
Fixes issue #619 imports-blacklist support regex ( #684 )
...
* Fixes issue #619 imports-blacklist support regex
* refactors method name and error message
* restores original test cases
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-04-21 16:04:00 +02:00
chavacava
a67ecdd7ba
add rule datarace ( #683 )
2022-04-18 09:45:42 -07:00
chavacava
04728cf0de
Lint cleanup ( #679 )
2022-04-10 11:55:13 +02:00
chavacava
31fbdb1833
Fix/677 ( #678 )
2022-04-10 09:06:59 +02:00
Markus Zimmermann
b9814276b6
Remove built-in types that existing only for the Go documentation ( #675 )
...
Since these types only exist for documenting Go's standard library there
should be no reason to mark them.
Closes #673
2022-04-08 15:18:18 +02:00
Markus Zimmermann
23828cc39d
Remove debugging output ( #672 )
...
Noticed during migration from our heavily modified "go-lint" to "revive" that there is an additional line printed. I am unsure that the convention for this project is on this, we do not allow adding such a call.
2022-04-07 13:05:51 -07:00
chavacava
b6c86a274f
fix issue 664 ( #665 )
2022-03-31 17:40:26 +02:00
chavacava
671c55d82e
adds rule use-any ( #660 )
2022-03-29 11:25:38 -07:00
chavacava
fa939adbf0
Adds support for new type alias any
in the rule redefines-built-in
( #659 )
...
* adds support for any type alias
* adds more representative tests
2022-03-29 10:51:01 +02:00
chavacava
5ce2ff53c0
removes duplicated utility function ( #652 )
2022-03-18 15:00:41 +01:00
Bernhard Reisenberger
f335f9792d
range-val-address: improve detection ( #647 )
2022-03-12 09:32:57 +01:00
subham sarkar
577441d60c
format sources w/ gofumpt ( #643 )
...
Signed-off-by: subham sarkar <sarkar.subhams2@gmail.com>
2022-03-02 08:24:55 +01:00
subham sarkar
54d9a09ab5
Incorrect handling of token.{LEQ,GEQ} for constant-logical-expr ( #642 )
...
* fix: incorrect handling of token.{LEQ,GEQ} for constant-logical-expr lint
Signed-off-by: subham sarkar <sarkar.subhams2@gmail.com>
* tiny modification in comments
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2022-02-27 09:37:51 +01:00
chavacava
d4fbc92440
fix issue #637 ( #638 )
2022-02-15 22:46:24 +01:00
Oleg Butuzov
6545203e2d
refactor(cyclomatic): improved message for cyclomatic
rule ( #629 )
2022-01-31 17:33:43 +01:00
Ludovic Fernandez
47a1cedde5
fix: invalid rule name in error message ( #627 )
2022-01-27 08:32:08 +01:00
chavacava
b721f69625
fix #622 (Rule 'var-naming' should allow Fuzz_xxx) ( #623 )
2022-01-18 15:26:29 +01:00
Euan Kemp
af953e6189
Allow whitelist for the context parameter check ( #616 )
...
* Allow a whitelist for the context parameter check
This allows users to configure a set of types that may appear before
`context.Context`.
Notably, I think this rule is useful for allowing the `*testing.T` type
to come before `context.Context`, though there may be other uses (such
as putting a tracer before it, etc).
See #605 for a little more context on this.
Fixes #605
* Save a level of indentation in context-as-arg validation
We can unindent if we make the above check more specific
* refactoring taking into account chavacava's review
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
2021-12-31 17:11:18 -08:00
doniacld
faba17a90f
Fix package check in error-strings rule ( #610 ) ( #611 )
...
Co-authored-by: SalvadorC <salvadorcavadini+github@gmail.com>
2021-10-30 08:45:37 +02:00
doniacld
0fada9d76c
Update error-strings rule ( #608 ) ( #609 )
...
Co-authored-by: SalvadorC <salvadorcavadini+github@gmail.com>
2021-10-28 21:26:02 +02:00
SalvadorC
2c895fb33f
Code cleanup ( #606 )
2021-10-23 13:25:41 +02:00
doniacld
5d04216294
Add optimize-operands-order rule ( #599 ) ( #603 )
...
Co-authored-by: SalvadorC <salvadorcavadini+github@gmail.com>
2021-10-23 09:29:14 +02:00
zeripath
3f99b6ceb1
File file-header.go ( #601 )
...
Add missing fmt import
2021-10-17 21:12:36 +02:00
SalvadorC
76b8c57329
Memoization of rule arguments ( #595 )
2021-10-17 20:34:48 +02:00
chavacava
55e1594efd
fixes false positive in unconditional-recursion
2021-10-15 13:14:03 -07:00
doniacld
be81121399
Add banned characters rule ( #532 ) ( #591 )
2021-10-14 20:56:29 +02:00
sina safari
62db66915b
add new rule time equal ( #584 )
2021-10-01 13:55:53 +02:00
sina safari
0bcc996acf
fixed some complex code ( #580 )
2021-09-26 08:28:58 +02:00
Oleg Butuzov
d7e3d5eac7
fix: time-naming
issue #571 ( #572 )
...
resolves #571
2021-09-12 16:09:14 -07:00
Oleg Butuzov
9b85893ff8
fix: switch to re.MatchString(string) instead re.Match([]byte(string)) ( #574 )
...
removes heaps allocation, feels more "native"
2021-09-12 16:05:42 -07:00
SalvadorC
18cdb55850
Exported config ( #565 )
...
* working version
* adds flag for replacing "stutters"
2021-08-26 08:36:24 -07:00
Bernhard Reisenberger
406b1ce110
range-val-address: fix false positive ( #554 )
...
range-val-address: fix false positive (closes #554 )
2021-08-26 08:41:58 +02:00
SalvadorC
097f0bb533
better messages for rules' config errors ( #563 )
2021-08-17 12:14:42 -07:00
SalvadorC
28559501d3
fix issue 556 ( #557 )
2021-08-16 12:15:17 +02:00
SalvadorC
c939bb6af8
add new rule useless-break ( #551 )
2021-08-15 15:30:08 -07:00
chris erway
7dde483bac
Add Unwrap to common methods ( #547 )
2021-07-28 10:50:09 +02:00
SalvadorC
cfac8b0013
fix 534 ( #536 )
...
Closes #534
2021-06-29 21:40:40 +02:00
Robert Deusser
575ce5f61a
new rule: nested-structs ( #530 )
...
new rule: nested-structs
2021-06-15 11:36:41 +02:00
sina safari
b5ff6325c2
simplify: redundant map composite literal ( #528 )
2021-05-31 21:54:58 +02:00
SalvadorC
97ef50d9f7
fix 525 ( #526 )
2021-05-25 15:09:05 -07:00
SalvadorC
b298ffe4ee
Adds configuration option to enable all available rules ( #521 )
...
Adds configuration option to enable all available rules
2021-05-21 09:53:10 +02:00
Bernhard Reisenberger
3bac05c7a4
range-val-address: improve detection ( #514 )
...
range-val-address: improve detection
2021-05-03 14:22:35 +02:00
Keith Scroggs
2afe668e7b
Check string literals against regular expressions ( #511 )
...
Add string-format rule
2021-04-18 18:35:30 +02:00
SalvadorC
46f65914e3
new rule function-length ( #504 )
2021-03-20 15:45:30 -07:00
Ahmed
f8f4bf23a4
Add goreleaser & a gh workflow ( #503 )
...
* Add goreleaser & a gh workflow
* format code
2021-03-18 15:10:22 -07:00
Jakub Chábek
535f426fb8
Ignore blank import of embed if embed is actually used in the file ( #501 )
...
* Ignore blank import of embed
2021-03-06 14:04:57 +01:00
Minko Gechev
688024a5ca
Add revive linting action and fix linting errors ( #455 )
2020-08-15 00:50:13 +03:00
SalvadorC
fcccdca4e3
fixes issue #451 ( #452 )
2020-08-05 19:25:57 +03:00
SalvadorC
1412d0c6ed
new rule: unexported-naming ( #443 )
...
* new rule: unexported-naming
* better failure message
2020-07-23 02:17:20 +03:00
chavacava
ad3100c9ec
adds defer rule
2020-06-08 09:40:38 -07:00
chavacava
e9bdc9ed8f
removes type-checking from empty-block rule
2020-05-20 12:05:56 -07:00
chavacava
ef265b07dd
removes commented code
2020-05-13 23:42:09 +02:00
chavacava
65beded8c4
Merge remote-tracking branch 'upstream/master' into unconditional-recursion
2020-05-13 22:13:08 +02:00
SalvadorC
1da965b65f
fix issue 386: Incorrectly identifies channel draining as "empty code… ( #415 )
...
* fix issue 386: Incorrectly identifies channel draining as "empty code block"
* updates doc of empty-block rule
2020-05-10 17:43:56 -07:00
chavacava
7a55cafc36
adds support for control exit statements
2020-05-09 21:43:12 +02:00
chavacava
91adb8bc8a
first working version
2020-05-09 17:10:34 +02:00
chavacava
5939a81c8a
removes unused code
2020-05-08 22:43:14 +02:00
chavacava
0c49c6a991
identical-branches initial implementation
2020-05-08 22:08:16 +02:00
chavacava
579c7c761f
utils.gofmt now accepts a interface{}
2020-05-08 22:08:16 +02:00
SalvadorC
67c83886d7
Late return rule ( #406 )
...
* fisrt working version of late-return rule
* late-update: adds doc
* renames to early-return
* fix rule failure condition
* fix alphabetical sorting of early-return
2020-05-08 11:14:21 -07:00
Bernhard Reisenberger
22014c3f08
Add rule 'range-val-address' ( #353 )
...
* Add rule 'range-val-address'
* range-val-address: replace pick with visitor; avoid nesting; improve failure message
* range-val-address: not all callexprs are bad. limit to 'append'
2020-02-26 10:33:00 -10:00
SalvadorC
8f61c9ad71
fix issue #355 ( #356 )
2020-02-26 10:32:47 -10:00
SalvadorC
a24e8e7b81
String of int ( #342 )
...
* string-of-int: working version
* adds doc of string-to-int
2020-02-18 09:38:01 -08:00
SalvadorC
2bec93f05f
fixes issue 290 ( #294 )
2020-01-07 14:46:21 -08:00
SalvadorC
9d5ed110c9
fixes issue #280 ( #282 )
2019-12-21 12:17:51 -08:00
chavacava
777e1b9e60
simpler implem of binEpr complexity computation
2019-12-17 22:11:32 +01:00
chavacava
e63e7cbd3d
fixes computation of complexity of Bool exprs
2019-12-16 23:02:12 +01:00
chavacava
0cdcc25bc7
removes unused return value
2019-12-15 10:57:26 +01:00
chavacava
d877a0d7e8
fix binexp complexity logic
2019-12-14 16:18:53 +01:00
chavacava
2eae0cd122
fix method comment
2019-12-14 09:12:36 +01:00
chavacava
611c6f7c81
firts working version
2019-12-14 08:27:06 +01:00
dshemin
a5c77eed9f
Add check for argument length to "file-header" rule
2019-12-02 02:04:49 +07:00
dshemin
9bb943735e
Fix review comments
2019-11-28 10:14:21 +07:00
dshemin
3c93b9c1a4
Fix #245 File header rule: index out of range [0] with length 0
2019-11-28 01:38:43 +07:00
SalvadorC
84deee4163
fixes issue #229 ( #231 )
2019-09-10 10:26:47 -07:00
SalvadorC
9649b1c2a1
fix 208 struct-tag linter false positive ( #209 )
2019-08-05 09:21:20 -07:00
SalvadorC
c967fd68ea
struct-tag warns on private fields with tags ( #131 )
2019-06-01 10:34:43 +02:00
SalvadorC
c8ee35a500
adds blacklist to unhandled-error ( #128 )
...
* adds blacklist for unhandled-error
* uses ignoreList in place of blackList
2019-04-29 19:56:12 -07:00
SalvadorC
8aa0cd8bd4
unhandled-error (new rule) ( #124 )
...
* unhandled-error (new rule)
* better failure msg
* encapsulates error type detection
2019-04-27 19:23:17 -07:00