Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1806)

Unified Diff: utils/markdown/block_parser.dart

Issue 8725007: Lots of stuff hooking up markdown to dartdoc. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Respond to awesome reviews. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « utils/dartdoc/static/styles.css ('k') | utils/markdown/inline_parser.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
// 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 {
« no previous file with comments | « utils/dartdoc/static/styles.css ('k') | utils/markdown/inline_parser.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698