Skip to content

Commit

Permalink
revive: improve 'exported' rule output. (#1994)
Browse files Browse the repository at this point in the history
  • Loading branch information
ldez committed May 19, 2021
1 parent f900232 commit 62668d4
Showing 1 changed file with 24 additions and 15 deletions.
39 changes: 24 additions & 15 deletions pkg/golinters/revive.go
Expand Up @@ -112,21 +112,7 @@ func NewRevive(cfg *config.ReviveSettings) *goanalysis.Linter {
}

for i := range results {
issues = append(issues, goanalysis.NewIssue(&result.Issue{
Severity: string(results[i].Severity),
Text: fmt.Sprintf("%s: %s", results[i].RuleName, results[i].Failure.Failure),
Pos: token.Position{
Filename: results[i].Position.Start.Filename,
Line: results[i].Position.Start.Line,
Offset: results[i].Position.Start.Offset,
Column: results[i].Position.Start.Column,
},
LineRange: &result.Range{
From: results[i].Position.Start.Line,
To: results[i].Position.End.Line,
},
FromLinter: reviveName,
}, pass))
issues = append(issues, reviveToIssue(pass, &results[i]))
}

return nil, nil
Expand All @@ -136,6 +122,29 @@ func NewRevive(cfg *config.ReviveSettings) *goanalysis.Linter {
}).WithLoadMode(goanalysis.LoadModeSyntax)
}

func reviveToIssue(pass *analysis.Pass, object *jsonObject) goanalysis.Issue {
lineRangeTo := object.Position.End.Line
if object.RuleName == (&rule.ExportedRule{}).Name() {
lineRangeTo = object.Position.Start.Line
}

return goanalysis.NewIssue(&result.Issue{
Severity: string(object.Severity),
Text: fmt.Sprintf("%s: %s", object.RuleName, object.Failure.Failure),
Pos: token.Position{
Filename: object.Position.Start.Filename,
Line: object.Position.Start.Line,
Offset: object.Position.Start.Offset,
Column: object.Position.Start.Column,
},
LineRange: &result.Range{
From: object.Position.Start.Line,
To: lineRangeTo,
},
FromLinter: reviveName,
}, pass)
}

// This function mimics the GetConfig function of revive.
// This allow to get default values and right types.
// https://github.com/golangci/golangci-lint/issues/1745
Expand Down

0 comments on commit 62668d4

Please sign in to comment.