Skip to content
This repository was archived by the owner on Mar 27, 2025. It is now read-only.

Commit 364ba15

Browse files
committed
after debugging we need another approach
1 parent 9e517be commit 364ba15

File tree

2 files changed

+5
-16
lines changed

2 files changed

+5
-16
lines changed

base.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,15 +105,18 @@ func (pd *ParseData) AddError(pos int, msg string, baseErr error) {
105105

106106
// CleanFeedback returns parser errors as a single error and
107107
// additional feedback.
108-
func (pd *ParseData) CleanFeedback() {
108+
func (pd *ParseData) CleanFeedback(cleanEnd bool) {
109109
if pd.Result.HasError() || len(pd.Result.Feedback) == 0 { // in error case we need all information
110110
return
111111
}
112112
start := pd.Result.Pos
113113
end := start + len(pd.Result.Text) // clean until here
114+
if !cleanEnd {
115+
end--
116+
}
114117
cleanFeedback := make([]*FeedbackItem, 0, len(pd.Result.Feedback))
115118
for _, fb := range pd.Result.Feedback {
116-
if fb.Kind != FeedbackPotentialProblem || fb.Pos < start || fb.Pos >= end {
119+
if fb.Kind != FeedbackPotentialProblem || fb.Pos < start || fb.Pos > end {
117120
cleanFeedback = append(cleanFeedback, fb)
118121
}
119122
}

simple_parser.go

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -169,23 +169,9 @@ func ParseEOF(
169169
)
170170
} else {
171171
createMatchedResult(pd, 0)
172-
cleanEOFFeedback(pd.Result)
173172
}
174173
return handleSemantics(pluginSemantics, pd, ctx)
175174
}
176-
func cleanEOFFeedback(pr *ParseResult) {
177-
if pr.HasError() || len(pr.Feedback) == 0 { // in error case we need all information
178-
return
179-
}
180-
pos := pr.Pos
181-
cleanFeedback := make([]*FeedbackItem, 0, len(pr.Feedback))
182-
for _, fb := range pr.Feedback {
183-
if fb.Kind != FeedbackPotentialProblem || fb.Pos != pos {
184-
cleanFeedback = append(cleanFeedback, fb)
185-
}
186-
}
187-
pr.Feedback = cleanFeedback
188-
}
189175

190176
// NewParseEOFPlugin creates a plugin sporting an EOF parser.
191177
func NewParseEOFPlugin(pluginSemantics SemanticsOp) SubparserOp {

0 commit comments

Comments
 (0)