From c99ced2a7d39e3e591da2ff20f6ef4b6239f1ea1 Mon Sep 17 00:00:00 2001 From: David Anson Date: Sun, 22 Aug 2021 15:28:28 -0700 Subject: [PATCH] Update MD037/no-space-in-emphasis to ignore emphasis on code fences and not report violations for scenarios that span an empty code fence (fixes #381). --- demo/markdownlint-browser.js | 12 ++++++++++-- lib/md037.js | 16 ++++++++++++++-- ...ces-inside-emphasis-markers-multiple-lines.md | 7 +++++++ test/spaces_inside_emphasis_markers.md | 4 ++++ 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/demo/markdownlint-browser.js b/demo/markdownlint-browser.js index 3560c174..8ba6e018 100644 --- a/demo/markdownlint-browser.js +++ b/demo/markdownlint-browser.js @@ -3412,11 +3412,19 @@ module.exports = { resetRunTracking(); forEachLine(lineMetadata(), function (line, lineIndex, inCode, onFence, inTable, inItem, onBreak, inMath) { var onItemStart = (inItem === 1); - if (inCode || inTable || onBreak || onItemStart || isBlankLine(line)) { + if (inCode || + onFence || + inTable || + onBreak || + onItemStart || + isBlankLine(line)) { // Emphasis resets when leaving a block resetRunTracking(); } - if (inCode || onBreak || inMath) { + if (inCode || + onFence || + onBreak || + inMath) { // Emphasis has no meaning here return; } diff --git a/lib/md037.js b/lib/md037.js index 5d34afbf..14c5c032 100644 --- a/lib/md037.js +++ b/lib/md037.js @@ -78,11 +78,23 @@ module.exports = { lineMetadata(), (line, lineIndex, inCode, onFence, inTable, inItem, onBreak, inMath) => { const onItemStart = (inItem === 1); - if (inCode || inTable || onBreak || onItemStart || isBlankLine(line)) { + if ( + inCode || + onFence || + inTable || + onBreak || + onItemStart || + isBlankLine(line) + ) { // Emphasis resets when leaving a block resetRunTracking(); } - if (inCode || onBreak || inMath) { + if ( + inCode || + onFence || + onBreak || + inMath + ) { // Emphasis has no meaning here return; } diff --git a/test/spaces-inside-emphasis-markers-multiple-lines.md b/test/spaces-inside-emphasis-markers-multiple-lines.md index 4616ff55..18e43b1b 100644 --- a/test/spaces-inside-emphasis-markers-multiple-lines.md +++ b/test/spaces-inside-emphasis-markers-multiple-lines.md @@ -120,3 +120,10 @@ multi-line emphasis scenario * that should * not trigger violations * either`. + + +*text +```text +``` +text * + diff --git a/test/spaces_inside_emphasis_markers.md b/test/spaces_inside_emphasis_markers.md index 237c15ad..6735a2c3 100644 --- a/test/spaces_inside_emphasis_markers.md +++ b/test/spaces_inside_emphasis_markers.md @@ -341,3 +341,7 @@ text [reference*link] star * star text | x** y | x** y | | x _ y | x _ y | | x__ y | x__ y | + +```yaml /* autogenerated */ +# YAML... +```