Skip to content

Commit

Permalink
markdown: Preserve inline code line breaks if --prose-wrap=preserve (p…
Browse files Browse the repository at this point in the history
  • Loading branch information
andersk authored and medikoo committed Jan 4, 2024
1 parent 3bc5efa commit 3a7b14f
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 3 deletions.
15 changes: 15 additions & 0 deletions changelog_unreleased/markdown/11373.md
@@ -0,0 +1,15 @@
#### Preserve inline code line breaks if `--prose-wrap=preserve` (#11373 by @andersk)

<!-- prettier-ignore -->
```markdown
<!-- Input -->
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod `tempor
incididunt` ut labore et dolore magna aliqua.

<!-- Prettier stable -->
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod `tempor incididunt` ut labore et dolore magna aliqua.

<!-- Prettier main -->
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod `tempor
incididunt` ut labore et dolore magna aliqua.
```
6 changes: 3 additions & 3 deletions src/language-markdown/print-preprocess.js
Expand Up @@ -9,7 +9,7 @@ const isSingleCharRegex = /^.$/su;
function preprocess(ast, options) {
ast = restoreUnescapedCharacter(ast, options);
ast = mergeContinuousTexts(ast);
ast = transformInlineCode(ast);
ast = transformInlineCode(ast, options);
ast = transformIndentedCodeblockAndMarkItsParentList(ast, options);
ast = markAlignedList(ast, options);
ast = splitTextIntoSentences(ast, options);
Expand All @@ -28,9 +28,9 @@ function transformImportExport(ast) {
});
}

function transformInlineCode(ast) {
function transformInlineCode(ast, options) {
return mapAst(ast, (node) => {
if (node.type !== "inlineCode") {
if (node.type !== "inlineCode" || options.proseWrap === "preserve") {
return node;
}

Expand Down
@@ -0,0 +1,26 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`inline-code-newline.md - {"proseWrap":"preserve"} format 1`] = `
====================================options=====================================
parsers: ["markdown"]
printWidth: 80
proseWrap: "preserve"
| printWidth
=====================================input======================================
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod \`tempor
incididunt\` ut labore et dolore magna aliqua. Ut enim ad minim veniam, \`quis
nostrud\` exercitation ullamco laboris nisi ut aliquip ex ea commodo \`consequat.
Duis\` aute irure dolor in reprehenderit in voluptate velit esse cillum dolore \`eu
fugiat\` nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
=====================================output=====================================
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod \`tempor
incididunt\` ut labore et dolore magna aliqua. Ut enim ad minim veniam, \`quis
nostrud\` exercitation ullamco laboris nisi ut aliquip ex ea commodo \`consequat.
Duis\` aute irure dolor in reprehenderit in voluptate velit esse cillum dolore \`eu
fugiat\` nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
================================================================================
`;
@@ -0,0 +1,6 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod `tempor
incididunt` ut labore et dolore magna aliqua. Ut enim ad minim veniam, `quis
nostrud` exercitation ullamco laboris nisi ut aliquip ex ea commodo `consequat.
Duis` aute irure dolor in reprehenderit in voluptate velit esse cillum dolore `eu
fugiat` nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.
1 change: 1 addition & 0 deletions tests/format/markdown/prose-wrap-preserve/jsfmt.spec.js
@@ -0,0 +1 @@
run_spec(__dirname, ["markdown"], { proseWrap: "preserve" });

0 comments on commit 3a7b14f

Please sign in to comment.