some cleanup (dart-lang/markdown#489)
diff --git a/pkgs/markdown/lib/src/inline_parser.dart b/pkgs/markdown/lib/src/inline_parser.dart index d69af2b..27ab695 100644 --- a/pkgs/markdown/lib/src/inline_parser.dart +++ b/pkgs/markdown/lib/src/inline_parser.dart
@@ -28,10 +28,6 @@ EmailAutolinkSyntax(), AutolinkSyntax(), LineBreakSyntax(), - // "*" surrounded by spaces is left alone. - TextSyntax(r' \* ', startCharacter: $space), - // "_" surrounded by spaces is left alone. - TextSyntax(' _ ', startCharacter: $space), // Parse "**strong**" and "*emphasis*" tags. EmphasisSyntax.asterisk(), // Parse "__strong__" and "_emphasis_" tags. @@ -41,20 +37,13 @@ // We will add the LinkSyntax once we know about the specific link resolver. ]); - static final List<InlineSyntax> _htmlSyntaxes = - List<InlineSyntax>.unmodifiable(<InlineSyntax>[ - // Leave already-encoded HTML entities alone. Ensures we don't turn - // "&" into "&amp;" - TextSyntax('&[#a-zA-Z0-9]*;', startCharacter: $ampersand), - ]); - /// The string of Markdown being parsed. final String source; /// The Markdown document this parser is parsing. final Document document; - final List<InlineSyntax> syntaxes = <InlineSyntax>[]; + final syntaxes = <InlineSyntax>[]; /// The current read position. int pos = 0; @@ -98,11 +87,12 @@ } if (encodeHtml) { - syntaxes.add(EscapeHtmlSyntax()); - } - - if (encodeHtml) { - syntaxes.addAll(_htmlSyntaxes); + syntaxes.addAll([ + EscapeHtmlSyntax(), + // Leave already-encoded HTML entities alone. Ensures we don't turn + // "&" into "&amp;" + TextSyntax('&[#a-zA-Z0-9]*;', startCharacter: $ampersand), + ]); } }
diff --git a/pkgs/markdown/lib/src/inline_syntaxes/escape_syntax.dart b/pkgs/markdown/lib/src/inline_syntaxes/escape_syntax.dart index 30e6ea4..c112d93 100644 --- a/pkgs/markdown/lib/src/inline_syntaxes/escape_syntax.dart +++ b/pkgs/markdown/lib/src/inline_syntaxes/escape_syntax.dart
@@ -21,13 +21,14 @@ bool onMatch(InlineParser parser, Match match) { final chars = match.match; + String text; if ('&"<>'.contains(match[1]!) && parser.encodeHtml) { - final text = escapeHtml(match[1]!); - parser.addNode(Text(text)); - return true; + text = escapeHtml(match[1]!); } else { - parser.addNode(Text(chars[1])); - return true; + text = chars[1]; } + + parser.addNode(Text(text)); + return true; } }