Update resultVersion 3 to report all issues on a line; update MD010/no-hard-tabs to log all issues.

This commit is contained in:
David Anson 2019-08-21 21:02:09 -07:00
parent cdd87e647f
commit 679c83e23b
3 changed files with 140 additions and 7 deletions

View file

@ -2,10 +2,10 @@
"use strict";
const { addError, forEachLine, rangeFromRegExp } = require("../helpers");
const { addError, forEachLine } = require("../helpers");
const { lineMetadata } = require("./cache");
const tabRe = /\t+/;
const tabRe = /\t+/g;
module.exports = {
"names": [ "MD010", "no-hard-tabs" ],
@ -15,9 +15,17 @@ module.exports = {
const codeBlocks = params.config.code_blocks;
const includeCodeBlocks = (codeBlocks === undefined) ? true : !!codeBlocks;
forEachLine(lineMetadata(), (line, lineIndex, inCode) => {
if (tabRe.test(line) && (!inCode || includeCodeBlocks)) {
addError(onError, lineIndex + 1, "Column: " + (line.indexOf("\t") + 1),
null, rangeFromRegExp(line, tabRe));
if (!inCode || includeCodeBlocks) {
let match = null;
while ((match = tabRe.exec(line)) !== null) {
const column = match.index + 1;
addError(
onError,
lineIndex + 1,
"Column: " + column,
null,
[ column, match[0].length ]);
}
}
});
}