Unify markup & add backticks as markup
This commit is contained in:
parent
22105ff100
commit
44d6a09dc3
6 changed files with 58602 additions and 46950 deletions
|
|
@ -707,62 +707,62 @@ Comment.2
|
|||
))
|
||||
|
||||
===========
|
||||
Markup.1a - Bold
|
||||
Markup.1a - markup
|
||||
===========
|
||||
a *b*
|
||||
----------
|
||||
|
||||
(document
|
||||
(body
|
||||
(paragraph (bold))
|
||||
(paragraph (markup))
|
||||
))
|
||||
|
||||
===========
|
||||
Markup.1b - Italics
|
||||
Markup.1b - markups
|
||||
===========
|
||||
a /b/
|
||||
----------
|
||||
|
||||
(document
|
||||
(body
|
||||
(paragraph (italic))
|
||||
(paragraph (markup))
|
||||
))
|
||||
|
||||
===========
|
||||
Markup.1c - Code
|
||||
Markup.1c - markup
|
||||
===========
|
||||
a ~b~
|
||||
----------
|
||||
|
||||
(document
|
||||
(body
|
||||
(paragraph (code))
|
||||
(paragraph (markup))
|
||||
))
|
||||
|
||||
===========
|
||||
Markup.1d - Underline
|
||||
Markup.1d - markup
|
||||
===========
|
||||
a _b_
|
||||
----------
|
||||
|
||||
(document
|
||||
(body
|
||||
(paragraph (underline))
|
||||
(paragraph (markup))
|
||||
))
|
||||
|
||||
===========
|
||||
Markup.1e - Verbatim
|
||||
Markup.1e - markup
|
||||
===========
|
||||
a =b=
|
||||
----------
|
||||
|
||||
(document
|
||||
(body
|
||||
(paragraph (verbatim))
|
||||
(paragraph (markup))
|
||||
))
|
||||
|
||||
===========
|
||||
Markup.1f - Strikethrough
|
||||
Markup.1f - markup
|
||||
===========
|
||||
a +b+
|
||||
|
||||
|
|
@ -770,7 +770,7 @@ a +b+
|
|||
|
||||
(document
|
||||
(body
|
||||
(paragraph (strikethrough))
|
||||
(paragraph (markup))
|
||||
))
|
||||
|
||||
===========
|
||||
|
|
@ -779,7 +779,7 @@ Markup.2a - start of line
|
|||
*b*
|
||||
----------
|
||||
|
||||
(document (body (paragraph (bold))))
|
||||
(document (body (paragraph (markup))))
|
||||
|
||||
===========
|
||||
Markup.2b - start of line
|
||||
|
|
@ -787,7 +787,7 @@ Markup.2b - start of line
|
|||
/b/
|
||||
----------
|
||||
|
||||
(document (body (paragraph (italic))))
|
||||
(document (body (paragraph (markup))))
|
||||
|
||||
===========
|
||||
Markup.2c - start of line
|
||||
|
|
@ -795,7 +795,7 @@ Markup.2c - start of line
|
|||
+b+
|
||||
----------
|
||||
|
||||
(document (body (paragraph (strikethrough))))
|
||||
(document (body (paragraph (markup))))
|
||||
|
||||
==========
|
||||
Markup.3a - Within
|
||||
|
|
@ -803,7 +803,7 @@ Markup.3a - Within
|
|||
a *b /c d/ e*
|
||||
----------
|
||||
|
||||
(document (body (paragraph (bold (italic)))))
|
||||
(document (body (paragraph (markup (markup)))))
|
||||
|
||||
==========
|
||||
Markup.3b - Within
|
||||
|
|
@ -811,7 +811,7 @@ Markup.3b - Within
|
|||
a _b ~c d~ e_
|
||||
----------
|
||||
|
||||
(document (body (paragraph (underline (code)))))
|
||||
(document (body (paragraph (markup (markup)))))
|
||||
|
||||
==========
|
||||
Markup.3c - Within
|
||||
|
|
@ -819,7 +819,7 @@ Markup.3c - Within
|
|||
a =b +c d+ e=
|
||||
----------
|
||||
|
||||
(document (body (paragraph (verbatim))))
|
||||
(document (body (paragraph (markup (markup)))))
|
||||
|
||||
==========
|
||||
Markup.4 - Multi
|
||||
|
|
@ -827,7 +827,7 @@ Markup.4 - Multi
|
|||
+a /b/ b+
|
||||
----------
|
||||
|
||||
(document (body (paragraph (strikethrough (italic)))))
|
||||
(document (body (paragraph (markup (markup)))))
|
||||
|
||||
===========
|
||||
Markup.5a - Junk
|
||||
|
|
@ -867,7 +867,7 @@ b *a
|
|||
)
|
||||
|
||||
===========
|
||||
Markup.6 - Bold section
|
||||
Markup.6 - markup section
|
||||
===========
|
||||
* a
|
||||
*b*
|
||||
|
|
@ -876,7 +876,7 @@ Markup.6 - Bold section
|
|||
(document
|
||||
(section
|
||||
(headline (stars) (item))
|
||||
(body (paragraph (bold)))
|
||||
(body (paragraph (markup)))
|
||||
))
|
||||
|
||||
===========
|
||||
|
|
@ -885,7 +885,7 @@ Markup.7 - Parens
|
|||
(/a/)
|
||||
----------
|
||||
|
||||
(document (body (paragraph (italics))))
|
||||
(document (body (paragraph (markup))))
|
||||
|
||||
===========
|
||||
Markup.8 - Not markup
|
||||
|
|
@ -905,8 +905,8 @@ a =b=
|
|||
|
||||
(document
|
||||
(body
|
||||
(paragraph (underline))
|
||||
(paragraph (verbatim))
|
||||
(paragraph (markup))
|
||||
(paragraph (markup))
|
||||
))
|
||||
|
||||
==========
|
||||
|
|
@ -1168,7 +1168,7 @@ List.9 - With markup
|
|||
- A *b* c
|
||||
----------
|
||||
|
||||
(document (body (list (listitem (bold)))))
|
||||
(document (body (list (listitem (markup)))))
|
||||
|
||||
==============
|
||||
Directive.1 - Document
|
||||
|
|
@ -1362,7 +1362,7 @@ a $b+c$ d
|
|||
(document (body (paragraph (latex_fragment))))
|
||||
|
||||
==================
|
||||
LatexFragment.5 -
|
||||
LatexFragment.5 - Not a fragment -- use query
|
||||
==================
|
||||
a$b+c$d
|
||||
----------
|
||||
|
|
|
|||
47
grammar.js
47
grammar.js
|
|
@ -41,12 +41,7 @@ org_grammar = {
|
|||
[$.item], // :tags: in headlines
|
||||
|
||||
// Markup
|
||||
[$._conflicts, $.bold],
|
||||
[$._conflicts, $.italic],
|
||||
[$._conflicts, $.underline],
|
||||
[$._conflicts, $.strikethrough],
|
||||
[$._conflicts, $.code],
|
||||
[$._conflicts, $.verbatim],
|
||||
[$._conflicts, $.markup],
|
||||
|
||||
// Multiline -- continue the item or start a new one?
|
||||
[$.body],
|
||||
|
|
@ -118,13 +113,7 @@ org_grammar = {
|
|||
$.footnote,
|
||||
$.link,
|
||||
|
||||
$.bold,
|
||||
$.code,
|
||||
$.italic,
|
||||
$.verbatim,
|
||||
$.underline,
|
||||
$.strikethrough,
|
||||
|
||||
$.markup,
|
||||
$.subscript,
|
||||
$.superscript,
|
||||
$.latex_fragment,
|
||||
|
|
@ -271,12 +260,15 @@ org_grammar = {
|
|||
|
||||
// Markup ============================================== {{{1
|
||||
|
||||
bold: make_markup('*'),
|
||||
italic: make_markup('/'),
|
||||
underline: make_markup('_'),
|
||||
strikethrough: make_markup('+'),
|
||||
code: make_markup('~', true),
|
||||
verbatim: make_markup('=', true),
|
||||
markup: $ => seq(prec(1, $._markup), choice(
|
||||
seq(field('type', '*'), sep1(repeat1($._textelement), $._nl), token.immediate('*')),
|
||||
seq(field('type', '/'), sep1(repeat1($._textelement), $._nl), token.immediate('/')),
|
||||
seq(field('type', '_'), sep1(repeat1($._textelement), $._nl), token.immediate('_')),
|
||||
seq(field('type', '+'), sep1(repeat1($._textelement), $._nl), token.immediate('+')),
|
||||
seq(field('type', '~'), sep1(repeat1($._textelement), $._nl), token.immediate('~')),
|
||||
seq(field('type', '='), sep1(repeat1($._textelement), $._nl), token.immediate('=')),
|
||||
seq(field('type', '`'), sep1(repeat1($._textelement), $._nl), token.immediate('`')),
|
||||
)),
|
||||
|
||||
subscript: $ => seq(
|
||||
$._text,
|
||||
|
|
@ -527,12 +519,7 @@ org_grammar = {
|
|||
_conflicts: $ => prec.dynamic(DYN.conflicts, choice(
|
||||
$._active_start,
|
||||
$._inactive_start,
|
||||
seq($._markup, '*'),
|
||||
seq($._markup, '/'),
|
||||
seq($._markup, '_'),
|
||||
seq($._markup, '+'),
|
||||
seq($._markup, '~'),
|
||||
seq($._markup, '='),
|
||||
seq($._markup, choice('*', '/', '_', '+', '~', '=', '`')),
|
||||
seq(':', optional($._drawername)),
|
||||
seq('\\', /[^\p{L}]+/),
|
||||
seq($._text, '^', /[^{]/),
|
||||
|
|
@ -544,16 +531,6 @@ org_grammar = {
|
|||
}
|
||||
};
|
||||
|
||||
function make_markup(delim, textonly = false) { // {{{1
|
||||
return $ => prec.left(seq(
|
||||
$._markup,
|
||||
delim,
|
||||
sep1(repeat1(textonly ? $._text : $._textelement), $._nl),
|
||||
token.immediate(delim),
|
||||
// delim == '_' ? prec.dynamic(1, token.immediate(delim)) : token.immediate(delim),
|
||||
)) // Dynamic prec on _ deals with subscript conflicts
|
||||
}
|
||||
|
||||
function sep1(rule, separator) { // {{{1
|
||||
return seq(rule, repeat(seq(separator, rule)))
|
||||
}
|
||||
|
|
|
|||
711
src/grammar.json
711
src/grammar.json
|
|
@ -367,27 +367,7 @@
|
|||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "bold"
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "code"
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "italic"
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "verbatim"
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "underline"
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "strikethrough"
|
||||
"name": "markup"
|
||||
},
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
|
|
@ -1065,335 +1045,380 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"bold": {
|
||||
"type": "PREC_LEFT",
|
||||
"value": 0,
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"markup": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "PREC",
|
||||
"value": 1,
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "*"
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "FIELD",
|
||||
"name": "type",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "*"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "*"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "*"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"italic": {
|
||||
"type": "PREC_LEFT",
|
||||
"value": 0,
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "/"
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "FIELD",
|
||||
"name": "type",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "/"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "/"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "/"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"underline": {
|
||||
"type": "PREC_LEFT",
|
||||
"value": 0,
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "_"
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "FIELD",
|
||||
"name": "type",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "_"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "_"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "_"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"strikethrough": {
|
||||
"type": "PREC_LEFT",
|
||||
"value": 0,
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "+"
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "FIELD",
|
||||
"name": "type",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "+"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "+"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "+"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"code": {
|
||||
"type": "PREC_LEFT",
|
||||
"value": 0,
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "~"
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_text"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "FIELD",
|
||||
"name": "type",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "~"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_text"
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "~"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "~"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"verbatim": {
|
||||
"type": "PREC_LEFT",
|
||||
"value": 0,
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "="
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_text"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "FIELD",
|
||||
"name": "type",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "="
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_text"
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "="
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "="
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "FIELD",
|
||||
"name": "type",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "`"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "REPEAT",
|
||||
"content": {
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_nl"
|
||||
},
|
||||
{
|
||||
"type": "REPEAT1",
|
||||
"content": {
|
||||
"type": "SYMBOL",
|
||||
"name": "_textelement"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "IMMEDIATE_TOKEN",
|
||||
"content": {
|
||||
"type": "STRING",
|
||||
"value": "`"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"subscript": {
|
||||
"type": "SEQ",
|
||||
|
|
@ -2801,73 +2826,37 @@
|
|||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "*"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "/"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "_"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "+"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "~"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "SEQ",
|
||||
"members": [
|
||||
{
|
||||
"type": "SYMBOL",
|
||||
"name": "_markup"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "="
|
||||
"type": "CHOICE",
|
||||
"members": [
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "*"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "/"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "_"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "+"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "~"
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "="
|
||||
},
|
||||
{
|
||||
"type": "STRING",
|
||||
"value": "`"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -2981,27 +2970,7 @@
|
|||
],
|
||||
[
|
||||
"_conflicts",
|
||||
"bold"
|
||||
],
|
||||
[
|
||||
"_conflicts",
|
||||
"italic"
|
||||
],
|
||||
[
|
||||
"_conflicts",
|
||||
"underline"
|
||||
],
|
||||
[
|
||||
"_conflicts",
|
||||
"strikethrough"
|
||||
],
|
||||
[
|
||||
"_conflicts",
|
||||
"code"
|
||||
],
|
||||
[
|
||||
"_conflicts",
|
||||
"verbatim"
|
||||
"markup"
|
||||
],
|
||||
[
|
||||
"body"
|
||||
|
|
|
|||
|
|
@ -73,65 +73,6 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "link",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "subscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "superscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "cell",
|
||||
"named": true,
|
||||
|
|
@ -152,11 +93,6 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true,
|
||||
"fields": {}
|
||||
},
|
||||
{
|
||||
"type": "comment",
|
||||
"named": true,
|
||||
|
|
@ -239,14 +175,6 @@
|
|||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "directive",
|
||||
"named": true
|
||||
|
|
@ -255,10 +183,6 @@
|
|||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
|
|
@ -268,7 +192,7 @@
|
|||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"type": "markup",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
|
|
@ -282,14 +206,6 @@
|
|||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -325,14 +241,6 @@
|
|||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "directive",
|
||||
"named": true
|
||||
|
|
@ -341,10 +249,6 @@
|
|||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
|
|
@ -354,7 +258,7 @@
|
|||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"type": "markup",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
|
|
@ -368,14 +272,6 @@
|
|||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -388,22 +284,10 @@
|
|||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
|
|
@ -413,7 +297,7 @@
|
|||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"type": "markup",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
|
|
@ -427,14 +311,6 @@
|
|||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -478,65 +354,6 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "link",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "subscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "superscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "item",
|
||||
"named": true,
|
||||
|
|
@ -615,22 +432,10 @@
|
|||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
|
|
@ -644,7 +449,7 @@
|
|||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"type": "markup",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
|
|
@ -658,13 +463,79 @@
|
|||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "markup",
|
||||
"named": true,
|
||||
"fields": {
|
||||
"type": {
|
||||
"multiple": false,
|
||||
"required": true,
|
||||
"types": [
|
||||
{
|
||||
"type": "*",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "+",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "/",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "=",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "_",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "`",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "~",
|
||||
"named": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "underline",
|
||||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "link",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "markup",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "subscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "superscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
|
|
@ -678,14 +549,6 @@
|
|||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "directive",
|
||||
"named": true
|
||||
|
|
@ -694,10 +557,6 @@
|
|||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
|
|
@ -707,7 +566,7 @@
|
|||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"type": "markup",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
|
|
@ -721,14 +580,6 @@
|
|||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -846,65 +697,6 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "link",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "subscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "superscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "subscript",
|
||||
"named": true,
|
||||
|
|
@ -984,75 +776,11 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true,
|
||||
"fields": {},
|
||||
"children": {
|
||||
"multiple": true,
|
||||
"required": false,
|
||||
"types": [
|
||||
{
|
||||
"type": "bold",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "code",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "footnote",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "italic",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "latex_fragment",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "link",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "strikethrough",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "subscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "superscript",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "timestamp",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "underline",
|
||||
"named": true
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "value",
|
||||
"named": true,
|
||||
"fields": {}
|
||||
},
|
||||
{
|
||||
"type": "verbatim",
|
||||
"named": true,
|
||||
"fields": {}
|
||||
},
|
||||
{
|
||||
"type": "\n",
|
||||
"named": false
|
||||
|
|
@ -1169,6 +897,10 @@
|
|||
"type": "_",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "`",
|
||||
"named": false
|
||||
},
|
||||
{
|
||||
"type": "delay",
|
||||
"named": true
|
||||
|
|
|
|||
104315
src/parser.c
104315
src/parser.c
File diff suppressed because it is too large
Load diff
|
|
@ -273,7 +273,8 @@ bool scan(TSLexer *lexer, const bool *valid_symbols) { // {{{1
|
|||
|| lexer->lookahead == '_'
|
||||
|| lexer->lookahead == '+'
|
||||
|| lexer->lookahead == '~'
|
||||
|| lexer->lookahead == '=')) {
|
||||
|| lexer->lookahead == '='
|
||||
|| lexer->lookahead == '`')) {
|
||||
lexer->mark_end(lexer);
|
||||
skip(lexer);
|
||||
lexer->result_symbol = MARKUP;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue