mirror of
https://github.com/mgechev/revive.git
synced 2025-11-23 22:04:49 +02:00
Add default formatter
This commit is contained in:
11
lint/file.go
11
lint/file.go
@@ -92,11 +92,12 @@ func (f *File) isMain() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (f *File) lint(rules []Rule, rulesConfig RulesConfig, failures chan Failure) {
|
||||
func (f *File) lint(rules []Rule, config Config, failures chan Failure) {
|
||||
rulesConfig := config.Rules
|
||||
disabledIntervals := f.disabledIntervals(rules)
|
||||
for _, currentRule := range rules {
|
||||
config := rulesConfig[currentRule.Name()]
|
||||
currentFailures := currentRule.Apply(f, config.Arguments)
|
||||
ruleConfig := rulesConfig[currentRule.Name()]
|
||||
currentFailures := currentRule.Apply(f, ruleConfig.Arguments)
|
||||
for idx, failure := range currentFailures {
|
||||
if failure.RuleName == "" {
|
||||
failure.RuleName = currentRule.Name()
|
||||
@@ -108,7 +109,9 @@ func (f *File) lint(rules []Rule, rulesConfig RulesConfig, failures chan Failure
|
||||
}
|
||||
currentFailures = f.filterFailures(currentFailures, disabledIntervals)
|
||||
for _, failure := range currentFailures {
|
||||
failures <- failure
|
||||
if failure.Confidence >= config.Confidence {
|
||||
failures <- failure
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,6 @@ package lint
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"go/token"
|
||||
)
|
||||
|
||||
@@ -43,13 +42,11 @@ func isGenerated(src []byte) bool {
|
||||
|
||||
// Lint lints a set of files with the specified rule.
|
||||
func (l *Linter) Lint(filenames []string, ruleSet []Rule, config Config) (<-chan Failure, error) {
|
||||
rulesConfig := config.Rules
|
||||
failures := make(chan Failure)
|
||||
pkg := &Package{
|
||||
fset: token.NewFileSet(),
|
||||
files: map[string]*File{},
|
||||
}
|
||||
var pkgName string
|
||||
for _, filename := range filenames {
|
||||
content, err := l.reader(filename)
|
||||
if err != nil {
|
||||
@@ -64,17 +61,11 @@ func (l *Linter) Lint(filenames []string, ruleSet []Rule, config Config) (<-chan
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if pkgName == "" {
|
||||
pkgName = file.AST.Name.Name
|
||||
} else if file.AST.Name.Name != pkgName {
|
||||
return nil, fmt.Errorf("%s is in package %s, not %s", filename, file.AST.Name.Name, pkgName)
|
||||
}
|
||||
|
||||
pkg.files[filename] = file
|
||||
}
|
||||
|
||||
go (func() {
|
||||
pkg.lint(ruleSet, rulesConfig, failures)
|
||||
pkg.lint(ruleSet, config, failures)
|
||||
})()
|
||||
|
||||
return failures, nil
|
||||
|
||||
@@ -139,7 +139,7 @@ func receiverType(fn *ast.FuncDecl) string {
|
||||
return "invalid-type"
|
||||
}
|
||||
|
||||
func (p *Package) lint(rules []Rule, config RulesConfig, failures chan Failure) {
|
||||
func (p *Package) lint(rules []Rule, config Config, failures chan Failure) {
|
||||
if len(p.files) == 0 {
|
||||
close(failures)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user