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: $ =>
seq(field('command', '\\def'), field('declaration', $.command_name)),
seq(
field('command', choice('\\def', '\\gdef', '\\edef', '\\xdef')),
field('declaration', $.command_name)
),
let_command_definition: $ =>
seq(
field('command', '\\let'),
field('command', choice('\\let', '\\glet')),
field('declaration', $.command_name),
optional('='),
field('implementation', $.command_name),

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

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