Support various \def-like and \let-like commands (#167)

Signed-off-by: Jonas Dujava <jonas.dujava@gmail.com>
pull/813/head
Jonáš Dujava 2024-09-11 19:17:26 +07:00 committed by GitHub
parent 90fd9894be
commit 1e4e30342b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 67 additions and 6 deletions

@ -989,11 +989,14 @@ module.exports = grammar({
), ),
old_command_definition: $ => old_command_definition: $ =>
seq(field('command', '\\def'), field('declaration', $.command_name)), seq(
field('command', choice('\\def', '\\gdef', '\\edef', '\\xdef')),
field('declaration', $.command_name)
),
let_command_definition: $ => let_command_definition: $ =>
seq( seq(
field('command', '\\let'), field('command', choice('\\let', '\\glet')),
field('declaration', $.command_name), field('declaration', $.command_name),
optional('='), optional('='),
field('implementation', $.command_name), field('implementation', $.command_name),

@ -5593,8 +5593,25 @@
"type": "FIELD", "type": "FIELD",
"name": "command", "name": "command",
"content": { "content": {
"type": "STRING", "type": "CHOICE",
"value": "\\def" "members": [
{
"type": "STRING",
"value": "\\def"
},
{
"type": "STRING",
"value": "\\gdef"
},
{
"type": "STRING",
"value": "\\edef"
},
{
"type": "STRING",
"value": "\\xdef"
}
]
} }
}, },
{ {
@ -5614,8 +5631,17 @@
"type": "FIELD", "type": "FIELD",
"name": "command", "name": "command",
"content": { "content": {
"type": "STRING", "type": "CHOICE",
"value": "\\let" "members": [
{
"type": "STRING",
"value": "\\let"
},
{
"type": "STRING",
"value": "\\glet"
}
]
} }
}, },
{ {

@ -4572,6 +4572,10 @@
"multiple": false, "multiple": false,
"required": true, "required": true,
"types": [ "types": [
{
"type": "\\glet",
"named": false
},
{ {
"type": "\\let", "type": "\\let",
"named": false "named": false
@ -5501,6 +5505,18 @@
{ {
"type": "\\def", "type": "\\def",
"named": false "named": false
},
{
"type": "\\edef",
"named": false
},
{
"type": "\\gdef",
"named": false
},
{
"type": "\\xdef",
"named": false
} }
] ]
}, },
@ -9167,6 +9183,10 @@
"type": "\\documentclass", "type": "\\documentclass",
"named": false "named": false
}, },
{
"type": "\\edef",
"named": false
},
{ {
"type": "\\end", "type": "\\end",
"named": false "named": false
@ -9207,6 +9227,14 @@
"type": "\\fvolcite", "type": "\\fvolcite",
"named": false "named": false
}, },
{
"type": "\\gdef",
"named": false
},
{
"type": "\\glet",
"named": false
},
{ {
"type": "\\gls", "type": "\\gls",
"named": false "named": false
@ -9631,6 +9659,10 @@
"type": "\\vref", "type": "\\vref",
"named": false "named": false
}, },
{
"type": "\\xdef",
"named": false
},
{ {
"type": "]", "type": "]",
"named": false "named": false