diff options
Diffstat (limited to 'code/grammar/markdown.pest')
-rw-r--r-- | code/grammar/markdown.pest | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/code/grammar/markdown.pest b/code/grammar/markdown.pest index 43c6e7a..ebdfcd7 100644 --- a/code/grammar/markdown.pest +++ b/code/grammar/markdown.pest @@ -1,9 +1,17 @@ -file = _{SOI ~ block* ~ EOI} -block = { (header | list | span | "") ~ NEWLINE } -header = {"#"+ ~ span} -list = { list_item+ } -list_item = { "-" ~ span } -span = { (!NEWLINE ~ ANY)+ } +file = _{ SOI ~ block* ~ EOI } + +block = { (code_block | header | list | paragraph | "") ~ NEWLINE } + header = { "#"+ ~ span } + list = { list_item+ } + list_item = { "-" ~ span } + paragraph = { span } + code_block = { "```" ~ (!"```" ~ ANY) ~ "```" } + +span = { (style_bold | style_italic | style_code | text)+ } + style_bold = { "**" ~ text ~ "**" } + style_italic = { "_" ~ text ~ "_" } + style_code = { "`" ~ text ~ "`" } + text = { (!(NEWLINE | "*" | "_" | "`") ~ ANY)+ } |