Reimplement MD005/list-indent using micromark tokens, improve range reporting.

This commit is contained in:
David Anson 2023-10-12 21:43:31 -07:00
parent bfb484b513
commit 9297bcde1c
5 changed files with 271 additions and 77 deletions

View file

@ -83,37 +83,37 @@ Text
> Text
>
> > - Item {MD004}
> > - Item {MD004} {MD027}
> > - Item {MD004}
> > - Item {MD004} {MD005} {MD027}
> > - Item {MD004} {MD005}
> >
> > > - Item {MD004}
> > > - Item {MD004} {MD027}
> > > - Item {MD004} {MD027}
> > > - Item {MD004} {MD005} {MD027}
> > > - Item {MD004} {MD005} {MD027}
Text
> Text
> > - Item {MD004} {MD032}
> > - Item {MD004} {MD027}
> > - Item {MD004} {MD032}
> > - Item {MD004} {MD005} {MD027}
> > - Item {MD004} {MD005} {MD032}
> > > - Item {MD004} {MD032}
> > > - Item {MD004} {MD027}
> > > - Item {MD004} {MD027}
> > > - Item {MD004} {MD005} {MD027}
> > > - Item {MD004} {MD005} {MD027}
Text
>+ Item
> + Item
> + Item {MD005}
>>
>>+ Item
>> + Item
>> + Item {MD005}
Text
>+ Item
> + Item {MD032}
> + Item {MD005} {MD032}
>>+ Item {MD032}
>> + Item
>> + Item {MD005}
Text

View file

@ -28764,7 +28764,7 @@ Generated by [AVA](https://avajs.dev).
},
{
errorContext: null,
errorDetail: 'Expected: 2; Actual: 3',
errorDetail: 'Expected: 7; Actual: 8',
errorRange: [
1,
10,
@ -28780,7 +28780,7 @@ Generated by [AVA](https://avajs.dev).
},
{
errorContext: null,
errorDetail: 'Expected: 0; Actual: 1',
errorDetail: 'Expected: 5; Actual: 6',
errorRange: [
1,
8,
@ -28796,7 +28796,7 @@ Generated by [AVA](https://avajs.dev).
},
{
errorContext: null,
errorDetail: 'Expected: 4; Actual: 5',
errorDetail: 'Expected: 9; Actual: 10',
errorRange: [
1,
12,
@ -28812,7 +28812,7 @@ Generated by [AVA](https://avajs.dev).
},
{
errorContext: null,
errorDetail: 'Expected: 2; Actual: 3',
errorDetail: 'Expected: 8; Actual: 9',
errorRange: [
1,
11,
@ -28828,7 +28828,199 @@ Generated by [AVA](https://avajs.dev).
},
{
errorContext: null,
errorDetail: 'Expected: 0; Actual: 1',
errorDetail: 'Expected: 6; Actual: 7',
errorRange: [
1,
9,
],
fixInfo: null,
lineNumber: 86,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 6; Actual: 7',
errorRange: [
1,
9,
],
fixInfo: null,
lineNumber: 87,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 8; Actual: 9',
errorRange: [
1,
11,
],
fixInfo: null,
lineNumber: 90,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 8; Actual: 9',
errorRange: [
1,
11,
],
fixInfo: null,
lineNumber: 91,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 6; Actual: 7',
errorRange: [
1,
9,
],
fixInfo: null,
lineNumber: 97,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 6; Actual: 7',
errorRange: [
1,
9,
],
fixInfo: null,
lineNumber: 98,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 8; Actual: 9',
errorRange: [
1,
11,
],
fixInfo: null,
lineNumber: 100,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 8; Actual: 9',
errorRange: [
1,
11,
],
fixInfo: null,
lineNumber: 101,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 1; Actual: 2',
errorRange: [
1,
4,
],
fixInfo: null,
lineNumber: 106,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 2; Actual: 3',
errorRange: [
1,
5,
],
fixInfo: null,
lineNumber: 109,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 1; Actual: 2',
errorRange: [
1,
4,
],
fixInfo: null,
lineNumber: 114,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 2; Actual: 3',
errorRange: [
1,
5,
],
fixInfo: null,
lineNumber: 116,
ruleDescription: 'Inconsistent indentation for list items at the same level',
ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
ruleNames: [
'MD005',
'list-indent',
],
},
{
errorContext: null,
errorDetail: 'Expected: 4; Actual: 5',
errorRange: [
1,
7,
@ -28844,7 +29036,7 @@ Generated by [AVA](https://avajs.dev).
},
{
errorContext: null,
errorDetail: 'Expected: 2; Actual: 3',
errorDetail: 'Expected: 6; Actual: 7',
errorRange: [
1,
9,
@ -28979,7 +29171,7 @@ Generated by [AVA](https://avajs.dev).
],
},
{
errorContext: ' > > - Item {MD004} {MD027}',
errorContext: ' > > - Item {MD004} {MD005} ...',
errorDetail: null,
errorRange: [
1,
@ -28998,7 +29190,7 @@ Generated by [AVA](https://avajs.dev).
],
},
{
errorContext: ' > > > - Item {MD004} {MD027...',
errorContext: ' > > > - Item {MD004} {MD005...',
errorDetail: null,
errorRange: [
1,
@ -29017,7 +29209,7 @@ Generated by [AVA](https://avajs.dev).
],
},
{
errorContext: ' > > > - Item {MD004} {MD027...',
errorContext: ' > > > - Item {MD004} {MD005...',
errorDetail: null,
errorRange: [
1,
@ -29036,7 +29228,7 @@ Generated by [AVA](https://avajs.dev).
],
},
{
errorContext: ' > > - Item {MD004} {MD027}',
errorContext: ' > > - Item {MD004} {MD005} ...',
errorDetail: null,
errorRange: [
1,
@ -29055,7 +29247,7 @@ Generated by [AVA](https://avajs.dev).
],
},
{
errorContext: ' > > > - Item {MD004} {MD027...',
errorContext: ' > > > - Item {MD004} {MD005...',
errorDetail: null,
errorRange: [
1,
@ -29074,7 +29266,7 @@ Generated by [AVA](https://avajs.dev).
],
},
{
errorContext: ' > > > - Item {MD004} {MD027...',
errorContext: ' > > > - Item {MD004} {MD005...',
errorDetail: null,
errorRange: [
1,
@ -29242,7 +29434,7 @@ Generated by [AVA](https://avajs.dev).
],
},
{
errorContext: '> > - Item {MD004} {MD032}',
errorContext: '> > - Item {MD004} {MD005} {MD...',
errorDetail: null,
errorRange: null,
fixInfo: {
@ -29275,7 +29467,7 @@ Generated by [AVA](https://avajs.dev).
],
},
{
errorContext: '> + Item {MD032}',
errorContext: '> + Item {MD005} {MD032}',
errorDetail: null,
errorRange: null,
fixInfo: {
@ -29395,40 +29587,40 @@ Generated by [AVA](https://avajs.dev).
> Text␊
>␊
> > + Item {MD004}␊
> > + Item {MD004} {MD027}␊
> > + Item {MD004}␊
> > + Item {MD004} {MD005} {MD027}␊
> > + Item {MD004} {MD005}
> >␊
> > > + Item {MD004}␊
> > > + Item {MD004} {MD027}␊
> > > + Item {MD004} {MD027}␊
> > > + Item {MD004} {MD005} {MD027}␊
> > > + Item {MD004} {MD005} {MD027}␊
Text␊
> Text␊
> >␊
> > + Item {MD004} {MD032}␊
> > + Item {MD004} {MD027}␊
> > + Item {MD004} {MD032}␊
> > + Item {MD004} {MD005} {MD027}␊
> > + Item {MD004} {MD005} {MD032}␊
> > >␊
> > > + Item {MD004} {MD032}␊
> > > + Item {MD004} {MD027}␊
> > > + Item {MD004} {MD027}␊
> > > + Item {MD004} {MD005} {MD027}␊
> > > + Item {MD004} {MD005} {MD027}␊
Text␊
>+ Item␊
> + Item␊
> + Item {MD005}
>>␊
>>+ Item␊
>> + Item␊
>> + Item {MD005}
Text␊
>+ Item␊
> + Item {MD032}␊
> + Item {MD005} {MD032}␊
>>␊
>>+ Item {MD032}␊
>> + Item␊
>> + Item {MD005}
Text␊