From 45c1d85fcf41d29db81aa39d540e8705537dd74f Mon Sep 17 00:00:00 2001 From: Yahtnif Date: Thu, 20 Jun 2019 20:24:01 +0800 Subject: [PATCH] Fix issue with mixed content, marked#1410 --- __tests__/base/emphasis | 24 ++++++++++++++++++++++++ src/inline-lexer.ts | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/__tests__/base/emphasis b/__tests__/base/emphasis index 6f234d4..3f89dac 100644 --- a/__tests__/base/emphasis +++ b/__tests__/base/emphasis @@ -4,6 +4,30 @@ _test_. _test_: _test_! _test_? _test_- foo _____ +- code bold italic + - [***`named link`***][some-url] + - ***[`named link`][some-url]*** + - [___`named link`___][some-url] + - ___[`named link`][some-url]___ + - [*__`named link`__*][some-url] + - [__*`named link`*__][some-url] + - __*[`named link`][some-url]*__ + +[some-url]: https://www.google.com + +

test. test: test! test? test-

foo _____

+ diff --git a/src/inline-lexer.ts b/src/inline-lexer.ts index b6e166d..87adac8 100644 --- a/src/inline-lexer.ts +++ b/src/inline-lexer.ts @@ -124,7 +124,7 @@ export class InlineLexer { autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, br: /^( {2,}|\\)\n(?!\s*$)/, code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, - em: /^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/, + em: /^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/, escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, link: /^!?\[(label)\]\(href(?:\s+(title))?\s*\)/, nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,