@codingame/monaco-vscode-latex-default-extension 1.85.2 → 1.85.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2380 +0,0 @@
1
- {
2
- "information_for_contributors": [
3
- "This file has been converted from https://github.com/jlelong/vscode-latex-basics/blob/master/syntaxes/LaTeX.tmLanguage.json",
4
- "If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
- "Once accepted there, we are happy to receive an update request."
6
- ],
7
- "version": "https://github.com/jlelong/vscode-latex-basics/commit/221a2443a5e8ac029685a0f872af39b23cc2b634",
8
- "name": "LaTeX",
9
- "scopeName": "text.tex.latex",
10
- "patterns": [
11
- {
12
- "comment": "This scope identifies partially typed commands such as `\\tab`. We use this to trigger “Command Completion” only when it makes sense.",
13
- "match": "(?<=\\\\[\\w@]|\\\\[\\w@]{2}|\\\\[\\w@]{3}|\\\\[\\w@]{4}|\\\\[\\w@]{5}|\\\\[\\w@]{6})\\s",
14
- "name": "meta.space-after-command.latex"
15
- },
16
- {
17
- "begin": "((\\\\)(?:usepackage|documentclass))\\b(?=\\[|\\{)",
18
- "beginCaptures": {
19
- "1": {
20
- "name": "keyword.control.preamble.latex"
21
- },
22
- "2": {
23
- "name": "punctuation.definition.function.latex"
24
- }
25
- },
26
- "end": "(?<=\\})",
27
- "endCaptures": {
28
- "0": {
29
- "name": "punctuation.definition.arguments.end.latex"
30
- }
31
- },
32
- "name": "meta.preamble.latex",
33
- "patterns": [
34
- {
35
- "include": "#multiline-optional-arg"
36
- },
37
- {
38
- "begin": "((?:\\G|(?<=\\]))\\{)",
39
- "beginCaptures": {
40
- "0": {
41
- "name": "punctuation.definition.arguments.begin.latex"
42
- }
43
- },
44
- "end": "(\\})",
45
- "endCaptures": {
46
- "0": {
47
- "name": "punctuation.definition.arguments.end.latex"
48
- }
49
- },
50
- "contentName": "support.class.latex",
51
- "patterns": [
52
- {
53
- "include": "$self"
54
- }
55
- ]
56
- }
57
- ]
58
- },
59
- {
60
- "begin": "((\\\\)(?:include|input))(\\{)",
61
- "beginCaptures": {
62
- "1": {
63
- "name": "keyword.control.include.latex"
64
- },
65
- "2": {
66
- "name": "punctuation.definition.function.latex"
67
- },
68
- "3": {
69
- "name": "punctuation.definition.arguments.begin.latex"
70
- }
71
- },
72
- "end": "\\}",
73
- "endCaptures": {
74
- "0": {
75
- "name": "punctuation.definition.arguments.end.latex"
76
- }
77
- },
78
- "name": "meta.include.latex",
79
- "patterns": [
80
- {
81
- "include": "$self"
82
- }
83
- ]
84
- },
85
- {
86
- "begin": "((\\\\)((?:sub){0,2}section|(?:sub)?paragraph|chapter|part|addpart|addchap|addsec|minisec|frametitle)(?:\\*)?)((?:\\[[^\\[]*?\\]){0,2})(\\{)",
87
- "beginCaptures": {
88
- "1": {
89
- "name": "support.function.section.latex"
90
- },
91
- "2": {
92
- "name": "punctuation.definition.function.latex"
93
- },
94
- "4": {
95
- "patterns": [
96
- {
97
- "include": "#optional-arg"
98
- }
99
- ]
100
- },
101
- "5": {
102
- "name": "punctuation.definition.arguments.begin.latex"
103
- }
104
- },
105
- "comment": "this works OK with all kinds of crazy stuff as long as section is one line",
106
- "contentName": "entity.name.section.latex",
107
- "end": "\\}",
108
- "endCaptures": {
109
- "0": {
110
- "name": "punctuation.definition.arguments.end.latex"
111
- }
112
- },
113
- "name": "meta.function.section.$3.latex",
114
- "patterns": [
115
- {
116
- "include": "text.tex#braces"
117
- },
118
- {
119
- "include": "$base"
120
- }
121
- ]
122
- },
123
- {
124
- "name": "meta.function.environment.songs.latex",
125
- "begin": "((?:\\s*)\\\\begin\\{songs\\}\\{.*\\})",
126
- "end": "(\\\\end\\{songs\\}(?:\\s*\\n)?)",
127
- "captures": {
128
- "1": {
129
- "patterns": [
130
- {
131
- "include": "#begin-env-tokenizer"
132
- }
133
- ]
134
- }
135
- },
136
- "contentName": "meta.data.environment.songs.latex",
137
- "patterns": [
138
- {
139
- "name": "meta.chord.block.latex support.class.chord.block.environment.latex",
140
- "begin": "\\\\\\[",
141
- "end": "\\]",
142
- "patterns": [
143
- {
144
- "include": "$base"
145
- }
146
- ]
147
- },
148
- {
149
- "name": "meta.chord.block.latex support.class.chord.block.environment.latex",
150
- "match": "\\^"
151
- },
152
- {
153
- "include": "$self"
154
- }
155
- ]
156
- },
157
- {
158
- "begin": "(^\\s*)?\\\\begin\\{(lstlisting|minted|pyglist)\\}(?=\\[|\\{)",
159
- "end": "\\\\end\\{(?:minted|lstlisting|pyglist)\\}",
160
- "captures": {
161
- "0": {
162
- "patterns": [
163
- {
164
- "include": "#begin-env-tokenizer"
165
- }
166
- ]
167
- }
168
- },
169
- "patterns": [
170
- {
171
- "include": "#multiline-optional-arg-no-highlight"
172
- },
173
- {
174
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:c|cpp))(\\})",
175
- "beginCaptures": {
176
- "1": {
177
- "name": "punctuation.definition.arguments.begin.latex"
178
- },
179
- "2": {
180
- "name": "variable.parameter.function.latex"
181
- },
182
- "3": {
183
- "name": "punctuation.definition.arguments.end.latex"
184
- }
185
- },
186
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
187
- "contentName": "source.cpp.embedded.latex",
188
- "patterns": [
189
- {
190
- "include": "source.cpp.embedded.latex"
191
- }
192
- ]
193
- },
194
- {
195
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:asy|asymptote))(\\})",
196
- "beginCaptures": {
197
- "1": {
198
- "name": "punctuation.definition.arguments.begin.latex"
199
- },
200
- "2": {
201
- "name": "variable.parameter.function.latex"
202
- },
203
- "3": {
204
- "name": "punctuation.definition.arguments.end.latex"
205
- }
206
- },
207
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
208
- "contentName": "source.asy",
209
- "patterns": [
210
- {
211
- "include": "source.asy"
212
- }
213
- ]
214
- },
215
- {
216
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:css))(\\})",
217
- "beginCaptures": {
218
- "1": {
219
- "name": "punctuation.definition.arguments.begin.latex"
220
- },
221
- "2": {
222
- "name": "variable.parameter.function.latex"
223
- },
224
- "3": {
225
- "name": "punctuation.definition.arguments.end.latex"
226
- }
227
- },
228
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
229
- "contentName": "source.css",
230
- "patterns": [
231
- {
232
- "include": "source.css"
233
- }
234
- ]
235
- },
236
- {
237
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:hs|haskell))(\\})",
238
- "beginCaptures": {
239
- "1": {
240
- "name": "punctuation.definition.arguments.begin.latex"
241
- },
242
- "2": {
243
- "name": "variable.parameter.function.latex"
244
- },
245
- "3": {
246
- "name": "punctuation.definition.arguments.end.latex"
247
- }
248
- },
249
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
250
- "contentName": "source.haskell",
251
- "patterns": [
252
- {
253
- "include": "source.haskell"
254
- }
255
- ]
256
- },
257
- {
258
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:html))(\\})",
259
- "beginCaptures": {
260
- "1": {
261
- "name": "punctuation.definition.arguments.begin.latex"
262
- },
263
- "2": {
264
- "name": "variable.parameter.function.latex"
265
- },
266
- "3": {
267
- "name": "punctuation.definition.arguments.end.latex"
268
- }
269
- },
270
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
271
- "contentName": "text.html",
272
- "patterns": [
273
- {
274
- "include": "text.html.basic"
275
- }
276
- ]
277
- },
278
- {
279
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:xml))(\\})",
280
- "beginCaptures": {
281
- "1": {
282
- "name": "punctuation.definition.arguments.begin.latex"
283
- },
284
- "2": {
285
- "name": "variable.parameter.function.latex"
286
- },
287
- "3": {
288
- "name": "punctuation.definition.arguments.end.latex"
289
- }
290
- },
291
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
292
- "contentName": "text.xml",
293
- "patterns": [
294
- {
295
- "include": "text.xml"
296
- }
297
- ]
298
- },
299
- {
300
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:java))(\\})",
301
- "beginCaptures": {
302
- "1": {
303
- "name": "punctuation.definition.arguments.begin.latex"
304
- },
305
- "2": {
306
- "name": "variable.parameter.function.latex"
307
- },
308
- "3": {
309
- "name": "punctuation.definition.arguments.end.latex"
310
- }
311
- },
312
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
313
- "contentName": "source.java",
314
- "patterns": [
315
- {
316
- "include": "source.java"
317
- }
318
- ]
319
- },
320
- {
321
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:lua))(\\})",
322
- "beginCaptures": {
323
- "1": {
324
- "name": "punctuation.definition.arguments.begin.latex"
325
- },
326
- "2": {
327
- "name": "variable.parameter.function.latex"
328
- },
329
- "3": {
330
- "name": "punctuation.definition.arguments.end.latex"
331
- }
332
- },
333
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
334
- "contentName": "source.lua",
335
- "patterns": [
336
- {
337
- "include": "source.lua"
338
- }
339
- ]
340
- },
341
- {
342
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:jl|julia))(\\})",
343
- "beginCaptures": {
344
- "1": {
345
- "name": "punctuation.definition.arguments.begin.latex"
346
- },
347
- "2": {
348
- "name": "variable.parameter.function.latex"
349
- },
350
- "3": {
351
- "name": "punctuation.definition.arguments.end.latex"
352
- }
353
- },
354
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
355
- "contentName": "source.julia",
356
- "patterns": [
357
- {
358
- "include": "source.julia"
359
- }
360
- ]
361
- },
362
- {
363
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:rb|ruby))(\\})",
364
- "beginCaptures": {
365
- "1": {
366
- "name": "punctuation.definition.arguments.begin.latex"
367
- },
368
- "2": {
369
- "name": "variable.parameter.function.latex"
370
- },
371
- "3": {
372
- "name": "punctuation.definition.arguments.end.latex"
373
- }
374
- },
375
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
376
- "contentName": "source.ruby",
377
- "patterns": [
378
- {
379
- "include": "source.ruby"
380
- }
381
- ]
382
- },
383
- {
384
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:js|javascript))(\\})",
385
- "beginCaptures": {
386
- "1": {
387
- "name": "punctuation.definition.arguments.begin.latex"
388
- },
389
- "2": {
390
- "name": "variable.parameter.function.latex"
391
- },
392
- "3": {
393
- "name": "punctuation.definition.arguments.end.latex"
394
- }
395
- },
396
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
397
- "contentName": "source.js",
398
- "patterns": [
399
- {
400
- "include": "source.js"
401
- }
402
- ]
403
- },
404
- {
405
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:ts|typescript))(\\})",
406
- "beginCaptures": {
407
- "1": {
408
- "name": "punctuation.definition.arguments.begin.latex"
409
- },
410
- "2": {
411
- "name": "variable.parameter.function.latex"
412
- },
413
- "3": {
414
- "name": "punctuation.definition.arguments.end.latex"
415
- }
416
- },
417
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
418
- "contentName": "source.ts",
419
- "patterns": [
420
- {
421
- "include": "source.ts"
422
- }
423
- ]
424
- },
425
- {
426
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:py|python))(\\})",
427
- "beginCaptures": {
428
- "1": {
429
- "name": "punctuation.definition.arguments.begin.latex"
430
- },
431
- "2": {
432
- "name": "variable.parameter.function.latex"
433
- },
434
- "3": {
435
- "name": "punctuation.definition.arguments.end.latex"
436
- }
437
- },
438
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
439
- "contentName": "source.python",
440
- "patterns": [
441
- {
442
- "include": "source.python"
443
- }
444
- ]
445
- },
446
- {
447
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:yaml))(\\})",
448
- "beginCaptures": {
449
- "1": {
450
- "name": "punctuation.definition.arguments.begin.latex"
451
- },
452
- "2": {
453
- "name": "variable.parameter.function.latex"
454
- },
455
- "3": {
456
- "name": "punctuation.definition.arguments.end.latex"
457
- }
458
- },
459
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
460
- "contentName": "source.yaml",
461
- "patterns": [
462
- {
463
- "include": "source.yaml"
464
- }
465
- ]
466
- },
467
- {
468
- "begin": "(?:\\G|(?<=\\]))(\\{)((?:rust))(\\})",
469
- "beginCaptures": {
470
- "1": {
471
- "name": "punctuation.definition.arguments.begin.latex"
472
- },
473
- "2": {
474
- "name": "variable.parameter.function.latex"
475
- },
476
- "3": {
477
- "name": "punctuation.definition.arguments.end.latex"
478
- }
479
- },
480
- "end": "^\\s*(?=\\\\end\\{(?:minted|lstlisting|pyglist)\\})",
481
- "contentName": "source.rust",
482
- "patterns": [
483
- {
484
- "include": "source.rust"
485
- }
486
- ]
487
- },
488
- {
489
- "begin": "(?:\\G|(?<=\\]))(\\{)([a-zA-Z]*)(\\})",
490
- "beginCaptures": {
491
- "1": {
492
- "name": "punctuation.definition.arguments.begin.latex"
493
- },
494
- "2": {
495
- "name": "variable.parameter.function.latex"
496
- },
497
- "3": {
498
- "name": "punctuation.definition.arguments.end.latex"
499
- }
500
- },
501
- "contentName": "meta.function.embedded.latex",
502
- "end": "^\\s*(?=\\\\end\\{(?:lstlisting|minted|pyglist)\\})",
503
- "name": "meta.embedded.block.generic.latex"
504
- }
505
- ]
506
- },
507
- {
508
- "begin": "\\s*\\\\begin\\{(?:cppcode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
509
- "end": "\\s*\\\\end\\{(?:cppcode)\\*?\\}",
510
- "captures": {
511
- "0": {
512
- "patterns": [
513
- {
514
- "include": "#begin-env-tokenizer"
515
- }
516
- ]
517
- }
518
- },
519
- "patterns": [
520
- {
521
- "include": "#multiline-optional-arg-no-highlight"
522
- },
523
- {
524
- "begin": "(?:\\G|(?<=\\]))(\\{)",
525
- "beginCaptures": {
526
- "1": {
527
- "name": "punctuation.definition.arguments.begin.latex"
528
- }
529
- },
530
- "end": "(\\})",
531
- "endCaptures": {
532
- "1": {
533
- "name": "punctuation.definition.arguments.end.latex"
534
- }
535
- },
536
- "contentName": "variable.parameter.function.latex"
537
- },
538
- {
539
- "begin": "^(?=\\s*)",
540
- "end": "^\\s*(?=\\\\end\\{(?:cppcode)\\*?\\})",
541
- "contentName": "source.cpp.embedded.latex",
542
- "patterns": [
543
- {
544
- "include": "source.cpp.embedded.latex"
545
- }
546
- ]
547
- }
548
- ]
549
- },
550
- {
551
- "begin": "\\s*\\\\begin\\{(?:hscode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
552
- "end": "\\s*\\\\end\\{(?:hscode)\\*?\\}",
553
- "captures": {
554
- "0": {
555
- "patterns": [
556
- {
557
- "include": "#begin-env-tokenizer"
558
- }
559
- ]
560
- }
561
- },
562
- "patterns": [
563
- {
564
- "include": "#multiline-optional-arg-no-highlight"
565
- },
566
- {
567
- "begin": "(?:\\G|(?<=\\]))(\\{)",
568
- "beginCaptures": {
569
- "1": {
570
- "name": "punctuation.definition.arguments.begin.latex"
571
- }
572
- },
573
- "end": "(\\})",
574
- "endCaptures": {
575
- "1": {
576
- "name": "punctuation.definition.arguments.end.latex"
577
- }
578
- },
579
- "contentName": "variable.parameter.function.latex"
580
- },
581
- {
582
- "begin": "^(?=\\s*)",
583
- "end": "^\\s*(?=\\\\end\\{(?:hscode)\\*?\\})",
584
- "contentName": "source.haskell",
585
- "patterns": [
586
- {
587
- "include": "source.haskell"
588
- }
589
- ]
590
- }
591
- ]
592
- },
593
- {
594
- "begin": "\\s*\\\\begin\\{(?:luacode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
595
- "end": "\\s*\\\\end\\{(?:luacode)\\*?\\}",
596
- "captures": {
597
- "0": {
598
- "patterns": [
599
- {
600
- "include": "#begin-env-tokenizer"
601
- }
602
- ]
603
- }
604
- },
605
- "patterns": [
606
- {
607
- "include": "#multiline-optional-arg-no-highlight"
608
- },
609
- {
610
- "begin": "(?:\\G|(?<=\\]))(\\{)",
611
- "beginCaptures": {
612
- "1": {
613
- "name": "punctuation.definition.arguments.begin.latex"
614
- }
615
- },
616
- "end": "(\\})",
617
- "endCaptures": {
618
- "1": {
619
- "name": "punctuation.definition.arguments.end.latex"
620
- }
621
- },
622
- "contentName": "variable.parameter.function.latex"
623
- },
624
- {
625
- "begin": "^(?=\\s*)",
626
- "end": "^\\s*(?=\\\\end\\{(?:luacode)\\*?\\})",
627
- "contentName": "source.lua",
628
- "patterns": [
629
- {
630
- "include": "source.lua"
631
- }
632
- ]
633
- }
634
- ]
635
- },
636
- {
637
- "begin": "\\s*\\\\begin\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
638
- "end": "\\s*\\\\end\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\}",
639
- "captures": {
640
- "0": {
641
- "patterns": [
642
- {
643
- "include": "#begin-env-tokenizer"
644
- }
645
- ]
646
- }
647
- },
648
- "patterns": [
649
- {
650
- "include": "#multiline-optional-arg-no-highlight"
651
- },
652
- {
653
- "begin": "(?:\\G|(?<=\\]))(\\{)",
654
- "beginCaptures": {
655
- "1": {
656
- "name": "punctuation.definition.arguments.begin.latex"
657
- }
658
- },
659
- "end": "(\\})",
660
- "endCaptures": {
661
- "1": {
662
- "name": "punctuation.definition.arguments.end.latex"
663
- }
664
- },
665
- "contentName": "variable.parameter.function.latex"
666
- },
667
- {
668
- "begin": "^(?=\\s*)",
669
- "end": "^\\s*(?=\\\\end\\{(?:jlcode|jlverbatim|jlblock|jlconcode|jlconsole|jlconverbatim)\\*?\\})",
670
- "contentName": "source.julia",
671
- "patterns": [
672
- {
673
- "include": "source.julia"
674
- }
675
- ]
676
- }
677
- ]
678
- },
679
- {
680
- "begin": "\\s*\\\\begin\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
681
- "end": "\\s*\\\\end\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\}",
682
- "captures": {
683
- "0": {
684
- "patterns": [
685
- {
686
- "include": "#begin-env-tokenizer"
687
- }
688
- ]
689
- }
690
- },
691
- "patterns": [
692
- {
693
- "include": "#multiline-optional-arg-no-highlight"
694
- },
695
- {
696
- "begin": "(?:\\G|(?<=\\]))(\\{)",
697
- "beginCaptures": {
698
- "1": {
699
- "name": "punctuation.definition.arguments.begin.latex"
700
- }
701
- },
702
- "end": "(\\})",
703
- "endCaptures": {
704
- "1": {
705
- "name": "punctuation.definition.arguments.end.latex"
706
- }
707
- },
708
- "contentName": "variable.parameter.function.latex"
709
- },
710
- {
711
- "begin": "^(?=\\s*)",
712
- "end": "^\\s*(?=\\\\end\\{(?:juliacode|juliaverbatim|juliablock|juliaconcode|juliaconsole|juliaconverbatim)\\*?\\})",
713
- "contentName": "source.julia",
714
- "patterns": [
715
- {
716
- "include": "source.julia"
717
- }
718
- ]
719
- }
720
- ]
721
- },
722
- {
723
- "begin": "\\s*\\\\begin\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
724
- "end": "\\s*\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\}",
725
- "captures": {
726
- "0": {
727
- "patterns": [
728
- {
729
- "include": "#begin-env-tokenizer"
730
- }
731
- ]
732
- }
733
- },
734
- "patterns": [
735
- {
736
- "include": "#multiline-optional-arg-no-highlight"
737
- },
738
- {
739
- "begin": "(?:\\G|(?<=\\]))(\\{)",
740
- "beginCaptures": {
741
- "1": {
742
- "name": "punctuation.definition.arguments.begin.latex"
743
- }
744
- },
745
- "end": "(\\})",
746
- "endCaptures": {
747
- "1": {
748
- "name": "punctuation.definition.arguments.end.latex"
749
- }
750
- },
751
- "contentName": "variable.parameter.function.latex"
752
- },
753
- {
754
- "begin": "^(?=\\s*)",
755
- "end": "^\\s*(?=\\\\end\\{(?:sageblock|sagesilent|sageverbatim|sageexample|sagecommandline|python|pythonq|pythonrepl)\\*?\\})",
756
- "contentName": "source.python",
757
- "patterns": [
758
- {
759
- "include": "source.python"
760
- }
761
- ]
762
- }
763
- ]
764
- },
765
- {
766
- "begin": "\\s*\\\\begin\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
767
- "end": "\\s*\\\\end\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\}",
768
- "captures": {
769
- "0": {
770
- "patterns": [
771
- {
772
- "include": "#begin-env-tokenizer"
773
- }
774
- ]
775
- }
776
- },
777
- "patterns": [
778
- {
779
- "include": "#multiline-optional-arg-no-highlight"
780
- },
781
- {
782
- "begin": "(?:\\G|(?<=\\]))(\\{)",
783
- "beginCaptures": {
784
- "1": {
785
- "name": "punctuation.definition.arguments.begin.latex"
786
- }
787
- },
788
- "end": "(\\})",
789
- "endCaptures": {
790
- "1": {
791
- "name": "punctuation.definition.arguments.end.latex"
792
- }
793
- },
794
- "contentName": "variable.parameter.function.latex"
795
- },
796
- {
797
- "begin": "^(?=\\s*)",
798
- "end": "^\\s*(?=\\\\end\\{(?:pycode|pyverbatim|pyblock|pyconcode|pyconsole|pyconverbatim)\\*?\\})",
799
- "contentName": "source.python",
800
- "patterns": [
801
- {
802
- "include": "source.python"
803
- }
804
- ]
805
- }
806
- ]
807
- },
808
- {
809
- "begin": "\\s*\\\\begin\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
810
- "end": "\\s*\\\\end\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\}",
811
- "captures": {
812
- "0": {
813
- "patterns": [
814
- {
815
- "include": "#begin-env-tokenizer"
816
- }
817
- ]
818
- }
819
- },
820
- "patterns": [
821
- {
822
- "include": "#multiline-optional-arg-no-highlight"
823
- },
824
- {
825
- "begin": "(?:\\G|(?<=\\]))(\\{)",
826
- "beginCaptures": {
827
- "1": {
828
- "name": "punctuation.definition.arguments.begin.latex"
829
- }
830
- },
831
- "end": "(\\})",
832
- "endCaptures": {
833
- "1": {
834
- "name": "punctuation.definition.arguments.end.latex"
835
- }
836
- },
837
- "contentName": "variable.parameter.function.latex"
838
- },
839
- {
840
- "begin": "^(?=\\s*)",
841
- "end": "^\\s*(?=\\\\end\\{(?:pylabcode|pylabverbatim|pylabblock|pylabconcode|pylabconsole|pylabconverbatim)\\*?\\})",
842
- "contentName": "source.python",
843
- "patterns": [
844
- {
845
- "include": "source.python"
846
- }
847
- ]
848
- }
849
- ]
850
- },
851
- {
852
- "begin": "\\s*\\\\begin\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
853
- "end": "\\s*\\\\end\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\}",
854
- "captures": {
855
- "0": {
856
- "patterns": [
857
- {
858
- "include": "#begin-env-tokenizer"
859
- }
860
- ]
861
- }
862
- },
863
- "patterns": [
864
- {
865
- "include": "#multiline-optional-arg-no-highlight"
866
- },
867
- {
868
- "begin": "(?:\\G|(?<=\\]))(\\{)",
869
- "beginCaptures": {
870
- "1": {
871
- "name": "punctuation.definition.arguments.begin.latex"
872
- }
873
- },
874
- "end": "(\\})",
875
- "endCaptures": {
876
- "1": {
877
- "name": "punctuation.definition.arguments.end.latex"
878
- }
879
- },
880
- "contentName": "variable.parameter.function.latex"
881
- },
882
- {
883
- "begin": "^(?=\\s*)",
884
- "end": "^\\s*(?=\\\\end\\{(?:sympycode|sympyverbatim|sympyblock|sympyconcode|sympyconsole|sympyconverbatim)\\*?\\})",
885
- "contentName": "source.python",
886
- "patterns": [
887
- {
888
- "include": "source.python"
889
- }
890
- ]
891
- }
892
- ]
893
- },
894
- {
895
- "begin": "\\s*\\\\begin\\{(?:scalacode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
896
- "end": "\\s*\\\\end\\{(?:scalacode)\\*?\\}",
897
- "captures": {
898
- "0": {
899
- "patterns": [
900
- {
901
- "include": "#begin-env-tokenizer"
902
- }
903
- ]
904
- }
905
- },
906
- "patterns": [
907
- {
908
- "include": "#multiline-optional-arg-no-highlight"
909
- },
910
- {
911
- "begin": "(?:\\G|(?<=\\]))(\\{)",
912
- "beginCaptures": {
913
- "1": {
914
- "name": "punctuation.definition.arguments.begin.latex"
915
- }
916
- },
917
- "end": "(\\})",
918
- "endCaptures": {
919
- "1": {
920
- "name": "punctuation.definition.arguments.end.latex"
921
- }
922
- },
923
- "contentName": "variable.parameter.function.latex"
924
- },
925
- {
926
- "begin": "^(?=\\s*)",
927
- "end": "^\\s*(?=\\\\end\\{(?:scalacode)\\*?\\})",
928
- "contentName": "source.scala",
929
- "patterns": [
930
- {
931
- "include": "source.scala"
932
- }
933
- ]
934
- }
935
- ]
936
- },
937
- {
938
- "begin": "\\s*\\\\begin\\{(?:asy|asycode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
939
- "end": "\\s*\\\\end\\{(?:asy|asycode)\\*?\\}",
940
- "captures": {
941
- "0": {
942
- "patterns": [
943
- {
944
- "include": "#begin-env-tokenizer"
945
- }
946
- ]
947
- }
948
- },
949
- "patterns": [
950
- {
951
- "include": "#multiline-optional-arg-no-highlight"
952
- },
953
- {
954
- "begin": "(?:\\G|(?<=\\]))(\\{)",
955
- "beginCaptures": {
956
- "1": {
957
- "name": "punctuation.definition.arguments.begin.latex"
958
- }
959
- },
960
- "end": "(\\})",
961
- "endCaptures": {
962
- "1": {
963
- "name": "punctuation.definition.arguments.end.latex"
964
- }
965
- },
966
- "contentName": "variable.parameter.function.latex"
967
- },
968
- {
969
- "begin": "^(?=\\s*)",
970
- "end": "^\\s*(?=\\\\end\\{(?:asy|asycode)\\*?\\})",
971
- "contentName": "source.asymptote",
972
- "patterns": [
973
- {
974
- "include": "source.asymptote"
975
- }
976
- ]
977
- }
978
- ]
979
- },
980
- {
981
- "begin": "\\s*\\\\begin\\{(?:dot2tex|dotcode)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
982
- "end": "\\s*\\\\end\\{(?:dot2tex|dotcode)\\*?\\}",
983
- "captures": {
984
- "0": {
985
- "patterns": [
986
- {
987
- "include": "#begin-env-tokenizer"
988
- }
989
- ]
990
- }
991
- },
992
- "patterns": [
993
- {
994
- "include": "#multiline-optional-arg-no-highlight"
995
- },
996
- {
997
- "begin": "(?:\\G|(?<=\\]))(\\{)",
998
- "beginCaptures": {
999
- "1": {
1000
- "name": "punctuation.definition.arguments.begin.latex"
1001
- }
1002
- },
1003
- "end": "(\\})",
1004
- "endCaptures": {
1005
- "1": {
1006
- "name": "punctuation.definition.arguments.end.latex"
1007
- }
1008
- },
1009
- "contentName": "variable.parameter.function.latex"
1010
- },
1011
- {
1012
- "begin": "^(?=\\s*)",
1013
- "end": "^\\s*(?=\\\\end\\{(?:dot2tex|dotcode)\\*?\\})",
1014
- "contentName": "source.dot",
1015
- "patterns": [
1016
- {
1017
- "include": "source.dot"
1018
- }
1019
- ]
1020
- }
1021
- ]
1022
- },
1023
- {
1024
- "begin": "\\s*\\\\begin\\{(?:gnuplot)\\*?\\}(?:\\[[a-zA-Z0-9_-]*\\])?(?=\\[|\\{|\\s*$)",
1025
- "end": "\\s*\\\\end\\{(?:gnuplot)\\*?\\}",
1026
- "captures": {
1027
- "0": {
1028
- "patterns": [
1029
- {
1030
- "include": "#begin-env-tokenizer"
1031
- }
1032
- ]
1033
- }
1034
- },
1035
- "patterns": [
1036
- {
1037
- "include": "#multiline-optional-arg-no-highlight"
1038
- },
1039
- {
1040
- "begin": "(?:\\G|(?<=\\]))(\\{)",
1041
- "beginCaptures": {
1042
- "1": {
1043
- "name": "punctuation.definition.arguments.begin.latex"
1044
- }
1045
- },
1046
- "end": "(\\})",
1047
- "endCaptures": {
1048
- "1": {
1049
- "name": "punctuation.definition.arguments.end.latex"
1050
- }
1051
- },
1052
- "contentName": "variable.parameter.function.latex"
1053
- },
1054
- {
1055
- "begin": "^(?=\\s*)",
1056
- "end": "^\\s*(?=\\\\end\\{(?:gnuplot)\\*?\\})",
1057
- "contentName": "source.gnuplot",
1058
- "patterns": [
1059
- {
1060
- "include": "source.gnuplot"
1061
- }
1062
- ]
1063
- }
1064
- ]
1065
- },
1066
- {
1067
- "begin": "((?:\\s*)\\\\begin\\{([a-zA-Z]*code|lstlisting|minted|pyglist)(?:\\*)?\\}(?:\\[.*\\])?(?:\\{.*\\})?)",
1068
- "captures": {
1069
- "1": {
1070
- "patterns": [
1071
- {
1072
- "include": "#begin-env-tokenizer"
1073
- }
1074
- ]
1075
- }
1076
- },
1077
- "end": "(\\\\end\\{\\2\\}(?:\\s*\\n)?)",
1078
- "contentName": "meta.function.embedded.latex",
1079
- "name": "meta.embedded.block.generic.latex"
1080
- },
1081
- {
1082
- "begin": "((\\\\)addplot)(?:\\+?)((?:\\[[^\\[]*\\]))*\\s*(gnuplot)\\s*((?:\\[[^\\[]*\\]))*\\s*(\\{)",
1083
- "captures": {
1084
- "1": {
1085
- "name": "support.function.be.latex"
1086
- },
1087
- "2": {
1088
- "name": "punctuation.definition.function.latex"
1089
- },
1090
- "3": {
1091
- "patterns": [
1092
- {
1093
- "include": "#optional-arg"
1094
- }
1095
- ]
1096
- },
1097
- "4": {
1098
- "name": "variable.parameter.function.latex"
1099
- },
1100
- "5": {
1101
- "patterns": [
1102
- {
1103
- "include": "#optional-arg"
1104
- }
1105
- ]
1106
- },
1107
- "6": {
1108
- "name": "punctuation.definition.arguments.begin.latex"
1109
- }
1110
- },
1111
- "patterns": [
1112
- {
1113
- "begin": "%",
1114
- "beginCaptures": {
1115
- "0": {
1116
- "name": "punctuation.definition.comment.latex"
1117
- }
1118
- },
1119
- "end": "$\\n?",
1120
- "name": "comment.line.percentage.latex"
1121
- },
1122
- {
1123
- "include": "source.gnuplot"
1124
- }
1125
- ],
1126
- "end": "\\s*(\\};)"
1127
- },
1128
- {
1129
- "begin": "(\\s*\\\\begin\\{((?:fboxv|boxedv|V|v|spv)erbatim\\*?)\\})",
1130
- "captures": {
1131
- "1": {
1132
- "patterns": [
1133
- {
1134
- "include": "#begin-env-tokenizer"
1135
- }
1136
- ]
1137
- }
1138
- },
1139
- "contentName": "markup.raw.verbatim.latex",
1140
- "end": "(\\\\end\\{\\2\\})",
1141
- "name": "meta.function.verbatim.latex"
1142
- },
1143
- {
1144
- "begin": "(\\s*\\\\begin\\{VerbatimOut\\}\\{[^\\}]*\\})",
1145
- "captures": {
1146
- "1": {
1147
- "patterns": [
1148
- {
1149
- "include": "#begin-env-tokenizer"
1150
- }
1151
- ]
1152
- }
1153
- },
1154
- "contentName": "markup.raw.verbatim.latex",
1155
- "end": "(\\\\end\\{\\VerbatimOut\\})",
1156
- "name": "meta.function.verbatim.latex"
1157
- },
1158
- {
1159
- "begin": "(\\s*\\\\begin\\{alltt\\})",
1160
- "captures": {
1161
- "1": {
1162
- "patterns": [
1163
- {
1164
- "include": "#begin-env-tokenizer"
1165
- }
1166
- ]
1167
- }
1168
- },
1169
- "contentName": "markup.raw.verbatim.latex",
1170
- "end": "(\\\\end\\{alltt\\})",
1171
- "name": "meta.function.alltt.latex",
1172
- "patterns": [
1173
- {
1174
- "captures": {
1175
- "1": {
1176
- "name": "punctuation.definition.function.latex"
1177
- }
1178
- },
1179
- "match": "(\\\\)[A-Za-z]+",
1180
- "name": "support.function.general.latex"
1181
- }
1182
- ]
1183
- },
1184
- {
1185
- "begin": "(\\s*\\\\begin\\{([Cc]omment)\\})",
1186
- "captures": {
1187
- "1": {
1188
- "patterns": [
1189
- {
1190
- "include": "#begin-env-tokenizer"
1191
- }
1192
- ]
1193
- }
1194
- },
1195
- "contentName": "punctuation.definition.comment.latex",
1196
- "end": "(\\\\end\\{\\2\\})",
1197
- "name": "meta.function.verbatim.latex"
1198
- },
1199
- {
1200
- "captures": {
1201
- "1": {
1202
- "name": "support.function.url.latex"
1203
- },
1204
- "2": {
1205
- "name": "punctuation.definition.function.latex"
1206
- },
1207
- "3": {
1208
- "patterns": [
1209
- {
1210
- "include": "#optional-arg"
1211
- }
1212
- ]
1213
- },
1214
- "4": {
1215
- "name": "punctuation.definition.arguments.begin.latex"
1216
- },
1217
- "5": {
1218
- "name": "markup.underline.link.latex"
1219
- },
1220
- "6": {
1221
- "name": "punctuation.definition.arguments.end.latex"
1222
- },
1223
- "7": {
1224
- "name": "punctuation.definition.arguments.begin.latex"
1225
- },
1226
- "8": {
1227
- "name": "entity.name.hyperlink.latex"
1228
- },
1229
- "9": {
1230
- "name": "punctuation.definition.arguments.end.latex"
1231
- }
1232
- },
1233
- "match": "(?:\\s*)((\\\\)(?:url|href|hyperref|hyperimage))(\\[[^\\[]*?\\])?(\\{)([^}]*)(\\})(?:\\{[^}]*\\}){2}?(?:(\\{)([^}]*)(\\}))?",
1234
- "name": "meta.function.link.url.latex"
1235
- },
1236
- {
1237
- "comment": "These two patterns match the \\begin{document} and \\end{document} commands, so that the environment matching pattern following them will ignore those commands.",
1238
- "match": "(\\s*\\\\begin\\{document\\})",
1239
- "name": "meta.function.begin-document.latex",
1240
- "captures": {
1241
- "1": {
1242
- "patterns": [
1243
- {
1244
- "include": "#begin-env-tokenizer"
1245
- }
1246
- ]
1247
- }
1248
- }
1249
- },
1250
- {
1251
- "match": "(\\s*\\\\end\\{document\\})",
1252
- "name": "meta.function.end-document.latex",
1253
- "captures": {
1254
- "1": {
1255
- "patterns": [
1256
- {
1257
- "include": "#begin-env-tokenizer"
1258
- }
1259
- ]
1260
- }
1261
- }
1262
- },
1263
- {
1264
- "begin": "(?:\\s*)((\\\\)begin)(\\{)((?:\\+?array|equation|(?:IEEE)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|\\+?cases|(?:display)?math|\\+?[a-zA-Z]*matrix|[pbBvV]?NiceMatrix|[pbBvV]?NiceArray|(?:(?:arg)?(?:mini|maxi)))(?:\\*|!)?)(\\})(\\s*\\n)?",
1265
- "captures": {
1266
- "1": {
1267
- "name": "support.function.be.latex"
1268
- },
1269
- "2": {
1270
- "name": "punctuation.definition.function.latex"
1271
- },
1272
- "3": {
1273
- "name": "punctuation.definition.arguments.begin.latex"
1274
- },
1275
- "4": {
1276
- "name": "variable.parameter.function.latex"
1277
- },
1278
- "5": {
1279
- "name": "punctuation.definition.arguments.end.latex"
1280
- }
1281
- },
1282
- "contentName": "meta.math.block.latex support.class.math.block.environment.latex",
1283
- "end": "(?:\\s*)((\\\\)end)(\\{)(\\4)(\\})(?:\\s*\\n)?",
1284
- "name": "meta.function.environment.math.latex",
1285
- "patterns": [
1286
- {
1287
- "match": "(?<!\\\\)&",
1288
- "name": "keyword.control.equation.align.latex"
1289
- },
1290
- {
1291
- "match": "\\\\\\\\",
1292
- "name": "keyword.control.equation.newline.latex"
1293
- },
1294
- {
1295
- "include": "#definition-label"
1296
- },
1297
- {
1298
- "include": "text.tex#math"
1299
- },
1300
- {
1301
- "include": "$base"
1302
- }
1303
- ]
1304
- },
1305
- {
1306
- "begin": "(?:\\s*)(\\\\begin\\{empheq\\}(?:\\[.*\\])?)",
1307
- "captures": {
1308
- "1": {
1309
- "patterns": [
1310
- {
1311
- "include": "#begin-env-tokenizer"
1312
- }
1313
- ]
1314
- }
1315
- },
1316
- "contentName": "meta.math.block.latex support.class.math.block.environment.latex",
1317
- "end": "(?:\\s*)(\\\\end\\{empheq\\})",
1318
- "name": "meta.function.environment.math.latex",
1319
- "patterns": [
1320
- {
1321
- "match": "(?<!\\\\)&",
1322
- "name": "keyword.control.equation.align.latex"
1323
- },
1324
- {
1325
- "match": "\\\\\\\\",
1326
- "name": "keyword.control.equation.newline.latex"
1327
- },
1328
- {
1329
- "include": "#definition-label"
1330
- },
1331
- {
1332
- "include": "text.tex#math"
1333
- },
1334
- {
1335
- "include": "$base"
1336
- }
1337
- ]
1338
- },
1339
- {
1340
- "begin": "(\\s*\\\\begin\\{(tabular[xy*]?|xltabular|longtable|(?:long)?tabu|(?:long|tall)?tblr|NiceTabular[X*]?|booktabs)\\}(\\s*\\n)?)",
1341
- "captures": {
1342
- "1": {
1343
- "patterns": [
1344
- {
1345
- "include": "#begin-env-tokenizer"
1346
- }
1347
- ]
1348
- }
1349
- },
1350
- "contentName": "meta.data.environment.tabular.latex",
1351
- "end": "(\\s*\\\\end\\{(\\2)\\}(?:\\s*\\n)?)",
1352
- "name": "meta.function.environment.tabular.latex",
1353
- "patterns": [
1354
- {
1355
- "match": "(?<!\\\\)&",
1356
- "name": "keyword.control.table.cell.latex"
1357
- },
1358
- {
1359
- "match": "\\\\\\\\",
1360
- "name": "keyword.control.table.newline.latex"
1361
- },
1362
- {
1363
- "include": "$base"
1364
- }
1365
- ]
1366
- },
1367
- {
1368
- "begin": "(\\s*\\\\begin\\{(itemize|enumerate|description|list)\\})",
1369
- "captures": {
1370
- "1": {
1371
- "patterns": [
1372
- {
1373
- "include": "#begin-env-tokenizer"
1374
- }
1375
- ]
1376
- }
1377
- },
1378
- "end": "(\\\\end\\{\\2\\}(?:\\s*\\n)?)",
1379
- "name": "meta.function.environment.list.latex",
1380
- "patterns": [
1381
- {
1382
- "include": "$base"
1383
- }
1384
- ]
1385
- },
1386
- {
1387
- "begin": "(\\s*\\\\begin\\{tikzpicture\\})",
1388
- "captures": {
1389
- "1": {
1390
- "patterns": [
1391
- {
1392
- "include": "#begin-env-tokenizer"
1393
- }
1394
- ]
1395
- }
1396
- },
1397
- "end": "(\\\\end\\{tikzpicture\\}(?:\\s*\\n)?)",
1398
- "name": "meta.function.environment.latex.tikz",
1399
- "patterns": [
1400
- {
1401
- "include": "$base"
1402
- }
1403
- ]
1404
- },
1405
- {
1406
- "begin": "(\\s*\\\\begin\\{frame\\})",
1407
- "captures": {
1408
- "1": {
1409
- "patterns": [
1410
- {
1411
- "include": "#begin-env-tokenizer"
1412
- }
1413
- ]
1414
- }
1415
- },
1416
- "end": "(\\\\end\\{frame\\})",
1417
- "name": "meta.function.environment.frame.latex",
1418
- "patterns": [
1419
- {
1420
- "include": "$base"
1421
- }
1422
- ]
1423
- },
1424
- {
1425
- "begin": "(\\s*\\\\begin\\{(mpost\\*?)\\})",
1426
- "captures": {
1427
- "1": {
1428
- "patterns": [
1429
- {
1430
- "include": "#begin-env-tokenizer"
1431
- }
1432
- ]
1433
- }
1434
- },
1435
- "end": "(\\\\end\\{\\2\\}(?:\\s*\\n)?)",
1436
- "name": "meta.function.environment.latex.mpost"
1437
- },
1438
- {
1439
- "begin": "(\\s*\\\\begin\\{markdown\\})",
1440
- "captures": {
1441
- "1": {
1442
- "patterns": [
1443
- {
1444
- "include": "#begin-env-tokenizer"
1445
- }
1446
- ]
1447
- }
1448
- },
1449
- "end": "(\\\\end\\{markdown\\})",
1450
- "contentName": "meta.embedded.markdown_latex_combined",
1451
- "patterns": [
1452
- {
1453
- "include": "text.tex.markdown_latex_combined"
1454
- }
1455
- ]
1456
- },
1457
- {
1458
- "begin": "(\\s*\\\\begin\\{(\\w+\\*?)\\})",
1459
- "captures": {
1460
- "1": {
1461
- "patterns": [
1462
- {
1463
- "include": "#begin-env-tokenizer"
1464
- }
1465
- ]
1466
- }
1467
- },
1468
- "end": "(\\\\end\\{\\2\\}(?:\\s*\\n)?)",
1469
- "name": "meta.function.environment.general.latex",
1470
- "patterns": [
1471
- {
1472
- "include": "$base"
1473
- }
1474
- ]
1475
- },
1476
- {
1477
- "captures": {
1478
- "1": {
1479
- "name": "storage.type.function.latex"
1480
- },
1481
- "2": {
1482
- "name": "punctuation.definition.function.latex"
1483
- },
1484
- "3": {
1485
- "name": "punctuation.definition.begin.latex"
1486
- },
1487
- "4": {
1488
- "name": "support.function.general.latex"
1489
- },
1490
- "5": {
1491
- "name": "punctuation.definition.function.latex"
1492
- },
1493
- "6": {
1494
- "name": "punctuation.definition.end.latex"
1495
- }
1496
- },
1497
- "match": "((\\\\)(?:newcommand|renewcommand|(?:re)?newrobustcmd|DeclareRobustCommand))\\*?({)((\\\\)[^}]*)(})"
1498
- },
1499
- {
1500
- "begin": "((\\\\)marginpar)((?:\\[[^\\[]*?\\])*)(\\{)",
1501
- "beginCaptures": {
1502
- "1": {
1503
- "name": "support.function.marginpar.latex"
1504
- },
1505
- "2": {
1506
- "name": "punctuation.definition.function.latex"
1507
- },
1508
- "3": {
1509
- "patterns": [
1510
- {
1511
- "include": "#optional-arg"
1512
- }
1513
- ]
1514
- },
1515
- "4": {
1516
- "name": "punctuation.definition.marginpar.begin.latex"
1517
- }
1518
- },
1519
- "contentName": "meta.paragraph.margin.latex",
1520
- "end": "\\}",
1521
- "endCaptures": {
1522
- "0": {
1523
- "name": "punctuation.definition.marginpar.end.latex"
1524
- }
1525
- },
1526
- "patterns": [
1527
- {
1528
- "include": "text.tex#braces"
1529
- },
1530
- {
1531
- "include": "$base"
1532
- }
1533
- ]
1534
- },
1535
- {
1536
- "begin": "((\\\\)footnote)((?:\\[[^\\[]*?\\])*)(\\{)",
1537
- "beginCaptures": {
1538
- "1": {
1539
- "name": "support.function.footnote.latex"
1540
- },
1541
- "2": {
1542
- "name": "punctuation.definition.function.latex"
1543
- },
1544
- "3": {
1545
- "patterns": [
1546
- {
1547
- "include": "#optional-arg"
1548
- }
1549
- ]
1550
- },
1551
- "4": {
1552
- "name": "punctuation.definition.footnote.begin.latex"
1553
- }
1554
- },
1555
- "contentName": "entity.name.footnote.latex",
1556
- "end": "\\}",
1557
- "endCaptures": {
1558
- "0": {
1559
- "name": "punctuation.definition.footnote.end.latex"
1560
- }
1561
- },
1562
- "patterns": [
1563
- {
1564
- "include": "text.tex#braces"
1565
- },
1566
- {
1567
- "include": "$base"
1568
- }
1569
- ]
1570
- },
1571
- {
1572
- "begin": "((\\\\)emph)(\\{)",
1573
- "beginCaptures": {
1574
- "1": {
1575
- "name": "support.function.emph.latex"
1576
- },
1577
- "2": {
1578
- "name": "punctuation.definition.function.latex"
1579
- },
1580
- "3": {
1581
- "name": "punctuation.definition.emph.begin.latex"
1582
- }
1583
- },
1584
- "contentName": "markup.italic.emph.latex",
1585
- "end": "\\}",
1586
- "endCaptures": {
1587
- "0": {
1588
- "name": "punctuation.definition.emph.end.latex"
1589
- }
1590
- },
1591
- "name": "meta.function.emph.latex",
1592
- "patterns": [
1593
- {
1594
- "include": "text.tex#braces"
1595
- },
1596
- {
1597
- "include": "$base"
1598
- }
1599
- ]
1600
- },
1601
- {
1602
- "begin": "((\\\\)textit)(\\{)",
1603
- "captures": {
1604
- "1": {
1605
- "name": "support.function.textit.latex"
1606
- },
1607
- "2": {
1608
- "name": "punctuation.definition.function.latex"
1609
- },
1610
- "3": {
1611
- "name": "punctuation.definition.textit.begin.latex"
1612
- }
1613
- },
1614
- "comment": "We put the keyword in a capture and name this capture, so that disabling spell checking for “keyword” won't be inherited by the argument to \\textit{...}.\n\nPut specific matches for particular LaTeX keyword.functions before the last two more general functions",
1615
- "contentName": "markup.italic.textit.latex",
1616
- "end": "\\}",
1617
- "endCaptures": {
1618
- "0": {
1619
- "name": "punctuation.definition.textit.end.latex"
1620
- }
1621
- },
1622
- "name": "meta.function.textit.latex",
1623
- "patterns": [
1624
- {
1625
- "include": "text.tex#braces"
1626
- },
1627
- {
1628
- "include": "$base"
1629
- }
1630
- ]
1631
- },
1632
- {
1633
- "begin": "((\\\\)textbf)(\\{)",
1634
- "captures": {
1635
- "1": {
1636
- "name": "support.function.textbf.latex"
1637
- },
1638
- "2": {
1639
- "name": "punctuation.definition.function.latex"
1640
- },
1641
- "3": {
1642
- "name": "punctuation.definition.textbf.begin.latex"
1643
- }
1644
- },
1645
- "contentName": "markup.bold.textbf.latex",
1646
- "end": "\\}",
1647
- "endCaptures": {
1648
- "0": {
1649
- "name": "punctuation.definition.textbf.end.latex"
1650
- }
1651
- },
1652
- "name": "meta.function.textbf.latex",
1653
- "patterns": [
1654
- {
1655
- "include": "text.tex#braces"
1656
- },
1657
- {
1658
- "include": "$base"
1659
- }
1660
- ]
1661
- },
1662
- {
1663
- "begin": "((\\\\)texttt)(\\{)",
1664
- "captures": {
1665
- "1": {
1666
- "name": "support.function.texttt.latex"
1667
- },
1668
- "2": {
1669
- "name": "punctuation.definition.function.latex"
1670
- },
1671
- "3": {
1672
- "name": "punctuation.definition.texttt.begin.latex"
1673
- }
1674
- },
1675
- "contentName": "markup.raw.texttt.latex",
1676
- "end": "\\}",
1677
- "endCaptures": {
1678
- "0": {
1679
- "name": "punctuation.definition.texttt.end.latex"
1680
- }
1681
- },
1682
- "name": "meta.function.texttt.latex",
1683
- "patterns": [
1684
- {
1685
- "include": "text.tex#braces"
1686
- },
1687
- {
1688
- "include": "$base"
1689
- }
1690
- ]
1691
- },
1692
- {
1693
- "captures": {
1694
- "0": {
1695
- "name": "keyword.other.item.latex"
1696
- },
1697
- "1": {
1698
- "name": "punctuation.definition.keyword.latex"
1699
- }
1700
- },
1701
- "match": "(\\\\)item\\b",
1702
- "name": "meta.scope.item.latex"
1703
- },
1704
- {
1705
- "begin": "((\\\\)(?:[aA]uto|foot|full|no|ref|short|[tT]ext|[pP]aren|[sS]mart)?[cC]ite(?:al)?(?:p|s|t|author|year(?:par)?|title)?[ANP]*\\*?)((?:(?:\\([^\\)]*\\)){0,2}(?:\\[[^\\]]*\\]){0,2}\\{[\\p{Alphabetic}:.]*\\})*)(?:([<\\[])[^\\]<>]*([>\\]]))?(?:(\\[)[^\\]]*(\\]))?(\\{)",
1706
- "captures": {
1707
- "1": {
1708
- "name": "keyword.control.cite.latex"
1709
- },
1710
- "2": {
1711
- "name": "punctuation.definition.keyword.latex"
1712
- },
1713
- "3": {
1714
- "patterns": [
1715
- {
1716
- "include": "#autocites-arg"
1717
- }
1718
- ]
1719
- },
1720
- "4": {
1721
- "name": "punctuation.definition.arguments.optional.begin.latex"
1722
- },
1723
- "5": {
1724
- "name": "punctuation.definition.arguments.optional.end.latex"
1725
- },
1726
- "6": {
1727
- "name": "punctuation.definition.arguments.optional.begin.latex"
1728
- },
1729
- "7": {
1730
- "name": "punctuation.definition.arguments.optional.end.latex"
1731
- },
1732
- "8": {
1733
- "name": "punctuation.definition.arguments.begin.latex"
1734
- }
1735
- },
1736
- "end": "\\}",
1737
- "endCaptures": {
1738
- "0": {
1739
- "name": "punctuation.definition.arguments.end.latex"
1740
- }
1741
- },
1742
- "name": "meta.citation.latex",
1743
- "patterns": [
1744
- {
1745
- "captures": {
1746
- "1": {
1747
- "name": "comment.line.percentage.tex"
1748
- },
1749
- "2": {
1750
- "name": "punctuation.definition.comment.tex"
1751
- }
1752
- },
1753
- "match": "((%).*)$"
1754
- },
1755
- {
1756
- "match": "[\\p{Alphabetic}\\p{Number}:.-]+",
1757
- "name": "constant.other.reference.citation.latex"
1758
- }
1759
- ]
1760
- },
1761
- {
1762
- "begin": "((\\\\)bibentry)(\\{)",
1763
- "captures": {
1764
- "1": {
1765
- "name": "keyword.control.cite.latex"
1766
- },
1767
- "2": {
1768
- "name": "punctuation.definition.keyword.latex"
1769
- },
1770
- "3": {
1771
- "name": "punctuation.definition.arguments.begin.latex"
1772
- }
1773
- },
1774
- "end": "\\}",
1775
- "endCaptures": {
1776
- "0": {
1777
- "name": "punctuation.definition.arguments.end.latex"
1778
- }
1779
- },
1780
- "name": "meta.citation.latex",
1781
- "patterns": [
1782
- {
1783
- "match": "[\\p{Alphabetic}\\p{Number}:.]+",
1784
- "name": "constant.other.reference.citation.latex"
1785
- }
1786
- ]
1787
- },
1788
- {
1789
- "begin": "((\\\\)(?:\\w*[rR]ef\\*?))(\\{)",
1790
- "beginCaptures": {
1791
- "1": {
1792
- "name": "keyword.control.ref.latex"
1793
- },
1794
- "2": {
1795
- "name": "punctuation.definition.keyword.latex"
1796
- },
1797
- "3": {
1798
- "name": "punctuation.definition.arguments.begin.latex"
1799
- }
1800
- },
1801
- "end": "\\}",
1802
- "endCaptures": {
1803
- "0": {
1804
- "name": "punctuation.definition.arguments.end.latex"
1805
- }
1806
- },
1807
- "name": "meta.reference.label.latex",
1808
- "patterns": [
1809
- {
1810
- "match": "[\\p{Alphabetic}\\p{Number}\\.,:/*!^_-]",
1811
- "name": "constant.other.reference.label.latex"
1812
- }
1813
- ]
1814
- },
1815
- {
1816
- "include": "#definition-label"
1817
- },
1818
- {
1819
- "begin": "((\\\\)(?:verb|Verb|spverb)\\*?)\\s*((\\\\)scantokens)(\\{)",
1820
- "beginCaptures": {
1821
- "1": {
1822
- "name": "support.function.verb.latex"
1823
- },
1824
- "2": {
1825
- "name": "punctuation.definition.function.latex"
1826
- },
1827
- "3": {
1828
- "name": "support.function.verb.latex"
1829
- },
1830
- "4": {
1831
- "name": "punctuation.definition.verb.latex"
1832
- },
1833
- "5": {
1834
- "name": "punctuation.definition.begin.latex"
1835
- }
1836
- },
1837
- "contentName": "markup.raw.verb.latex",
1838
- "end": "(\\})",
1839
- "endCaptures": {
1840
- "1": {
1841
- "name": "punctuation.definition.end.latex"
1842
- }
1843
- },
1844
- "name": "meta.function.verb.latex",
1845
- "patterns": [
1846
- {
1847
- "include": "$self"
1848
- }
1849
- ]
1850
- },
1851
- {
1852
- "captures": {
1853
- "1": {
1854
- "name": "support.function.verb.latex"
1855
- },
1856
- "2": {
1857
- "name": "punctuation.definition.function.latex"
1858
- },
1859
- "3": {
1860
- "name": "punctuation.definition.verb.latex"
1861
- },
1862
- "4": {
1863
- "name": "markup.raw.verb.latex"
1864
- },
1865
- "5": {
1866
- "name": "punctuation.definition.verb.latex"
1867
- }
1868
- },
1869
- "match": "((\\\\)(?:verb|Verb|spverb)\\*?)\\s*((?<=\\s)\\S|[^a-zA-Z])(.*?)(\\3|$)",
1870
- "name": "meta.function.verb.latex"
1871
- },
1872
- {
1873
- "captures": {
1874
- "1": {
1875
- "name": "support.function.verb.latex"
1876
- },
1877
- "2": {
1878
- "name": "punctuation.definition.function.latex"
1879
- },
1880
- "3": {
1881
- "patterns": [
1882
- {
1883
- "include": "#optional-arg"
1884
- }
1885
- ]
1886
- },
1887
- "4": {
1888
- "name": "punctuation.definition.arguments.begin.latex"
1889
- },
1890
- "5": {
1891
- "name": "punctuation.definition.arguments.end.latex"
1892
- },
1893
- "6": {
1894
- "name": "punctuation.definition.verb.latex"
1895
- },
1896
- "7": {
1897
- "name": "markup.raw.verb.latex"
1898
- },
1899
- "8": {
1900
- "name": "punctuation.definition.verb.latex"
1901
- },
1902
- "9": {
1903
- "name": "punctuation.definition.verb.latex"
1904
- },
1905
- "10": {
1906
- "name": "markup.raw.verb.latex"
1907
- },
1908
- "11": {
1909
- "name": "punctuation.definition.verb.latex"
1910
- }
1911
- },
1912
- "match": "((\\\\)(?:mint|mintinline))((?:\\[[^\\[]*?\\])?)(\\{)[a-zA-Z]*(\\})(?:(?:([^a-zA-Z\\{])(.*?)(\\6))|(?:(\\{)(.*?)(\\})))",
1913
- "name": "meta.function.verb.latex"
1914
- },
1915
- {
1916
- "captures": {
1917
- "1": {
1918
- "name": "support.function.verb.latex"
1919
- },
1920
- "2": {
1921
- "name": "punctuation.definition.function.latex"
1922
- },
1923
- "3": {
1924
- "patterns": [
1925
- {
1926
- "include": "#optional-arg"
1927
- }
1928
- ]
1929
- },
1930
- "4": {
1931
- "name": "punctuation.definition.verb.latex"
1932
- },
1933
- "5": {
1934
- "name": "markup.raw.verb.latex"
1935
- },
1936
- "6": {
1937
- "name": "punctuation.definition.verb.latex"
1938
- },
1939
- "7": {
1940
- "name": "punctuation.definition.verb.latex"
1941
- },
1942
- "8": {
1943
- "name": "markup.raw.verb.latex"
1944
- },
1945
- "9": {
1946
- "name": "punctuation.definition.verb.latex"
1947
- }
1948
- },
1949
- "match": "((\\\\)[a-z]+inline)((?:\\[[^\\[]*?\\])?)(?:(?:([^a-zA-Z\\{])(.*?)(\\4))|(?:(\\{)(.*?)(\\})))",
1950
- "name": "meta.function.verb.latex"
1951
- },
1952
- {
1953
- "captures": {
1954
- "1": {
1955
- "name": "support.function.verb.latex"
1956
- },
1957
- "2": {
1958
- "name": "punctuation.definition.function.latex"
1959
- },
1960
- "3": {
1961
- "patterns": [
1962
- {
1963
- "include": "#optional-arg"
1964
- }
1965
- ]
1966
- },
1967
- "4": {
1968
- "name": "punctuation.definition.verb.latex"
1969
- },
1970
- "5": {
1971
- "name": "source.python",
1972
- "patterns": [
1973
- {
1974
- "include": "source.python"
1975
- }
1976
- ]
1977
- },
1978
- "6": {
1979
- "name": "punctuation.definition.verb.latex"
1980
- },
1981
- "7": {
1982
- "name": "punctuation.definition.verb.latex"
1983
- },
1984
- "8": {
1985
- "name": "source.python",
1986
- "patterns": [
1987
- {
1988
- "include": "source.python"
1989
- }
1990
- ]
1991
- },
1992
- "9": {
1993
- "name": "punctuation.definition.verb.latex"
1994
- }
1995
- },
1996
- "match": "((\\\\)(?:(?:py|pycon|pylab|pylabcon|sympy|sympycon)[cv]?|pyq|pycq|pyif))((?:\\[[^\\[]*?\\])?)(?:(?:([^a-zA-Z\\{])(.*?)(\\4))|(?:(\\{)(.*?)(\\})))",
1997
- "name": "meta.function.verb.latex"
1998
- },
1999
- {
2000
- "captures": {
2001
- "1": {
2002
- "name": "support.function.verb.latex"
2003
- },
2004
- "2": {
2005
- "name": "punctuation.definition.function.latex"
2006
- },
2007
- "3": {
2008
- "patterns": [
2009
- {
2010
- "include": "#optional-arg"
2011
- }
2012
- ]
2013
- },
2014
- "4": {
2015
- "name": "punctuation.definition.verb.latex"
2016
- },
2017
- "5": {
2018
- "name": "source.julia",
2019
- "patterns": [
2020
- {
2021
- "include": "source.julia"
2022
- }
2023
- ]
2024
- },
2025
- "6": {
2026
- "name": "punctuation.definition.verb.latex"
2027
- },
2028
- "7": {
2029
- "name": "punctuation.definition.verb.latex"
2030
- },
2031
- "8": {
2032
- "name": "source.julia",
2033
- "patterns": [
2034
- {
2035
- "include": "source.julia"
2036
- }
2037
- ]
2038
- },
2039
- "9": {
2040
- "name": "punctuation.definition.verb.latex"
2041
- }
2042
- },
2043
- "match": "((\\\\)(?:jl|julia)[cv]?)((?:\\[[^\\[]*?\\])?)(?:(?:([^a-zA-Z\\{])(.*?)(\\4))|(?:(\\{)(.*?)(\\})))",
2044
- "name": "meta.function.verb.latex"
2045
- },
2046
- {
2047
- "match": "\\\\(?:newline|pagebreak|clearpage|linebreak|pause)(?:\\b)",
2048
- "name": "keyword.control.layout.latex"
2049
- },
2050
- {
2051
- "begin": "\\\\\\(",
2052
- "beginCaptures": {
2053
- "0": {
2054
- "name": "punctuation.definition.string.begin.latex"
2055
- }
2056
- },
2057
- "end": "\\\\\\)",
2058
- "endCaptures": {
2059
- "0": {
2060
- "name": "punctuation.definition.string.end.latex"
2061
- }
2062
- },
2063
- "name": "meta.math.block.latex support.class.math.block.environment.latex",
2064
- "patterns": [
2065
- {
2066
- "include": "text.tex#math"
2067
- },
2068
- {
2069
- "include": "$base"
2070
- }
2071
- ]
2072
- },
2073
- {
2074
- "begin": "(,,)",
2075
- "beginCaptures": {
2076
- "1": {
2077
- "name": "punctuation.definition.string.begin.latex"
2078
- }
2079
- },
2080
- "end": "(?<!\\\\)(\\`\\`)",
2081
- "endCaptures": {
2082
- "1": {
2083
- "name": "punctuation.definition.string.end.latex"
2084
- }
2085
- },
2086
- "name": "string.quoted.double.latex"
2087
- },
2088
- {
2089
- "begin": "(?<!\\\\|\\\\catcode|\\\\string)(\\`\\`)",
2090
- "beginCaptures": {
2091
- "1": {
2092
- "name": "punctuation.definition.string.begin.latex"
2093
- }
2094
- },
2095
- "end": "(?<!\\\\)(\\'\\'|\")",
2096
- "endCaptures": {
2097
- "1": {
2098
- "name": "punctuation.definition.string.end.latex"
2099
- }
2100
- },
2101
- "name": "string.quoted.double.latex"
2102
- },
2103
- {
2104
- "begin": "\\$\\$",
2105
- "beginCaptures": {
2106
- "0": {
2107
- "name": "punctuation.definition.string.begin.latex"
2108
- }
2109
- },
2110
- "end": "\\$\\$",
2111
- "endCaptures": {
2112
- "0": {
2113
- "name": "punctuation.definition.string.end.latex"
2114
- }
2115
- },
2116
- "name": "meta.math.block.latex support.class.math.block.environment.latex",
2117
- "patterns": [
2118
- {
2119
- "match": "\\\\\\$",
2120
- "name": "constant.character.escape.latex"
2121
- },
2122
- {
2123
- "include": "text.tex#math"
2124
- },
2125
- {
2126
- "include": "$base"
2127
- }
2128
- ]
2129
- },
2130
- {
2131
- "begin": "\\$",
2132
- "beginCaptures": {
2133
- "0": {
2134
- "name": "punctuation.definition.string.begin.tex"
2135
- }
2136
- },
2137
- "end": "\\$",
2138
- "endCaptures": {
2139
- "0": {
2140
- "name": "punctuation.definition.string.end.tex"
2141
- }
2142
- },
2143
- "name": "meta.math.block.tex support.class.math.block.tex",
2144
- "patterns": [
2145
- {
2146
- "match": "\\\\\\$",
2147
- "name": "constant.character.escape.latex"
2148
- },
2149
- {
2150
- "include": "text.tex#math"
2151
- },
2152
- {
2153
- "include": "$base"
2154
- }
2155
- ]
2156
- },
2157
- {
2158
- "begin": "\\\\\\[",
2159
- "beginCaptures": {
2160
- "0": {
2161
- "name": "punctuation.definition.string.begin.latex"
2162
- }
2163
- },
2164
- "end": "\\\\\\]",
2165
- "endCaptures": {
2166
- "0": {
2167
- "name": "punctuation.definition.string.end.latex"
2168
- }
2169
- },
2170
- "name": "meta.math.block.latex support.class.math.block.environment.latex",
2171
- "patterns": [
2172
- {
2173
- "include": "text.tex#math"
2174
- },
2175
- {
2176
- "include": "$base"
2177
- }
2178
- ]
2179
- },
2180
- {
2181
- "captures": {
2182
- "1": {
2183
- "name": "punctuation.definition.constant.latex"
2184
- }
2185
- },
2186
- "match": "(\\\\)(text(s(terling|ixoldstyle|urd|e(ction|venoldstyle|rvicemark))|yen|n(ineoldstyle|umero|aira)|c(ircledP|o(py(left|right)|lonmonetary)|urrency|e(nt(oldstyle)?|lsius))|t(hree(superior|oldstyle|quarters(emdash)?)|i(ldelow|mes)|w(o(superior|oldstyle)|elveudash)|rademark)|interrobang(down)?|zerooldstyle|o(hm|ne(superior|half|oldstyle|quarter)|penbullet|rd(feminine|masculine))|d(i(scount|ed|v(orced)?)|o(ng|wnarrow|llar(oldstyle)?)|egree|agger(dbl)?|blhyphen(char)?)|uparrow|p(ilcrow|e(so|r(t(housand|enthousand)|iodcentered))|aragraph|m)|e(stimated|ightoldstyle|uro)|quotes(traight(dblbase|base)|ingle)|f(iveoldstyle|ouroldstyle|lorin|ractionsolidus)|won|l(not|ira|e(ftarrow|af)|quill|angle|brackdbl)|a(s(cii(caron|dieresis|acute|grave|macron|breve)|teriskcentered)|cutedbl)|r(ightarrow|e(cipe|ferencemark|gistered)|quill|angle|brackdbl)|g(uarani|ravedbl)|m(ho|inus|u(sicalnote)?|arried)|b(igcircle|orn|ullet|lank|a(ht|rdbl)|rokenbar)))\\b",
2187
- "name": "constant.character.latex"
2188
- },
2189
- {
2190
- "captures": {
2191
- "1": {
2192
- "name": "punctuation.definition.column-specials.begin.latex"
2193
- },
2194
- "2": {
2195
- "name": "punctuation.definition.column-specials.end.latex"
2196
- }
2197
- },
2198
- "match": "(?:<|>)(\\{)\\$(\\})",
2199
- "name": "meta.column-specials.latex"
2200
- },
2201
- {
2202
- "include": "text.tex"
2203
- }
2204
- ],
2205
- "repository": {
2206
- "optional-arg": {
2207
- "patterns": [
2208
- {
2209
- "captures": {
2210
- "1": {
2211
- "name": "punctuation.definition.arguments.optional.begin.latex"
2212
- },
2213
- "2": {
2214
- "name": "variable.parameter.function.latex"
2215
- },
2216
- "3": {
2217
- "name": "punctuation.definition.arguments.optional.end.latex"
2218
- }
2219
- },
2220
- "match": "(\\[)([^\\[]*?)(\\])",
2221
- "name": "meta.parameter.optional.latex"
2222
- }
2223
- ]
2224
- },
2225
- "multiline-optional-arg-no-highlight": {
2226
- "begin": "\\G\\[",
2227
- "beginCaptures": {
2228
- "0": {
2229
- "name": "punctuation.definition.arguments.optional.begin.latex"
2230
- }
2231
- },
2232
- "end": "\\]",
2233
- "endCaptures": {
2234
- "0": {
2235
- "name": "punctuation.definition.arguments.optional.end.latex"
2236
- }
2237
- },
2238
- "name": "meta.parameter.optional.latex",
2239
- "patterns": [
2240
- {
2241
- "include": "$self"
2242
- }
2243
- ]
2244
- },
2245
- "multiline-optional-arg": {
2246
- "begin": "\\G\\[",
2247
- "beginCaptures": {
2248
- "0": {
2249
- "name": "punctuation.definition.arguments.optional.begin.latex"
2250
- }
2251
- },
2252
- "end": "\\]",
2253
- "endCaptures": {
2254
- "0": {
2255
- "name": "punctuation.definition.arguments.optional.end.latex"
2256
- }
2257
- },
2258
- "name": "meta.parameter.optional.latex",
2259
- "contentName": "variable.parameter.function.latex",
2260
- "patterns": [
2261
- {
2262
- "include": "$self"
2263
- }
2264
- ]
2265
- },
2266
- "autocites-arg": {
2267
- "patterns": [
2268
- {
2269
- "captures": {
2270
- "1": {
2271
- "name": "punctuation.definition.arguments.optional.begin.latex"
2272
- },
2273
- "2": {
2274
- "name": "punctuation.definition.arguments.optional.end.latex"
2275
- },
2276
- "3": {
2277
- "name": "punctuation.definition.arguments.optional.begin.latex"
2278
- },
2279
- "4": {
2280
- "name": "punctuation.definition.arguments.optional.end.latex"
2281
- },
2282
- "5": {
2283
- "name": "punctuation.definition.arguments.begin.latex"
2284
- },
2285
- "6": {
2286
- "name": "constant.other.reference.citation.latex"
2287
- },
2288
- "7": {
2289
- "name": "punctuation.definition.arguments.end.latex"
2290
- },
2291
- "8": {
2292
- "patterns": [
2293
- {
2294
- "include": "#autocites-arg"
2295
- }
2296
- ]
2297
- }
2298
- },
2299
- "match": "(?:(\\()[^\\)]*(\\))){0,2}(?:(\\[)[^\\]]*(\\])){0,2}(\\{)([\\p{Alphabetic}\\p{Number}:.]+)(\\})(.*)"
2300
- }
2301
- ]
2302
- },
2303
- "begin-env-tokenizer": {
2304
- "captures": {
2305
- "1": {
2306
- "name": "support.function.be.latex"
2307
- },
2308
- "2": {
2309
- "name": "punctuation.definition.function.latex"
2310
- },
2311
- "3": {
2312
- "name": "punctuation.definition.arguments.begin.latex"
2313
- },
2314
- "4": {
2315
- "name": "variable.parameter.function.latex"
2316
- },
2317
- "5": {
2318
- "name": "punctuation.definition.arguments.end.latex"
2319
- },
2320
- "6": {
2321
- "name": "punctuation.definition.arguments.optional.begin.latex"
2322
- },
2323
- "7": {
2324
- "patterns": [
2325
- {
2326
- "include": "$base"
2327
- }
2328
- ]
2329
- },
2330
- "8": {
2331
- "name": "punctuation.definition.arguments.optional.end.latex"
2332
- },
2333
- "9": {
2334
- "name": "punctuation.definition.arguments.begin.latex"
2335
- },
2336
- "10": {
2337
- "name": "variable.parameter.function.latex"
2338
- },
2339
- "11": {
2340
- "name": "punctuation.definition.arguments.end.latex"
2341
- }
2342
- },
2343
- "match": "\\s*((\\\\)(?:begin|end))(\\{)([a-zA-Z]*\\*?)(\\})(?:(\\[)(.*)(\\]))?(?:(\\{)([^{}]*)(\\}))?"
2344
- },
2345
- "definition-label": {
2346
- "begin": "((\\\\)label)((?:\\[[^\\[]*?\\])*)(\\{)",
2347
- "beginCaptures": {
2348
- "1": {
2349
- "name": "keyword.control.label.latex"
2350
- },
2351
- "2": {
2352
- "name": "punctuation.definition.keyword.latex"
2353
- },
2354
- "3": {
2355
- "patterns": [
2356
- {
2357
- "include": "#optional-arg"
2358
- }
2359
- ]
2360
- },
2361
- "4": {
2362
- "name": "punctuation.definition.arguments.begin.latex"
2363
- }
2364
- },
2365
- "end": "\\}",
2366
- "endCaptures": {
2367
- "0": {
2368
- "name": "punctuation.definition.arguments.end.latex"
2369
- }
2370
- },
2371
- "name": "meta.definition.label.latex",
2372
- "patterns": [
2373
- {
2374
- "match": "[\\p{Alphabetic}\\p{Number}\\.,:/*!^_-]",
2375
- "name": "variable.parameter.definition.label.latex"
2376
- }
2377
- ]
2378
- }
2379
- }
2380
- }