mirror of
https://github.com/scratchfoundation/golangci-lint.git
synced 2025-08-28 22:28:43 -04:00
Implement auto-fixing for gofmt,goimports,misspell
Also, add more identifier marking patterns.
This commit is contained in:
parent
1eb712544c
commit
d437ac8629
41 changed files with 1251 additions and 184 deletions
|
@ -1,6 +1,7 @@
|
|||
package processors
|
||||
|
||||
import (
|
||||
"github.com/golangci/golangci-lint/pkg/config"
|
||||
"github.com/golangci/golangci-lint/pkg/result"
|
||||
)
|
||||
|
||||
|
@ -8,14 +9,26 @@ type linterToCountMap map[string]int
|
|||
type fileToLinterToCountMap map[string]linterToCountMap
|
||||
|
||||
type MaxPerFileFromLinter struct {
|
||||
flc fileToLinterToCountMap
|
||||
flc fileToLinterToCountMap
|
||||
maxPerFileFromLinterConfig map[string]int
|
||||
}
|
||||
|
||||
var _ Processor = &MaxPerFileFromLinter{}
|
||||
|
||||
func NewMaxPerFileFromLinter() *MaxPerFileFromLinter {
|
||||
func NewMaxPerFileFromLinter(cfg *config.Config) *MaxPerFileFromLinter {
|
||||
maxPerFileFromLinterConfig := map[string]int{
|
||||
"typecheck": 3,
|
||||
}
|
||||
if !cfg.Issues.NeedFix {
|
||||
// if we don't fix we do this limiting to not annoy user;
|
||||
// otherwise we need to fix all issues in the file at once
|
||||
maxPerFileFromLinterConfig["gofmt"] = 1
|
||||
maxPerFileFromLinterConfig["goimports"] = 1
|
||||
}
|
||||
|
||||
return &MaxPerFileFromLinter{
|
||||
flc: fileToLinterToCountMap{},
|
||||
flc: fileToLinterToCountMap{}, //nolint:goimports,gofmt
|
||||
maxPerFileFromLinterConfig: maxPerFileFromLinterConfig,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,15 +36,9 @@ func (p MaxPerFileFromLinter) Name() string {
|
|||
return "max_per_file_from_linter"
|
||||
}
|
||||
|
||||
var maxPerFileFromLinterConfig = map[string]int{
|
||||
"gofmt": 1,
|
||||
"goimports": 1,
|
||||
"typecheck": 3,
|
||||
}
|
||||
|
||||
func (p *MaxPerFileFromLinter) Process(issues []result.Issue) ([]result.Issue, error) {
|
||||
return filterIssues(issues, func(i *result.Issue) bool {
|
||||
limit := maxPerFileFromLinterConfig[i.FromLinter]
|
||||
limit := p.maxPerFileFromLinterConfig[i.FromLinter]
|
||||
if limit == 0 {
|
||||
return true
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue