From 5da7626f5950dcdf29c8003fc8b43e87cd7b704a Mon Sep 17 00:00:00 2001 From: Sol Fisher Romanoff Date: Fri, 8 Jul 2022 14:46:59 +0300 Subject: [PATCH] Support multiline markup, to an extent --- src/index.js | 2 +- test/index.test.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 2b508a5..a2b2a86 100644 --- a/src/index.js +++ b/src/index.js @@ -5,7 +5,7 @@ export default { level: 'inline', start (src) { return src.match(/\$\[/)?.index }, tokenizer (src, tokens) { - const rule = /^\$\[(?[\w\d]+)(?:\.(?\S+))? (?.+)\]$/ + const rule = /^\$\[(?[\w\d]+)(?:\.(?\S+))? (?[\S\s]+)\]$/ const match = rule.exec(src) if (match) { const token = { diff --git a/test/index.test.js b/test/index.test.js index cfa0e9c..852c8e8 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -7,6 +7,11 @@ describe('marked-mfm', () => { expect(marked('$[x2 this text is bigger]')).toBe('

this text is bigger

\n') }) + test('multiline', () => { + marked.use(markedMfm) + expect(marked('$[x2 line1\nline2]')).toBe('

line1\nline2

\n') + }) + test('nested', () => { marked.use(markedMfm) expect(marked('$[x2 x2 $[sparkle sparkle]]')).toBe('

x2 sparkle

\n')