173 Commits

Author SHA1 Message Date
Aleksandr Razumov
d00692c355
Merge branch 'nestif' of https://github.com/nakabonne/golangci-lint into nakabonne-nestif 2020-04-23 00:31:25 +03:00
Marat Reymers
9914737fc3 Add linter testpackage 2020-04-22 18:57:30 +03:00
Ryan Currah
990b43f19a
Merge remote-tracking branch 'golangci/master' into add-gomodguard-linter 2020-04-21 20:17:09 -04:00
nakabonne
9442a4132c Use sort.SliceStable instead of sort.Slice 2020-04-22 08:53:50 +09:00
nakabonne
0108387c24 Add nestif linter 2020-04-22 08:51:43 +09:00
Ryan Currah
4292963937
do not error out when go.mod is missing just raise warning, change linter options 2020-04-05 17:49:27 -04:00
Ryan Currah
020b9e7103
added new linter gomodguard, disabled by default 2020-04-04 15:29:11 -04:00
Denis Krivak
58572c7789 Add new linter: godot 2020-03-16 11:56:57 +03:00
Simon Sawert
4a2147930a
Update wsl to v3.0.0
* Support to force cuddle with error checking
* Support to separate leading comments with empty lines
2020-03-15 13:36:57 +01:00
Aleksandr Razumov
e4643439b3
goanalysis: make failed prerequisites error detailed
Print actual error along with dep name.

Ref: 
2020-03-15 13:47:35 +03:00
ferhat elmas
4d367808be Support disable rule when enable-all is true
Similar to the behavior of command line flags:
enable-all to enable existing linters then disable unwanted ones.
But for vet rules.
2020-03-11 17:20:26 +01:00
Trevor Pounds
c46c1b3224
Update to latest x/tools ()
* Update to latest x/tools (2020/01/19).

Fixes 

* Initialize vet analyzers as unexportd global vars.

Fixes 

* Support testing Go 1.14beta1.

* ci: reset go.mod and go.sum before generated diff check

* Update to latest x/tools (2020/02/04)

Co-authored-by: Aleksandr Razumov <ar@gortc.io>
2020-02-05 01:11:14 +03:00
Trevor Pounds
7a95e5ad30
Fix misspelled words. () 2020-02-02 16:29:57 -05:00
Isaev Denis
6237e59c97
dev: use goprintffuncname, gomnd and rowserrcheck ()
Order linters in config in alphabetical order.
Support gomnd configuration.
2020-01-19 19:55:29 +03:00
Isaev Denis
5f1096cf80
add goprintffuncname linter () 2020-01-19 16:46:51 +03:00
gaojingyu
e93138f00f Add rows.Err weather checked linter ()
Add rowserrcheck

Co-authored-by: Isaev Denis <idenx@yandex.com>
2020-01-08 14:08:16 +03:00
Hiroki Suezawa
7368dd3604 Update gosec and add column
Signed-off-by: Hiroki Suezawa <suezawa@gmail.com>
2020-01-04 17:08:51 -05:00
Trevor Pounds
60c55133a6 Fix import order. 2019-12-30 09:05:39 -05:00
Chris Koch
7a58a86d38 unused: suggest deleting unused stuff
Signed-off-by: Chris Koch <chrisko@google.com>
2019-12-29 17:47:50 -05:00
Tommy Mühle
d9363991ed Update pkg/golinters/gomnd.go
Co-Authored-By: Simon Sawert <simon@sawert.se>
2019-12-05 07:55:04 -05:00
Tommy Mühle
704f9efede Update gomnd.go 2019-12-05 07:55:04 -05:00
sayboras
ca432c464a Addressed naming convention () 2019-11-16 09:33:46 -05:00
sayboras
bd2921655a Added go-mnd linter ()
* Initial commit

* Fixed goimports

* Update pkg/golinters/mnd.go

Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com>

* Run goimports

* Update pkg/golinters/mnd.go

Co-Authored-By: Bot from GolangCI <42910462+golangcibot@users.noreply.github.com>

* Add prefix for goimport local

* Run make README.md

* Incorporate review comments
Add test cases

* Update readme

* Update the description

* Removed subpath in local-prefixes

* Update readme
2019-11-15 19:08:43 -05:00
Simon Sawert
0e5b7a04d5 Bump wsl to v2.0.0 2019-11-15 18:55:54 -05:00
Simon Sawert
8c1e2f004e Revert "Bump wsl to v1.2.7"
This reverts commit 14ebae29060f7c7be67d31a559986aa8afe7cbb0.
2019-11-15 18:55:54 -05:00
Simon Sawert
14ebae2906 Bump wsl to v1.2.7 2019-11-10 19:07:16 -05:00
Simon Sawert
22df2d739f Update WSL to v1.2.5 ()
* Update WSL to v1.2.4

* Fix false positive multiline case
* Fix false positive slice expression
* Fix false positive index expression
* Support to configure/allow cuddle declarations
* Support to configurre/allow case blocks to end with whitespace
* Support cuddle defer http body close

* Re-generate README.md

* Update WSL to v1.2.5

* Support output comments for example functions

* Fix bad field tag for config
2019-10-14 22:50:34 +03:00
Isaev Denis
48599c64ba
Make fine-grained hashing. ()
Speed up golint: don't typecheck packages twice.
Relates: 
2019-10-14 09:50:57 +03:00
Isaev Denis
6e00f51fc1
Save issues into cache in parallel ()
Fix 
2019-10-13 20:09:58 +03:00
Isaev Denis
9ba730e989
Make incremental analysis ()
Cache linting results. Reanalyze only changed packages
and packages tree depending on them.

Fixes , fixes 
2019-10-13 17:40:51 +03:00
Simon Sawert
d4b4ad8dfe Update WSL to v1.2.1 ()
* Update WSL to v1.2.1

* Add new tests for fixed false positives, don't derive defaults from WSL
2019-10-07 21:22:44 -04:00
Simon Sawert
3e09174bd2 Add WSL linter ()
* Add WSL linter

* Use v1.0.0 tag for wsl

* Don't add specific test file skip, use mutex to add errors

* Fix goimports error

* Add more tests for WSL, bump WSL version

* Fix bad go.sum (go mod tidy)
2019-10-04 16:03:40 -04:00
NiseVoid
fbbd24575f Update whitespace to v0.0.4 () 2019-10-04 15:12:07 +03:00
Trevor Pounds
fd997edeeb Cleanup nolint directives. () 2019-10-03 19:34:19 +03:00
Ian Howell
39d7929d61 Improve the error output from goimports
This causes goimports to provide additional information if the
"local-prefixes" option has been set.
2019-10-03 10:00:34 -04:00
Nuruddin Ashr
92ec1a1f4c Add gocognit linter ()
* Add gocognit linter

* Remove gocognit to the golangci config

* Make changes on README.md

* Remove gocognit from megacheck benchtest

* Remove command line flags

* Comply with new style
2019-10-03 16:22:06 +03:00
Trevor Pounds
6d786b50ae Group imports by package. 2019-10-01 18:09:47 -04:00
Isaev Denis
df4f6766ba
reduce 1.5x memory usage on large repos on repeated runs ()
Get rid of AST cache: load AST when needed. Optimize memory allocations
for go/analysis actions.

Relates: 
2019-10-01 14:52:00 +03:00
Trevor Pounds
ea417ffa0b Fix incorrect description. 2019-09-30 17:28:43 -04:00
Isaev Denis
95ec0cf21e
dramatically reduce memory usage ()
Run all linters per package. It allows unloading package data when it's
processed. It dramatically reduces memory (and CPU because of GC) usage.

Relates: 
2019-09-30 16:19:41 +03:00
Aleksandr Razumov
fe494af887 govet: skip internal analyzers ()
Some analyzers are not intended for direct usage and are
just build blocks for other analyzers.
Seems like we can distinguish them by ResultType nillness.
2019-09-30 16:04:06 +03:00
Aleksandr Razumov
7e09842e2b govet: add more analyzers 2019-09-29 12:00:35 -04:00
Isaev Denis
2cadaf5beb
dev: enable whitespace, dogsled, funlen on the repo () 2019-09-25 18:08:28 +03:00
Trevor Pounds
a16b4d872b Use stretchr/testify to mock log.
Simplifies test log usage and removes additional
targets and dependencies to go:generate mocks.
2019-09-24 11:58:40 -04:00
Denis Isaev
2fc8b7b788 Drop memory usage of go/analysis linters 5x
Set analysis pass results to nil early to garbage collect them
soon.
Memory can be reduced for the following linters:
  - staticcheck
  - stylecheck
  - gosimple
  - govet
  - bodyclose
  - any future go/analysis linter

Relates: , , , , , , 
2019-09-23 21:58:47 +03:00
NiseVoid
9976bdcc5e Update whitespace 2019-09-23 12:16:06 -04:00
Denis Isaev
3aade55e05 Reduce memory usage of go/analysis 2019-09-23 09:52:54 +03:00
Trevor Pounds
92168d033d Add dogsled linter. () 2019-09-17 08:44:53 +03:00
Isaev Denis
6a979fb40d
Update staticcheck and cache go/analysis facts ()
* update staticcheck

Don't fork staticcheck: use the upstream version.
Remove unneeded SSA loading.

* Cache go/analysis facts

Don't load unneeded packages for go/analysis.
Repeated run of go/analysis linters now 10x faster
(2s vs 20s on this repo) than before.
2019-09-17 08:42:16 +03:00
Aleksandr Razumov
f3f5dfc3eb govet: implement analyzers config () 2019-09-16 00:15:08 +03:00