fix: parse continued latex env as paragraph (close #38)

This commit is contained in:
Emilia Simmons 2022-10-21 23:23:29 -04:00
parent eb1e080361
commit 081179c52b
8 changed files with 61392 additions and 62734 deletions

View file

@ -1,7 +1,7 @@
[package] [package]
name = "tree-sitter-org" name = "tree-sitter-org"
description = "org grammar for the tree-sitter parsing library" description = "org grammar for the tree-sitter parsing library"
version = "1.3.2" version = "1.3.3"
keywords = ["incremental", "parsing", "org"] keywords = ["incremental", "parsing", "org"]
categories = ["parsing", "text-editors"] categories = ["parsing", "text-editors"]
repository = "https://github.com/milisims/tree-sitter-org" repository = "https://github.com/milisims/tree-sitter-org"

View file

@ -1360,6 +1360,32 @@ LatexEnv.5 - Uppercase
name: (name) name: (name)
(name)))) (name))))
================================================================================
LatexEnv.6a - Junk
================================================================================
\( a \) b
--------------------------------------------------------------------------------
(document
body: (body
(paragraph
(expr)
(expr)
(expr)
(expr))))
================================================================================
LatexEnv.6b - Junk
================================================================================
\( \)
--------------------------------------------------------------------------------
(document
body: (body
(paragraph
(expr)
(expr))))
================================================================================ ================================================================================
Precedence.1 - Paragraph comment Precedence.1 - Paragraph comment
================================================================================ ================================================================================

View file

@ -305,14 +305,12 @@ org_grammar = {
token.immediate('}'), token.immediate('}'),
), ),
seq( seq(
caseInsensitive('\\['), token(seq(caseInsensitive('\\['), choice('\n', '\r'))),
$._nl,
optional(field('contents', $.contents)), optional(field('contents', $.contents)),
caseInsensitive('\\]'), caseInsensitive('\\]'),
), ),
seq( seq(
caseInsensitive('\\('), token(seq(caseInsensitive('\\('), choice('\n', '\r'))),
$._nl,
optional(field('contents', $.contents)), optional(field('contents', $.contents)),
caseInsensitive('\\)'), caseInsensitive('\\)'),
), ),

View file

@ -1,6 +1,6 @@
{ {
"name": "tree-sitter-org", "name": "tree-sitter-org",
"version": "1.3.2", "version": "1.3.3",
"description": "Org grammar for tree-sitter", "description": "Org grammar for tree-sitter",
"main": "bindings/node", "main": "bindings/node",
"keywords": [ "keywords": [

View file

@ -1820,17 +1820,34 @@
"type": "SEQ", "type": "SEQ",
"members": [ "members": [
{ {
"type": "ALIAS", "type": "TOKEN",
"content": { "content": {
"type": "PATTERN", "type": "SEQ",
"value": "\\\\\\[" "members": [
}, {
"named": false, "type": "ALIAS",
"value": "\\[" "content": {
}, "type": "PATTERN",
{ "value": "\\\\\\["
"type": "SYMBOL", },
"name": "_nl" "named": false,
"value": "\\["
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "\n"
},
{
"type": "STRING",
"value": "\r"
}
]
}
]
}
}, },
{ {
"type": "CHOICE", "type": "CHOICE",
@ -1863,17 +1880,34 @@
"type": "SEQ", "type": "SEQ",
"members": [ "members": [
{ {
"type": "ALIAS", "type": "TOKEN",
"content": { "content": {
"type": "PATTERN", "type": "SEQ",
"value": "\\\\\\(" "members": [
}, {
"named": false, "type": "ALIAS",
"value": "\\(" "content": {
}, "type": "PATTERN",
{ "value": "\\\\\\("
"type": "SYMBOL", },
"name": "_nl" "named": false,
"value": "\\("
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "\n"
},
{
"type": "STRING",
"value": "\r"
}
]
}
]
}
}, },
{ {
"type": "CHOICE", "type": "CHOICE",

View file

@ -1114,18 +1114,10 @@
"type": "\\", "type": "\\",
"named": false "named": false
}, },
{
"type": "\\(",
"named": false
},
{ {
"type": "\\)", "type": "\\)",
"named": false "named": false
}, },
{
"type": "\\[",
"named": false
},
{ {
"type": "\\]", "type": "\\]",
"named": false "named": false

124007
src/parser.c

File diff suppressed because it is too large Load diff

View file

@ -123,6 +123,7 @@ struct TSLanguage {
unsigned (*serialize)(void *, char *); unsigned (*serialize)(void *, char *);
void (*deserialize)(void *, const char *, unsigned); void (*deserialize)(void *, const char *, unsigned);
} external_scanner; } external_scanner;
const TSStateId *primary_state_ids;
}; };
/* /*