mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 14:00:13 +01:00
Update MD043 to fix required header checks in middle and last when using special char "*" (#396)
This commit is contained in:
parent
9122b8d935
commit
c6d95cb904
8 changed files with 90 additions and 6 deletions
|
|
@ -3703,8 +3703,11 @@ module.exports = {
|
|||
var actual = levels_1[heading.tag] + " " + content;
|
||||
var expected = getExpected_1();
|
||||
if (expected === "*") {
|
||||
matchAny_1 = true;
|
||||
getExpected_1();
|
||||
var nextExpected = getExpected_1();
|
||||
if (nextExpected.toLowerCase() !== actual.toLowerCase()) {
|
||||
matchAny_1 = true;
|
||||
i_1--;
|
||||
}
|
||||
}
|
||||
else if (expected === "+") {
|
||||
matchAny_1 = true;
|
||||
|
|
@ -3721,8 +3724,10 @@ module.exports = {
|
|||
}
|
||||
}
|
||||
});
|
||||
var extraHeadings = requiredHeadings.length - i_1;
|
||||
if (!hasError_1 &&
|
||||
(i_1 < requiredHeadings.length) &&
|
||||
((extraHeadings > 1) ||
|
||||
((extraHeadings === 1) && (requiredHeadings[i_1] !== "*"))) &&
|
||||
(anyHeadings_1 || !requiredHeadings.every(function (heading) { return heading === "*"; }))) {
|
||||
addErrorContext(onError, params.lines.length, requiredHeadings[i_1]);
|
||||
}
|
||||
|
|
|
|||
11
lib/md043.js
11
lib/md043.js
|
|
@ -28,8 +28,11 @@ module.exports = {
|
|||
const actual = levels[heading.tag] + " " + content;
|
||||
const expected = getExpected();
|
||||
if (expected === "*") {
|
||||
matchAny = true;
|
||||
getExpected();
|
||||
const nextExpected = getExpected();
|
||||
if (nextExpected.toLowerCase() !== actual.toLowerCase()) {
|
||||
matchAny = true;
|
||||
i--;
|
||||
}
|
||||
} else if (expected === "+") {
|
||||
matchAny = true;
|
||||
} else if (expected.toLowerCase() === actual.toLowerCase()) {
|
||||
|
|
@ -43,9 +46,11 @@ module.exports = {
|
|||
}
|
||||
}
|
||||
});
|
||||
const extraHeadings = requiredHeadings.length - i;
|
||||
if (
|
||||
!hasError &&
|
||||
(i < requiredHeadings.length) &&
|
||||
((extraHeadings > 1) ||
|
||||
((extraHeadings === 1) && (requiredHeadings[i] !== "*"))) &&
|
||||
(anyHeadings || !requiredHeadings.every((heading) => heading === "*"))
|
||||
) {
|
||||
addErrorContext(onError, params.lines.length,
|
||||
|
|
|
|||
14
test/required-headings-missing-last-zero-or-more.json
Normal file
14
test/required-headings-missing-last-zero-or-more.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"default": true,
|
||||
"MD043": {
|
||||
"headings": [
|
||||
"# One",
|
||||
"*",
|
||||
"### Three",
|
||||
"*",
|
||||
"### Five",
|
||||
"*",
|
||||
"#### FOO"
|
||||
]
|
||||
}
|
||||
}
|
||||
15
test/required-headings-missing-last-zero-or-more.md
Normal file
15
test/required-headings-missing-last-zero-or-more.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# One
|
||||
|
||||
## Two
|
||||
|
||||
### THREE
|
||||
|
||||
## four
|
||||
|
||||
## Five
|
||||
|
||||
### SiX
|
||||
|
||||
#### FOO
|
||||
|
||||
{MD043:16}
|
||||
14
test/required-headings-missing-middle-zero-or-more.json
Normal file
14
test/required-headings-missing-middle-zero-or-more.json
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"default": true,
|
||||
"MD043": {
|
||||
"headings": [
|
||||
"# One",
|
||||
"*",
|
||||
"### Three",
|
||||
"*",
|
||||
"### FOO",
|
||||
"*",
|
||||
"#### 7"
|
||||
]
|
||||
}
|
||||
}
|
||||
15
test/required-headings-missing-middle-zero-or-more.md
Normal file
15
test/required-headings-missing-middle-zero-or-more.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# One
|
||||
|
||||
## Two
|
||||
|
||||
### THREE
|
||||
|
||||
## four
|
||||
|
||||
## Five
|
||||
|
||||
### SiX
|
||||
|
||||
#### 7
|
||||
|
||||
{MD043:16}
|
||||
11
test/required-headings-zero-or-more-last.json
Normal file
11
test/required-headings-zero-or-more-last.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"default": true,
|
||||
"MD043": {
|
||||
"headings": [
|
||||
"# One",
|
||||
"## Two",
|
||||
"### Three",
|
||||
"*"
|
||||
]
|
||||
}
|
||||
}
|
||||
5
test/required-headings-zero-or-more-last.md
Normal file
5
test/required-headings-zero-or-more-last.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# One
|
||||
|
||||
## Two
|
||||
|
||||
### THREE
|
||||
Loading…
Add table
Add a link
Reference in a new issue