mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-09-22 05:40:48 +02:00
Allow opt-out for list items with blank lines in MD009/no-trailing-spaces (fixes #55).
This commit is contained in:
parent
b436640918
commit
d826833a82
7 changed files with 157 additions and 7 deletions
17
lib/rules.js
17
lib/rules.js
|
@ -353,10 +353,23 @@ module.exports = [
|
|||
"regexp": trailingSpaceRe,
|
||||
"func": function MD009(params, errors) {
|
||||
var brSpaces = params.options.br_spaces || 0;
|
||||
var listItemEmptyLines = params.options.list_item_empty_lines;
|
||||
var allowListItemEmptyLines =
|
||||
(listItemEmptyLines === undefined) ? false : !!listItemEmptyLines;
|
||||
var listItemLineNumbers = [];
|
||||
if (allowListItemEmptyLines) {
|
||||
filterTokens(params, "list_item_open", function forToken(token) {
|
||||
for (var i = token.map[0]; i < token.map[1]; i++) {
|
||||
listItemLineNumbers.push(i + 1);
|
||||
}
|
||||
});
|
||||
}
|
||||
forEachLine(params, function forLine(line, lineIndex) {
|
||||
if (trailingSpaceRe.test(line)) {
|
||||
var lineNumber = lineIndex + 1;
|
||||
if (trailingSpaceRe.test(line) &&
|
||||
(listItemLineNumbers.indexOf(lineNumber) === -1)) {
|
||||
var expected = (brSpaces < 2) ? 0 : brSpaces;
|
||||
errors.addDetailIf(lineIndex + 1,
|
||||
errors.addDetailIf(lineNumber,
|
||||
expected, line.length - line.trimRight().length);
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue