diff --git a/src/language-markdown/embed.js b/src/language-markdown/embed.js index a9e0d096a..398831601 100644 --- a/src/language-markdown/embed.js +++ b/src/language-markdown/embed.js @@ -12,7 +12,8 @@ function embed(path, print, textToDoc, options) { if (node.type === "code" && node.lang !== null) { // only look for the first string so as to support [markdown-preview-enhanced](https://shd101wyy.github.io/markdown-preview-enhanced/#/code-chunk) - const lang = node.lang.split(/\s/, 1)[0]; + const langMatch = node.lang.match(/^[A-Za-z0-9_-]+/); + const lang = langMatch ? langMatch[0] : ""; const parser = getParserName(lang); if (parser) { const styleUnit = options.__inJsTemplate ? "~" : "`"; diff --git a/tests/multiparser_markdown_js/__snapshots__/jsfmt.spec.js.snap b/tests/multiparser_markdown_js/__snapshots__/jsfmt.spec.js.snap index d53c85a95..3a3ca97e4 100644 --- a/tests/multiparser_markdown_js/__snapshots__/jsfmt.spec.js.snap +++ b/tests/multiparser_markdown_js/__snapshots__/jsfmt.spec.js.snap @@ -41,6 +41,12 @@ console.log( "hello world" ); \`\`\`js {cmd=node .line-numbers} console.log( "hello world" ); \`\`\` + +## js block with arguments and no space + +\`\`\`js{cmd=node .line-numbers} +console.log( "hello world" ); +\`\`\` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ## plain js block @@ -54,6 +60,12 @@ console.log("hello world"); console.log("hello world"); \`\`\` +## js block with arguments and no space + +\`\`\`js{cmd=node .line-numbers} +console.log("hello world"); +\`\`\` + `; exports[`trailing-comma.md 1`] = ` diff --git a/tests/multiparser_markdown_js/markdown-preview-enhanced.md b/tests/multiparser_markdown_js/markdown-preview-enhanced.md index 34f8f3600..9e141ba8b 100644 --- a/tests/multiparser_markdown_js/markdown-preview-enhanced.md +++ b/tests/multiparser_markdown_js/markdown-preview-enhanced.md @@ -9,3 +9,9 @@ console.log( "hello world" ); ```js {cmd=node .line-numbers} console.log( "hello world" ); ``` + +## js block with arguments and no space + +```js{cmd=node .line-numbers} +console.log( "hello world" ); +```