* Support go workspaces when detecting the go version.
When a module is part of a workspace, a call to `go list -m` lists all
modules in the workspace, and we need to parse multiple modinfos.
* Do not invoke `go list` for every package.
* Add a go language version override config option for golangci-lint.
* Add support for the new behaviour of for loops in go 1.22.
Go 1.22 has changed the behaviour of for loops. Every iteration
makes new loop variables. It is now safe to take their addresses
because they are guaranteed to be unique. Similarly, it is now
safe to capture loop variables in functions.
* adds documentation for public function
---------
Co-authored-by: chavacava <salvadorcavadini+github@gmail.com>
* adds support for comments when enabling/disabling
* adds config flag to require disabling reason
* Update lint/file.go
adds code fmt suggestion by @mgechev
Co-Authored-By: Minko Gechev <mgechev@gmail.com>
* moves regexp compilation out of the function
fix typo in condition
* adds support for comments when enabling/disabling
* skips incomplete directives and generate a failure
* adds _directive_ concept to cope with specify-disable-reason
* adds doc
gofmt
* fixes severity is ignored
This PR introduces a white & black lists of initialisms for the
`var-naming` rule.
Now the rule can be configured with:
```toml
[rule.var-naming]
arguments = [["ID"], ["VM", "BAR"]]
```
This way, the linter will ignore `customId` but will throw on `customVm` or `customBar`.
Fix#41