mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 22:10:13 +01:00
Fix possible exceptions due to addError's range/editColumn out of range, update test-extra to use test.serial() for better progress.
This commit is contained in:
parent
e7d3708056
commit
9b5f6a28f9
8 changed files with 19 additions and 18 deletions
|
|
@ -23,8 +23,7 @@ module.exports = {
|
|||
for (const listItemPrefix of listItemPrefixes) {
|
||||
const lineNumber = listItemPrefix.startLine;
|
||||
const actualIndent = listItemPrefix.startColumn - 1;
|
||||
const markerLength = listItemPrefix.text.trim().length;
|
||||
const range = [ 1, listItemPrefix.startColumn + markerLength ];
|
||||
const range = [ 1, listItemPrefix.endColumn - 1 ];
|
||||
if (list.type === "listUnordered") {
|
||||
addErrorDetailIf(
|
||||
onError,
|
||||
|
|
@ -37,7 +36,8 @@ module.exports = {
|
|||
// No fixInfo; MD007 handles this scenario better
|
||||
);
|
||||
} else {
|
||||
const actualEnd = range[1] - 1;
|
||||
const markerLength = listItemPrefix.text.trim().length;
|
||||
const actualEnd = listItemPrefix.startColumn + markerLength - 1;
|
||||
expectedEnd = expectedEnd || actualEnd;
|
||||
if ((expectedIndent !== actualIndent) || endMatching) {
|
||||
if (expectedEnd === actualEnd) {
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ module.exports = {
|
|||
unorderedListTypes
|
||||
);
|
||||
for (const token of tokens) {
|
||||
const { parent, startColumn, startLine, type } = token;
|
||||
const { endColumn, parent, startColumn, startLine, type } = token;
|
||||
if (type === "blockQuotePrefix") {
|
||||
lastBlockQuotePrefix = token;
|
||||
} else if (type === "listUnordered") {
|
||||
|
|
@ -63,7 +63,7 @@ module.exports = {
|
|||
(lastBlockQuotePrefix.endColumn - 1) :
|
||||
0;
|
||||
const actualIndent = startColumn - 1 - blockQuoteAdjustment;
|
||||
const range = [ 1, startColumn + 1 ];
|
||||
const range = [ 1, endColumn - 1 ];
|
||||
const fixInfo = {
|
||||
"editColumn": startColumn - actualIndent,
|
||||
"deleteCount": Math.max(actualIndent - expectedIndent, 0),
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ module.exports = {
|
|||
[ "atxHeadingText", "setextHeadingText" ]
|
||||
);
|
||||
for (const heading of headings) {
|
||||
const { endLine, startColumn, text } = heading;
|
||||
const { endColumn, endLine, text } = heading;
|
||||
const match = trailingPunctuationRe.exec(text);
|
||||
if (
|
||||
match &&
|
||||
|
|
@ -31,8 +31,8 @@ module.exports = {
|
|||
!endOfLineGemojiCodeRe.test(text)
|
||||
) {
|
||||
const fullMatch = match[0];
|
||||
const column = startColumn + match.index;
|
||||
const length = fullMatch.length;
|
||||
const column = endColumn - length;
|
||||
addError(
|
||||
onError,
|
||||
endLine,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue