parser.leg: scan for setext pattern before parsing Inlines (from jgm/peg-markdown)
This commit is contained in:
parent
a6edc52d48
commit
e40db066f3
@ -67,23 +67,6 @@ See the [original README][] for details.
|
|||||||
[original README]: https://github.com/jgm/peg-markdown/blob/master/README.markdown
|
[original README]: https://github.com/jgm/peg-markdown/blob/master/README.markdown
|
||||||
[knieriem/peg]: https://github.com/knieriem/peg
|
[knieriem/peg]: https://github.com/knieriem/peg
|
||||||
|
|
||||||
## Known issues
|
|
||||||
|
|
||||||
Emphasis and strong markup within items of lists, as in input
|
|
||||||
like ./PHP Markdown Extra.mdtest/Emphasis.text from Michel
|
|
||||||
Fortin's [MDTest][] package,
|
|
||||||
|
|
||||||
1. ***test test***
|
|
||||||
2. ___test test___
|
|
||||||
3. *test **test***
|
|
||||||
4. **test *test***
|
|
||||||
...
|
|
||||||
|
|
||||||
seem to present a problem for the LEG parser, which needs
|
|
||||||
(on my system) around four minutes to process that file.
|
|
||||||
|
|
||||||
[MDTest]: http://git.michelf.com/mdtest/
|
|
||||||
|
|
||||||
## Todo
|
## Todo
|
||||||
|
|
||||||
* Implement definition lists (work in progress), and perhaps tables
|
* Implement definition lists (work in progress), and perhaps tables
|
||||||
|
14
parser.leg
14
parser.leg
@ -137,11 +137,17 @@ AtxHeading = s:AtxStart Sp a:StartList ( AtxInline { a = cons($$, a) } )+ (Sp '#
|
|||||||
|
|
||||||
SetextHeading = SetextHeading1 | SetextHeading2
|
SetextHeading = SetextHeading1 | SetextHeading2
|
||||||
|
|
||||||
SetextHeading1 = a:StartList ( !Endline Inline { a = cons($$, a) } )+ Newline "===" '='* Newline
|
SetextBottom1 = "===" '='* Newline
|
||||||
{ $$ = mk_list(H1, a) }
|
|
||||||
|
|
||||||
SetextHeading2 = a:StartList ( !Endline Inline { a = cons($$, a) } )+ Newline "---" '-'* Newline
|
SetextBottom2 = "---" '-'* Newline
|
||||||
{ $$ = mk_list(H2, a) }
|
|
||||||
|
SetextHeading1 = &(RawLine SetextBottom1)
|
||||||
|
a:StartList ( !Endline Inline { a = cons($$, a) } )+ Newline
|
||||||
|
SetextBottom1 { $$ = mk_list(H1, a) }
|
||||||
|
|
||||||
|
SetextHeading2 = &(RawLine SetextBottom2)
|
||||||
|
a:StartList ( !Endline Inline { a = cons($$, a) } )+ Newline
|
||||||
|
SetextBottom2 { $$ = mk_list(H2, a) }
|
||||||
|
|
||||||
Heading = AtxHeading | SetextHeading
|
Heading = AtxHeading | SetextHeading
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user