@@ -112,21 +112,7 @@ func NewRevive(cfg *config.ReviveSettings) *goanalysis.Linter {
112
112
}
113
113
114
114
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 ]))
130
116
}
131
117
132
118
return nil , nil
@@ -136,6 +122,29 @@ func NewRevive(cfg *config.ReviveSettings) *goanalysis.Linter {
136
122
}).WithLoadMode (goanalysis .LoadModeSyntax )
137
123
}
138
124
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
+
139
148
// This function mimics the GetConfig function of revive.
140
149
// This allow to get default values and right types.
141
150
// https://github.com/golangci/golangci-lint/issues/1745
0 commit comments