Chromium Code Reviews| Index: utils/markdown/block_parser.dart |
| diff --git a/utils/markdown/block_parser.dart b/utils/markdown/block_parser.dart |
| index d80c9e95c649aefe6ef928478a31fdfb2e4e2fbb..b07f49f21afb3608fc632d33d7cea13ef3d37355 100644 |
| --- a/utils/markdown/block_parser.dart |
| +++ b/utils/markdown/block_parser.dart |
| @@ -5,20 +5,20 @@ |
| /// The line contains only whitespace or is empty. |
| final _RE_EMPTY = const RegExp(@'^([ \t]*)$'); |
| -/// A series of "=" or "-" (on the next line) define setext-style headers. |
| +/// A series of `=` or `-` (on the next line) define setext-style headers. |
| final _RE_SETEXT = const RegExp(@'^((=+)|(-+))$'); |
| -/// Leading (and trailing) "#" define atx-style headers. |
| +/// Leading (and trailing) `#` define atx-style headers. |
| final _RE_HEADER = const RegExp(@'^(#{1,6})(.*?)#*$'); |
| -/// The line starts with ">" with one optional space after. |
| +/// The line starts with `>` with one optional space after. |
| final _RE_BLOCKQUOTE = const RegExp(@'^[ ]{0,3}>[ ]?(.*)$'); |
| /// A line indented four spaces. Used for code blocks and lists. |
| final _RE_INDENT = const RegExp(@'^(?: |\t)(.*)$'); |
| /// Three or more hyphens, asterisks or underscores by themselves. Note that |
| -/// a line like "----" is valid as both HR and SETEXT. In case of a tie, |
| +/// a line like `----` is valid as both HR and SETEXT. In case of a tie, |
| /// SETEXT should win. |
| final _RE_HR = const RegExp(@'^[ ]{0,3}((-+[ ]{0,2}){3,}|' + |
| @'(_+[ ]{0,2}){3,}|' + |
| @@ -28,12 +28,12 @@ final _RE_HR = const RegExp(@'^[ ]{0,3}((-+[ ]{0,2}){3,}|' + |
| /// "<somename". |
| final _RE_HTML = const RegExp(@'^<[ ]*\w+[ >]'); |
| -/// A line starting with one of these markers: "-", "*", "+". May have up to |
| +/// A line starting with one of these markers: `-`, `*`, `+`. May have up to |
| /// three leading spaces before the marker and any number of spaces or tabs |
| /// after. |
| final _RE_UL = const RegExp(@'^[ ]{0,3}[*+-][ \t]+(.*)$'); |
| -/// A line starting with a number like "123.". May have up to three leading |
| +/// A line starting with a number like `123.`. May have up to three leading |
| /// spaces before the marker and any number of spaces or tabs after. |
| final _RE_OL = const RegExp(@'^[ ]{0,3}\d+\.[ \t]+(.*)$'); |
| @@ -61,7 +61,10 @@ class BlockParser { |
| return lines[pos + 1]; |
| } |
| - void advance() => pos++; |
| + void advance() { |
| + pos++; |
| + } |
| + |
| bool get isDone() => pos >= lines.length; |
| /// Gets whether or not the current line matches the given pattern. |
| @@ -113,9 +116,9 @@ class BlockSyntax { |
| abstract Node parse(BlockParser parser); |
| - List<Node> parseChildLines(BlockParser parser) { |
| + List<String> parseChildLines(BlockParser parser) { |
|
Jennifer Messerly
2011/11/28 23:08:13
heh :)
Bob Nystrom
2011/11/29 02:44:08
Oopsie!
|
| // Grab all of the lines that form the blockquote, stripping off the ">". |
| - final childLines = []; |
| + final childLines = <String>[]; |
| while (!parser.isDone) { |
| final match = pattern.firstMatch(parser.current); |
| @@ -165,7 +168,7 @@ class SetextHeaderSyntax extends BlockSyntax { |
| } |
| } |
| -/// Parses atx-style headers: "## Header ##". |
| +/// Parses atx-style headers: `## Header ##`. |
| class HeaderSyntax extends BlockSyntax { |
| RegExp get pattern() => _RE_HEADER; |
| @@ -178,7 +181,7 @@ class HeaderSyntax extends BlockSyntax { |
| } |
| } |
| -/// Parses email-style blockquotes: "> quote". |
| +/// Parses email-style blockquotes: `> quote`. |
| class BlockquoteSyntax extends BlockSyntax { |
| RegExp get pattern() => _RE_BLOCKQUOTE; |
| @@ -209,7 +212,7 @@ class CodeBlockSyntax extends BlockSyntax { |
| } |
| } |
| -/// Parses horizontal rules like "---", "_ _ _", "* * *", etc. |
| +/// Parses horizontal rules like `---`, `_ _ _`, `* * *`, etc. |
| class HorizontalRuleSyntax extends BlockSyntax { |
| RegExp get pattern() => _RE_HR; |
| @@ -224,10 +227,10 @@ class HorizontalRuleSyntax extends BlockSyntax { |
| /// implementations in several ways: |
| /// |
| /// 1. This one is way way WAY simpler. |
| -/// 2. All HTML tags at the block level will be treated as blocks. If you start |
| -/// a paragraph with <em>, it will not wrap it in a <p> for you. As soon as |
| -/// it sees something like HTML, it stops mucking with it until it hits the |
| -/// next block. |
| +/// 2. All HTML tags at the block level will be treated as blocks. If you |
| +/// start a paragraph with `<em>`, it will not wrap it in a `<p>` for you. |
| +/// As soon as it sees something like HTML, it stops mucking with it until |
| +/// it hits the next block. |
| /// 3. Absolutely no HTML parsing or validation is done. We're a markdown |
| /// parser not an HTML parser! |
| class BlockHtmlSyntax extends BlockSyntax { |