Skip to content

Commit 62668d4

Browse files
authored
revive: improve 'exported' rule output. (#1994)
1 parent f900232 commit 62668d4

File tree

1 file changed

+24
-15
lines changed

1 file changed

+24
-15
lines changed

Diff for: pkg/golinters/revive.go

+24-15
Original file line numberDiff line numberDiff line change
@@ -112,21 +112,7 @@ func NewRevive(cfg *config.ReviveSettings) *goanalysis.Linter {
112112
}
113113

114114
for i := range results {
115-
issues = append(issues, goanalysis.NewIssue(&result.Issue{
116-
Severity: string(results[i].Severity),
117-
Text: fmt.Sprintf("%s: %s", results[i].RuleName, results[i].Failure.Failure),
118-
Pos: token.Position{
119-
Filename: results[i].Position.Start.Filename,
120-
Line: results[i].Position.Start.Line,
121-
Offset: results[i].Position.Start.Offset,
122-
Column: results[i].Position.Start.Column,
123-
},
124-
LineRange: &result.Range{
125-
From: results[i].Position.Start.Line,
126-
To: results[i].Position.End.Line,
127-
},
128-
FromLinter: reviveName,
129-
}, pass))
115+
issues = append(issues, reviveToIssue(pass, &results[i]))
130116
}
131117

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

125+
func reviveToIssue(pass *analysis.Pass, object *jsonObject) goanalysis.Issue {
126+
lineRangeTo := object.Position.End.Line
127+
if object.RuleName == (&rule.ExportedRule{}).Name() {
128+
lineRangeTo = object.Position.Start.Line
129+
}
130+
131+
return goanalysis.NewIssue(&result.Issue{
132+
Severity: string(object.Severity),
133+
Text: fmt.Sprintf("%s: %s", object.RuleName, object.Failure.Failure),
134+
Pos: token.Position{
135+
Filename: object.Position.Start.Filename,
136+
Line: object.Position.Start.Line,
137+
Offset: object.Position.Start.Offset,
138+
Column: object.Position.Start.Column,
139+
},
140+
LineRange: &result.Range{
141+
From: object.Position.Start.Line,
142+
To: lineRangeTo,
143+
},
144+
FromLinter: reviveName,
145+
}, pass)
146+
}
147+
139148
// This function mimics the GetConfig function of revive.
140149
// This allow to get default values and right types.
141150
// https://github.com/golangci/golangci-lint/issues/1745

0 commit comments

Comments
 (0)