diff --git a/changelog_unreleased/markdown/16063.md b/changelog_unreleased/markdown/16063.md new file mode 100644 index 000000000..d1b14cc8d --- /dev/null +++ b/changelog_unreleased/markdown/16063.md @@ -0,0 +1,18 @@ +#### Add newline between markdown footnote definitions (#16063 by @Atema) + + +```md + +[^a]: Footnote A + +[^b]: Footnote B + + +[^a]: Footnote A +[^b]: Footnote B + + +[^a]: Footnote A + +[^b]: Footnote B +``` diff --git a/src/language-markdown/printer-markdown.js b/src/language-markdown/printer-markdown.js index 13f2830cf..5db008ba5 100644 --- a/src/language-markdown/printer-markdown.js +++ b/src/language-markdown/printer-markdown.js @@ -41,11 +41,7 @@ import { * @typedef {import("../document/builders.js").Doc} Doc */ -const SIBLING_NODE_TYPES = new Set([ - "listItem", - "definition", - "footnoteDefinition", -]); +const SIBLING_NODE_TYPES = new Set(["listItem", "definition"]); function genericPrint(path, options, print) { const { node } = path; @@ -405,7 +401,6 @@ function genericPrint(path, options, print) { isFirst ? group([softline, print()]) : print(), }), ), - path.next?.type === "footnoteDefinition" ? softline : "", ]), ]; } diff --git a/tests/format/markdown/footnoteDefinition/__snapshots__/format.test.js.snap b/tests/format/markdown/footnoteDefinition/__snapshots__/format.test.js.snap index 35bded7b6..90d25d8d3 100644 --- a/tests/format/markdown/footnoteDefinition/__snapshots__/format.test.js.snap +++ b/tests/format/markdown/footnoteDefinition/__snapshots__/format.test.js.snap @@ -37,6 +37,7 @@ proseWrap: "never" =====================================output===================================== [^hello]: this is a long long long long long long long long long long long long long paragraph. + [^world]: this is a long long long long long long long long long long long long long paragraph. this is a long long long long long long long long long long long long long paragraph. ================================================================================ @@ -55,6 +56,7 @@ proseWrap: "preserve" =====================================output===================================== [^hello]: this is a long long long long long long long long long long long long long paragraph. + [^world]: this is a long long long long long long long long long long long long long paragraph. this is a long long long long long long long long long long long long long paragraph. @@ -75,6 +77,7 @@ tabWidth: 3 =====================================output===================================== [^hello]: this is a long long long long long long long long long long long long long paragraph. + [^world]: this is a long long long long long long long long long long long long long paragraph. this is a long long long long long long long long long long long long long paragraph. @@ -352,31 +355,45 @@ proseWrap: "always" =====================================output===================================== [^a]: a + [^a]: a + [^a]: a + [^a]: > 123 + [^a]: a + [^a]: > 123 + [^a]: a + [^a]: a + [^a]: a --- [^a]: a + [^a]: a + [^a]: a + [^a]: > 123\\ > 456 [^a]: a + [^a]: > 123\\ > 456 [^a]: a + [^a]: a + [^a]: a ================================================================================ @@ -415,31 +432,45 @@ proseWrap: "never" =====================================output===================================== [^a]: a + [^a]: a + [^a]: a + [^a]: > 123 + [^a]: a + [^a]: > 123 + [^a]: a + [^a]: a + [^a]: a --- [^a]: a + [^a]: a + [^a]: a + [^a]: > 123\\ > 456 [^a]: a + [^a]: > 123\\ > 456 [^a]: a + [^a]: a + [^a]: a ================================================================================ @@ -478,31 +509,45 @@ proseWrap: "preserve" =====================================output===================================== [^a]: a + [^a]: a + [^a]: a + [^a]: > 123 + [^a]: a + [^a]: > 123 + [^a]: a + [^a]: a + [^a]: a --- [^a]: a + [^a]: a + [^a]: a + [^a]: > 123\\ > 456 [^a]: a + [^a]: > 123\\ > 456 [^a]: a + [^a]: a + [^a]: a ================================================================================ @@ -541,31 +586,45 @@ tabWidth: 3 =====================================output===================================== [^a]: a + [^a]: a + [^a]: a + [^a]: > 123 + [^a]: a + [^a]: > 123 + [^a]: a + [^a]: a + [^a]: a --- [^a]: a + [^a]: a + [^a]: a + [^a]: > 123\\ > 456 [^a]: a + [^a]: > 123\\ > 456 [^a]: a + [^a]: a + [^a]: a ================================================================================