Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library markdown.src.inline_parser; | 5 library markdown.src.inline_parser; |
| 6 | 6 |
| 7 import 'ast.dart'; | 7 import 'ast.dart'; |
| 8 import 'document.dart'; | 8 import 'document.dart'; |
| 9 import 'util.dart'; | 9 import 'util.dart'; |
| 10 | 10 |
| (...skipping 25 matching lines...) Expand all Loading... | |
| 36 // Leave already-encoded HTML entities alone. Ensures we don't turn | 36 // Leave already-encoded HTML entities alone. Ensures we don't turn |
| 37 // "&" into "&" | 37 // "&" into "&" |
| 38 new TextSyntax(r'&[#a-zA-Z0-9]*;'), | 38 new TextSyntax(r'&[#a-zA-Z0-9]*;'), |
| 39 // Encode "&". | 39 // Encode "&". |
| 40 new TextSyntax(r'&', sub: '&'), | 40 new TextSyntax(r'&', sub: '&'), |
| 41 // Encode "<". (Why not encode ">" too? Gruber is toying with us.) | 41 // Encode "<". (Why not encode ">" too? Gruber is toying with us.) |
| 42 new TextSyntax(r'<', sub: '<'), | 42 new TextSyntax(r'<', sub: '<'), |
| 43 // Parse "**strong**" tags. | 43 // Parse "**strong**" tags. |
| 44 new TagSyntax(r'\*\*', tag: 'strong'), | 44 new TagSyntax(r'\*\*', tag: 'strong'), |
| 45 // Parse "__strong__" tags. | 45 // Parse "__strong__" tags. |
| 46 new TagSyntax(r'__', tag: 'strong'), | 46 new TagSyntax(r'\b__', tag: 'strong', end: r'__\b'), |
|
nweiz
2015/09/14 21:52:13
Using \b here isn't very non-English-friendly; it'
Bob Nystrom
2015/09/15 00:19:16
Hmm, good point. I think this is sort of a stopgap
| |
| 47 // Parse "*emphasis*" tags. | 47 // Parse "*emphasis*" tags. |
| 48 new TagSyntax(r'\*', tag: 'em'), | 48 new TagSyntax(r'\*', tag: 'em'), |
| 49 // Parse "_emphasis_" tags. | 49 // Parse "_emphasis_" tags. |
| 50 // TODO(rnystrom): Underscores in the middle of a word should not be | 50 new TagSyntax(r'\b_', tag: 'em', end: r'_\b'), |
| 51 // parsed as emphasis like_in_this. | |
| 52 new TagSyntax(r'_', tag: 'em'), | |
| 53 new CodeSyntax(), | 51 new CodeSyntax(), |
| 54 // We will add the LinkSyntax once we know about the specific link resolver. | 52 // We will add the LinkSyntax once we know about the specific link resolver. |
| 55 ]; | 53 ]; |
| 56 | 54 |
| 57 /// The string of markdown being parsed. | 55 /// The string of markdown being parsed. |
| 58 final String source; | 56 final String source; |
| 59 | 57 |
| 60 /// The markdown document this parser is parsing. | 58 /// The markdown document this parser is parsing. |
| 61 final Document document; | 59 final Document document; |
| 62 | 60 |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 474 parser.consume(endMatch[0].length); | 472 parser.consume(endMatch[0].length); |
| 475 } else { | 473 } else { |
| 476 // Didn't close correctly so revert to text. | 474 // Didn't close correctly so revert to text. |
| 477 parser.start = startPos; | 475 parser.start = startPos; |
| 478 parser.advanceBy(endMatch[0].length); | 476 parser.advanceBy(endMatch[0].length); |
| 479 } | 477 } |
| 480 | 478 |
| 481 return null; | 479 return null; |
| 482 } | 480 } |
| 483 } | 481 } |
| OLD | NEW |