From fa0782d729234fa79256e9da165bf24f64bbef54 Mon Sep 17 00:00:00 2001 From: David Anson Date: Sun, 12 Jun 2022 18:00:37 -0700 Subject: [PATCH] Use '\0' instead of ']' to allow end-of-block detection for single-line RegExp in getReferenceLinkImageData. --- demo/markdownlint-browser.js | 6 +++--- helpers/helpers.js | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/demo/markdownlint-browser.js b/demo/markdownlint-browser.js index 0a0b5611..341ed59e 100644 --- a/demo/markdownlint-browser.js +++ b/demo/markdownlint-browser.js @@ -53,7 +53,7 @@ module.exports.orderedListItemMarkerRe = /^[\s>]*0*(\d+)[.)]/; // Regular expression for all instances of emphasis markers const emphasisMarkersRe = /[_*]/g; // Regular expression for reference links (full and collapsed but not shortcut) -const referenceLinkRe = /!?\\?\[((?:\[[^\]]*]|[^\]])*)](?:(?:\[([^\]]*)\])|[^(]|$)/g; +const referenceLinkRe = /!?\\?\[((?:\[[^\]\0]*]|[^\]\0])*)](?:(?:\[([^\]\0]*)\])|[^(]|$)/g; // Regular expression for link reference definitions const linkReferenceDefinitionRe = /^ {0,3}\[([^\]]*[^\\])]:/; module.exports.linkReferenceDefinitionRe = linkReferenceDefinitionRe; @@ -809,8 +809,8 @@ function getReferenceLinkImageData(params, lineMetadata) { lineOffsets[lineIndex] = currentOffset; if (!inCode) { if (line.trim().length === 0) { - // Close any unclosed brackets at the end of a block - line = "]"; + // Allow RegExp to detect the end of a block + line = "\0"; } contentLines.push(line); currentOffset += line.length + 1; diff --git a/helpers/helpers.js b/helpers/helpers.js index 79a8fa4a..8c8e1b7e 100644 --- a/helpers/helpers.js +++ b/helpers/helpers.js @@ -32,7 +32,7 @@ const emphasisMarkersRe = /[_*]/g; // Regular expression for reference links (full and collapsed but not shortcut) const referenceLinkRe = - /!?\\?\[((?:\[[^\]]*]|[^\]])*)](?:(?:\[([^\]]*)\])|[^(]|$)/g; + /!?\\?\[((?:\[[^\]\0]*]|[^\]\0])*)](?:(?:\[([^\]\0]*)\])|[^(]|$)/g; // Regular expression for link reference definitions const linkReferenceDefinitionRe = /^ {0,3}\[([^\]]*[^\\])]:/; @@ -831,8 +831,8 @@ function getReferenceLinkImageData(params, lineMetadata) { lineOffsets[lineIndex] = currentOffset; if (!inCode) { if (line.trim().length === 0) { - // Close any unclosed brackets at the end of a block - line = "]"; + // Allow RegExp to detect the end of a block + line = "\0"; } contentLines.push(line); currentOffset += line.length + 1;