Update MD032/blanks-around-lists to ignore non-interrupting prefixes (fixes #34).

This commit is contained in:
David Anson 2017-01-15 14:41:58 -08:00
parent d8975282dc
commit 5fa065a7b0
3 changed files with 46 additions and 3 deletions

View file

@ -11,6 +11,7 @@ var dollarCommandRe = /^(\s*)(\$\s)/;
var emptyLinkRe = /\[[^\]]*](?=(?:\((?:#?|(?:<>))\))|(?:\[[^\]]*]))/;
var htmlRe = /<[^>]*>/;
var listItemMarkerRe = /^[\s>]*(?:[*+-]|\d+\.)\s+/;
var listItemMarkerInterruptsRe = /^[\s>]*(?:[*+-]|1\.)\s+/;
var reversedLinkRe = /\([^)]+\)\[[^\]^][^\]]*]/;
var spaceAfterBlockQuote = />\s+\S/;
var spaceBeforeHeaderRe = /^\s+\S/;
@ -774,7 +775,12 @@ module.exports = [
var lineTrim = line.trim();
var listMarker = listItemMarkerRe.test(lineTrim);
if (listMarker && !inList && !blankOrListRe.test(prevLine)) {
errors.addContext(lineIndex + 1, lineTrim);
// Check whether this list prefix can interrupt a paragraph
if (listItemMarkerInterruptsRe.test(lineTrim)) {
errors.addContext(lineIndex + 1, lineTrim);
} else {
listMarker = false;
}
} else if (!listMarker && inList && !blankOrListRe.test(line)) {
errors.addContext(lineIndex, lineTrim);
}