enhancementgood first issuelow-priority
仓库指标
- 星标
- (351 个星标)
- PR 合并指标
- (PR 指标待抓取)
描述
Some situations report multiple issues for the exact same location. They get reported as independant issues and it is hard to see that th e last three are probably just follow up errors of the first one:
error: Unexpected token: expected DataTypeDefinition but found KeywordAbstract
┌─ test.st:1:30
│
1 │ CLASS TestClass METHOD foo : ABSTRACT END_METHOD END_CLASS
│ ^^^^^^^^ Unexpected token: expected DataTypeDefinition but found KeywordAbstract
error: Unexpected token: expected Datatype but found ABSTRACT
┌─ test.st:1:30
│
1 │ CLASS TestClass METHOD foo : ABSTRACT END_METHOD END_CLASS
│ ^^^^^^^^ Unexpected token: expected Datatype but found ABSTRACT
error: Unexpected token: expected Literal but found ABSTRACT
┌─ test.st:1:30
│
1 │ CLASS TestClass METHOD foo : ABSTRACT END_METHOD END_CLASS
│ ^^^^^^^^ Unexpected token: expected Literal but found ABSTRACT
error: Unexpected token: expected KeywordSemicolon but found 'ABSTRACT'
┌─ test.st:1:30
│
1 │ CLASS TestClass METHOD foo : ABSTRACT END_METHOD END_CLASS
│ ^^^^^^^^ Unexpected token: expected KeywordSemicolon but found 'ABSTRACT'
We should try to group diagnostics by their location before we report them. Something like this:
error: Unexpected token: expected DataTypeDefinition but found KeywordAbstract (+ 3 additional)
┌─ test.st:1:30
│
1 │ CLASS TestClass METHOD foo : ABSTRACT END_METHOD END_CLASS
│ ^^^^^^^^ 1. Unexpected token: expected DataTypeDefinition but found KeywordAbstract
│ 2. Unexpected token: expected Datatype but found ABSTRACT
│ 3. Unexpected token: expected Literal but found ABSTRACT
│ 4. Unexpected token: expected KeywordSemicolon but found ABSTRACT