@codingame/monaco-vscode-bat-default-extension 1.81.8-next.1

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.
@@ -0,0 +1,16 @@
1
+ {
2
+ "Region Start": {
3
+ "prefix": "#region",
4
+ "body": [
5
+ "::#region"
6
+ ],
7
+ "description": "Folding Region Start"
8
+ },
9
+ "Region End": {
10
+ "prefix": "#endregion",
11
+ "body": [
12
+ "::#endregion"
13
+ ],
14
+ "description": "Folding Region End"
15
+ }
16
+ }
@@ -0,0 +1,788 @@
1
+ {
2
+ "information_for_contributors": [
3
+ "This file has been converted from https://github.com/mmims/language-batchfile/blob/master/grammars/batchfile.cson",
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/mmims/language-batchfile/commit/6154ae25a24e01ac9329e7bcf958e093cd8733a9",
8
+ "name": "Batch File",
9
+ "scopeName": "source.batchfile",
10
+ "injections": {
11
+ "L:meta.block.repeat.batchfile": {
12
+ "patterns": [
13
+ {
14
+ "include": "#repeatParameter"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ "patterns": [
20
+ {
21
+ "include": "#commands"
22
+ },
23
+ {
24
+ "include": "#comments"
25
+ },
26
+ {
27
+ "include": "#constants"
28
+ },
29
+ {
30
+ "include": "#controls"
31
+ },
32
+ {
33
+ "include": "#escaped_characters"
34
+ },
35
+ {
36
+ "include": "#labels"
37
+ },
38
+ {
39
+ "include": "#numbers"
40
+ },
41
+ {
42
+ "include": "#operators"
43
+ },
44
+ {
45
+ "include": "#parens"
46
+ },
47
+ {
48
+ "include": "#strings"
49
+ },
50
+ {
51
+ "include": "#variables"
52
+ }
53
+ ],
54
+ "repository": {
55
+ "commands": {
56
+ "patterns": [
57
+ {
58
+ "match": "(?<=^|[\\s@])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net use|net user|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scp|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|sftp|shadow|shift|showmount|shutdown|sort|ssh|ssh-add|ssh-agent|ssh-keygen|ssh-keyscan|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|wmic|wscript|wsl|xcopy)(?=$|\\s)",
59
+ "name": "keyword.command.batchfile"
60
+ },
61
+ {
62
+ "begin": "(?i)(?<=^|[\\s@])(echo)(?:(?=$|\\.|:)|\\s+(?:(on|off)(?=\\s*$))?)",
63
+ "beginCaptures": {
64
+ "1": {
65
+ "name": "keyword.command.batchfile"
66
+ },
67
+ "2": {
68
+ "name": "keyword.other.special-method.batchfile"
69
+ }
70
+ },
71
+ "end": "(?=$\\n|[&|><)])",
72
+ "patterns": [
73
+ {
74
+ "include": "#escaped_characters"
75
+ },
76
+ {
77
+ "include": "#variables"
78
+ },
79
+ {
80
+ "include": "#numbers"
81
+ },
82
+ {
83
+ "include": "#strings"
84
+ }
85
+ ]
86
+ },
87
+ {
88
+ "match": "(?i)(?<=^|[\\s@])(setlocal)(?:\\s*$|\\s+(EnableExtensions|DisableExtensions|EnableDelayedExpansion|DisableDelayedExpansion)(?=\\s*$))",
89
+ "captures": {
90
+ "1": {
91
+ "name": "keyword.command.batchfile"
92
+ },
93
+ "2": {
94
+ "name": "keyword.other.special-method.batchfile"
95
+ }
96
+ }
97
+ },
98
+ {
99
+ "include": "#command_set"
100
+ }
101
+ ]
102
+ },
103
+ "command_set": {
104
+ "patterns": [
105
+ {
106
+ "begin": "(?<=^|[\\s@])(?i:SET)(?=$|\\s)",
107
+ "beginCaptures": {
108
+ "0": {
109
+ "name": "keyword.command.batchfile"
110
+ }
111
+ },
112
+ "end": "(?=$\\n|[&|><)])",
113
+ "patterns": [
114
+ {
115
+ "include": "#command_set_inside"
116
+ }
117
+ ]
118
+ }
119
+ ]
120
+ },
121
+ "command_set_inside": {
122
+ "patterns": [
123
+ {
124
+ "include": "#escaped_characters"
125
+ },
126
+ {
127
+ "include": "#variables"
128
+ },
129
+ {
130
+ "include": "#numbers"
131
+ },
132
+ {
133
+ "include": "#parens"
134
+ },
135
+ {
136
+ "include": "#command_set_strings"
137
+ },
138
+ {
139
+ "include": "#strings"
140
+ },
141
+ {
142
+ "begin": "([^ ][^=]*)(=)",
143
+ "beginCaptures": {
144
+ "1": {
145
+ "name": "variable.other.readwrite.batchfile"
146
+ },
147
+ "2": {
148
+ "name": "keyword.operator.assignment.batchfile"
149
+ }
150
+ },
151
+ "end": "(?=$\\n|[&|><)])",
152
+ "patterns": [
153
+ {
154
+ "include": "#escaped_characters"
155
+ },
156
+ {
157
+ "include": "#variables"
158
+ },
159
+ {
160
+ "include": "#numbers"
161
+ },
162
+ {
163
+ "include": "#parens"
164
+ },
165
+ {
166
+ "include": "#strings"
167
+ }
168
+ ]
169
+ },
170
+ {
171
+ "begin": "\\s+/[aA]\\s+",
172
+ "end": "(?=$\\n|[&|><)])",
173
+ "name": "meta.expression.set.batchfile",
174
+ "patterns": [
175
+ {
176
+ "begin": "\"",
177
+ "beginCaptures": {
178
+ "0": {
179
+ "name": "punctuation.definition.string.begin.batchfile"
180
+ }
181
+ },
182
+ "end": "\"",
183
+ "endCaptures": {
184
+ "0": {
185
+ "name": "punctuation.definition.string.end.batchfile"
186
+ }
187
+ },
188
+ "name": "string.quoted.double.batchfile",
189
+ "patterns": [
190
+ {
191
+ "include": "#command_set_inside_arithmetic"
192
+ },
193
+ {
194
+ "include": "#command_set_group"
195
+ },
196
+ {
197
+ "include": "#variables"
198
+ }
199
+ ]
200
+ },
201
+ {
202
+ "include": "#command_set_inside_arithmetic"
203
+ },
204
+ {
205
+ "include": "#command_set_group"
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "begin": "\\s+/[pP]\\s+",
211
+ "end": "(?=$\\n|[&|><)])",
212
+ "patterns": [
213
+ {
214
+ "include": "#command_set_strings"
215
+ },
216
+ {
217
+ "begin": "([^ ][^=]*)(=)",
218
+ "beginCaptures": {
219
+ "1": {
220
+ "name": "variable.other.readwrite.batchfile"
221
+ },
222
+ "2": {
223
+ "name": "keyword.operator.assignment.batchfile"
224
+ }
225
+ },
226
+ "end": "(?=$\\n|[&|><)])",
227
+ "name": "meta.prompt.set.batchfile",
228
+ "patterns": [
229
+ {
230
+ "include": "#strings"
231
+ }
232
+ ]
233
+ }
234
+ ]
235
+ }
236
+ ]
237
+ },
238
+ "command_set_group": {
239
+ "patterns": [
240
+ {
241
+ "begin": "\\(",
242
+ "beginCaptures": {
243
+ "0": {
244
+ "name": "punctuation.section.group.begin.batchfile"
245
+ }
246
+ },
247
+ "end": "\\)",
248
+ "endCaptures": {
249
+ "0": {
250
+ "name": "punctuation.section.group.end.batchfile"
251
+ }
252
+ },
253
+ "patterns": [
254
+ {
255
+ "include": "#command_set_inside_arithmetic"
256
+ }
257
+ ]
258
+ }
259
+ ]
260
+ },
261
+ "command_set_inside_arithmetic": {
262
+ "patterns": [
263
+ {
264
+ "include": "#command_set_operators"
265
+ },
266
+ {
267
+ "include": "#numbers"
268
+ },
269
+ {
270
+ "match": ",",
271
+ "name": "punctuation.separator.batchfile"
272
+ }
273
+ ]
274
+ },
275
+ "command_set_operators": {
276
+ "patterns": [
277
+ {
278
+ "match": "([^ ]*)(\\+\\=|\\-\\=|\\*\\=|\\/\\=|%%\\=|&\\=|\\|\\=|\\^\\=|<<\\=|>>\\=)",
279
+ "captures": {
280
+ "1": {
281
+ "name": "variable.other.readwrite.batchfile"
282
+ },
283
+ "2": {
284
+ "name": "keyword.operator.assignment.augmented.batchfile"
285
+ }
286
+ }
287
+ },
288
+ {
289
+ "match": "\\+|\\-|/|\\*|%%|\\||&|\\^|<<|>>|~",
290
+ "name": "keyword.operator.arithmetic.batchfile"
291
+ },
292
+ {
293
+ "match": "!",
294
+ "name": "keyword.operator.logical.batchfile"
295
+ },
296
+ {
297
+ "match": "([^ =]*)(=)",
298
+ "captures": {
299
+ "1": {
300
+ "name": "variable.other.readwrite.batchfile"
301
+ },
302
+ "2": {
303
+ "name": "keyword.operator.assignment.batchfile"
304
+ }
305
+ }
306
+ }
307
+ ]
308
+ },
309
+ "command_set_strings": {
310
+ "patterns": [
311
+ {
312
+ "begin": "(\")\\s*([^ ][^=]*)(=)",
313
+ "beginCaptures": {
314
+ "1": {
315
+ "name": "punctuation.definition.string.begin.batchfile"
316
+ },
317
+ "2": {
318
+ "name": "variable.other.readwrite.batchfile"
319
+ },
320
+ "3": {
321
+ "name": "keyword.operator.assignment.batchfile"
322
+ }
323
+ },
324
+ "end": "\"",
325
+ "endCaptures": {
326
+ "0": {
327
+ "name": "punctuation.definition.string.end.batchfile"
328
+ }
329
+ },
330
+ "name": "string.quoted.double.batchfile",
331
+ "patterns": [
332
+ {
333
+ "include": "#variables"
334
+ },
335
+ {
336
+ "include": "#numbers"
337
+ },
338
+ {
339
+ "include": "#escaped_characters"
340
+ }
341
+ ]
342
+ }
343
+ ]
344
+ },
345
+ "comments": {
346
+ "patterns": [
347
+ {
348
+ "begin": "(?:^|(&))\\s*(?=((?::[+=,;: ])))",
349
+ "beginCaptures": {
350
+ "1": {
351
+ "name": "keyword.operator.conditional.batchfile"
352
+ }
353
+ },
354
+ "end": "\\n",
355
+ "patterns": [
356
+ {
357
+ "begin": "((?::[+=,;: ]))",
358
+ "beginCaptures": {
359
+ "1": {
360
+ "name": "punctuation.definition.comment.batchfile"
361
+ }
362
+ },
363
+ "end": "(?=\\n)",
364
+ "name": "comment.line.colon.batchfile"
365
+ }
366
+ ]
367
+ },
368
+ {
369
+ "begin": "(?<=^|[\\s@])(?i)(REM)(\\.)",
370
+ "beginCaptures": {
371
+ "1": {
372
+ "name": "keyword.command.rem.batchfile"
373
+ },
374
+ "2": {
375
+ "name": "punctuation.separator.batchfile"
376
+ }
377
+ },
378
+ "end": "(?=$\\n|[&|><)])",
379
+ "name": "comment.line.rem.batchfile"
380
+ },
381
+ {
382
+ "begin": "(?<=^|[\\s@])(?i:rem)\\b",
383
+ "beginCaptures": {
384
+ "0": {
385
+ "name": "keyword.command.rem.batchfile"
386
+ }
387
+ },
388
+ "end": "\\n",
389
+ "name": "comment.line.rem.batchfile",
390
+ "patterns": [
391
+ {
392
+ "match": "[><|]",
393
+ "name": "invalid.illegal.unexpected-character.batchfile"
394
+ }
395
+ ]
396
+ }
397
+ ]
398
+ },
399
+ "constants": {
400
+ "patterns": [
401
+ {
402
+ "match": "\\b(?i:NUL)\\b",
403
+ "name": "constant.language.batchfile"
404
+ }
405
+ ]
406
+ },
407
+ "controls": {
408
+ "patterns": [
409
+ {
410
+ "match": "(?i)(?<=^|\\s)(?:call|exit(?=$|\\s)|goto(?=$|\\s|:))",
411
+ "name": "keyword.control.statement.batchfile"
412
+ },
413
+ {
414
+ "match": "(?<=^|\\s)(?i)(if)\\s+(?:(not)\\s+)?(exist|defined|errorlevel|cmdextversion)(?=\\s)",
415
+ "captures": {
416
+ "1": {
417
+ "name": "keyword.control.conditional.batchfile"
418
+ },
419
+ "2": {
420
+ "name": "keyword.operator.logical.batchfile"
421
+ },
422
+ "3": {
423
+ "name": "keyword.other.special-method.batchfile"
424
+ }
425
+ }
426
+ },
427
+ {
428
+ "match": "(?<=^|\\s)(?i)(?:if|else)(?=$|\\s)",
429
+ "name": "keyword.control.conditional.batchfile"
430
+ },
431
+ {
432
+ "begin": "(?<=^|[\\s(&^])(?i)for(?=\\s)",
433
+ "beginCaptures": {
434
+ "0": {
435
+ "name": "keyword.control.repeat.batchfile"
436
+ }
437
+ },
438
+ "name": "meta.block.repeat.batchfile",
439
+ "end": "\\n",
440
+ "patterns": [
441
+ {
442
+ "begin": "(?<=[\\s^])(?i)in(?=\\s)",
443
+ "beginCaptures": {
444
+ "0": {
445
+ "name": "keyword.control.repeat.in.batchfile"
446
+ }
447
+ },
448
+ "end": "(?<=[\\s)^])(?i)do(?=\\s)|\\n",
449
+ "endCaptures": {
450
+ "0": {
451
+ "name": "keyword.control.repeat.do.batchfile"
452
+ }
453
+ },
454
+ "patterns": [
455
+ {
456
+ "include": "$self"
457
+ }
458
+ ]
459
+ },
460
+ {
461
+ "include": "$self"
462
+ }
463
+ ]
464
+ }
465
+ ]
466
+ },
467
+ "escaped_characters": {
468
+ "patterns": [
469
+ {
470
+ "match": "%%|\\^\\^!|\\^(?=.)|\\^\\n",
471
+ "name": "constant.character.escape.batchfile"
472
+ }
473
+ ]
474
+ },
475
+ "labels": {
476
+ "patterns": [
477
+ {
478
+ "match": "(?i)(?:^\\s*|(?<=call|goto)\\s*)(:)([^+=,;:\\s]\\S*)",
479
+ "captures": {
480
+ "1": {
481
+ "name": "punctuation.separator.batchfile"
482
+ },
483
+ "2": {
484
+ "name": "keyword.other.special-method.batchfile"
485
+ }
486
+ }
487
+ }
488
+ ]
489
+ },
490
+ "numbers": {
491
+ "patterns": [
492
+ {
493
+ "match": "(?<=^|\\s|=)(0[xX][0-9A-Fa-f]*|[+-]?\\d+)(?=$|\\s|<|>)",
494
+ "name": "constant.numeric.batchfile"
495
+ }
496
+ ]
497
+ },
498
+ "operators": {
499
+ "patterns": [
500
+ {
501
+ "match": "@(?=\\S)",
502
+ "name": "keyword.operator.at.batchfile"
503
+ },
504
+ {
505
+ "match": "(?<=\\s)(?i:EQU|NEQ|LSS|LEQ|GTR|GEQ)(?=\\s)|==",
506
+ "name": "keyword.operator.comparison.batchfile"
507
+ },
508
+ {
509
+ "match": "(?<=\\s)(?i)(NOT)(?=\\s)",
510
+ "name": "keyword.operator.logical.batchfile"
511
+ },
512
+ {
513
+ "match": "(?<!\\^)&&?|\\|\\|",
514
+ "name": "keyword.operator.conditional.batchfile"
515
+ },
516
+ {
517
+ "match": "(?<!\\^)\\|",
518
+ "name": "keyword.operator.pipe.batchfile"
519
+ },
520
+ {
521
+ "match": "<&?|>[&>]?",
522
+ "name": "keyword.operator.redirection.batchfile"
523
+ }
524
+ ]
525
+ },
526
+ "parens": {
527
+ "patterns": [
528
+ {
529
+ "begin": "\\(",
530
+ "beginCaptures": {
531
+ "0": {
532
+ "name": "punctuation.section.group.begin.batchfile"
533
+ }
534
+ },
535
+ "end": "\\)",
536
+ "endCaptures": {
537
+ "0": {
538
+ "name": "punctuation.section.group.end.batchfile"
539
+ }
540
+ },
541
+ "name": "meta.group.batchfile",
542
+ "patterns": [
543
+ {
544
+ "match": ",|;",
545
+ "name": "punctuation.separator.batchfile"
546
+ },
547
+ {
548
+ "include": "$self"
549
+ }
550
+ ]
551
+ }
552
+ ]
553
+ },
554
+ "repeatParameter": {
555
+ "patterns": [
556
+ {
557
+ "match": "(%%)(?:(?i:~[fdpnxsatz]*(?:\\$PATH:)?)?[a-zA-Z])",
558
+ "captures": {
559
+ "1": {
560
+ "name": "punctuation.definition.variable.batchfile"
561
+ }
562
+ },
563
+ "name": "variable.parameter.repeat.batchfile"
564
+ }
565
+ ]
566
+ },
567
+ "strings": {
568
+ "patterns": [
569
+ {
570
+ "begin": "\"",
571
+ "beginCaptures": {
572
+ "0": {
573
+ "name": "punctuation.definition.string.begin.batchfile"
574
+ }
575
+ },
576
+ "end": "(\")|(\\n)",
577
+ "endCaptures": {
578
+ "1": {
579
+ "name": "punctuation.definition.string.end.batchfile"
580
+ },
581
+ "2": {
582
+ "name": "invalid.illegal.newline.batchfile"
583
+ }
584
+ },
585
+ "name": "string.quoted.double.batchfile",
586
+ "patterns": [
587
+ {
588
+ "match": "%%",
589
+ "name": "constant.character.escape.batchfile"
590
+ },
591
+ {
592
+ "include": "#variables"
593
+ }
594
+ ]
595
+ }
596
+ ]
597
+ },
598
+ "variables": {
599
+ "patterns": [
600
+ {
601
+ "match": "(%)(?:(?i:~[fdpnxsatz]*(?:\\$PATH:)?)?\\d|\\*)",
602
+ "captures": {
603
+ "1": {
604
+ "name": "punctuation.definition.variable.batchfile"
605
+ }
606
+ },
607
+ "name": "variable.parameter.batchfile"
608
+ },
609
+ {
610
+ "include": "#variable"
611
+ },
612
+ {
613
+ "include": "#variable_delayed_expansion"
614
+ }
615
+ ]
616
+ },
617
+ "variable": {
618
+ "patterns": [
619
+ {
620
+ "begin": "%(?=[^%]+%)",
621
+ "beginCaptures": {
622
+ "0": {
623
+ "name": "punctuation.definition.variable.begin.batchfile"
624
+ }
625
+ },
626
+ "end": "(%)|\\n",
627
+ "endCaptures": {
628
+ "1": {
629
+ "name": "punctuation.definition.variable.end.batchfile"
630
+ }
631
+ },
632
+ "name": "variable.other.readwrite.batchfile",
633
+ "patterns": [
634
+ {
635
+ "begin": ":~",
636
+ "beginCaptures": {
637
+ "0": {
638
+ "name": "punctuation.separator.batchfile"
639
+ }
640
+ },
641
+ "end": "(?=%|\\n)",
642
+ "name": "meta.variable.substring.batchfile",
643
+ "patterns": [
644
+ {
645
+ "include": "#variable_substring"
646
+ }
647
+ ]
648
+ },
649
+ {
650
+ "begin": ":",
651
+ "beginCaptures": {
652
+ "0": {
653
+ "name": "punctuation.separator.batchfile"
654
+ }
655
+ },
656
+ "end": "(?=%|\\n)",
657
+ "name": "meta.variable.substitution.batchfile",
658
+ "patterns": [
659
+ {
660
+ "include": "#variable_replace"
661
+ },
662
+ {
663
+ "begin": "=",
664
+ "beginCaptures": {
665
+ "0": {
666
+ "name": "punctuation.separator.batchfile"
667
+ }
668
+ },
669
+ "end": "(?=%|\\n)",
670
+ "patterns": [
671
+ {
672
+ "include": "#variable_delayed_expansion"
673
+ },
674
+ {
675
+ "match": "[^%]+",
676
+ "name": "string.unquoted.batchfile"
677
+ }
678
+ ]
679
+ }
680
+ ]
681
+ }
682
+ ]
683
+ }
684
+ ]
685
+ },
686
+ "variable_delayed_expansion": {
687
+ "patterns": [
688
+ {
689
+ "begin": "!(?=[^!]+!)",
690
+ "beginCaptures": {
691
+ "0": {
692
+ "name": "punctuation.definition.variable.begin.batchfile"
693
+ }
694
+ },
695
+ "end": "(!)|\\n",
696
+ "endCaptures": {
697
+ "1": {
698
+ "name": "punctuation.definition.variable.end.batchfile"
699
+ }
700
+ },
701
+ "name": "variable.other.readwrite.batchfile",
702
+ "patterns": [
703
+ {
704
+ "begin": ":~",
705
+ "beginCaptures": {
706
+ "0": {
707
+ "name": "punctuation.separator.batchfile"
708
+ }
709
+ },
710
+ "end": "(?=!|\\n)",
711
+ "name": "meta.variable.substring.batchfile",
712
+ "patterns": [
713
+ {
714
+ "include": "#variable_substring"
715
+ }
716
+ ]
717
+ },
718
+ {
719
+ "begin": ":",
720
+ "beginCaptures": {
721
+ "0": {
722
+ "name": "punctuation.separator.batchfile"
723
+ }
724
+ },
725
+ "end": "(?=!|\\n)",
726
+ "name": "meta.variable.substitution.batchfile",
727
+ "patterns": [
728
+ {
729
+ "include": "#escaped_characters"
730
+ },
731
+ {
732
+ "include": "#variable_replace"
733
+ },
734
+ {
735
+ "include": "#variable"
736
+ },
737
+ {
738
+ "begin": "=",
739
+ "beginCaptures": {
740
+ "0": {
741
+ "name": "punctuation.separator.batchfile"
742
+ }
743
+ },
744
+ "end": "(?=!|\\n)",
745
+ "patterns": [
746
+ {
747
+ "include": "#variable"
748
+ },
749
+ {
750
+ "match": "[^!]+",
751
+ "name": "string.unquoted.batchfile"
752
+ }
753
+ ]
754
+ }
755
+ ]
756
+ }
757
+ ]
758
+ }
759
+ ]
760
+ },
761
+ "variable_replace": {
762
+ "patterns": [
763
+ {
764
+ "match": "[^=%!\\n]+",
765
+ "name": "string.unquoted.batchfile"
766
+ }
767
+ ]
768
+ },
769
+ "variable_substring": {
770
+ "patterns": [
771
+ {
772
+ "match": "([+-]?\\d+)(?:(,)([+-]?\\d+))?",
773
+ "captures": {
774
+ "1": {
775
+ "name": "constant.numeric.batchfile"
776
+ },
777
+ "2": {
778
+ "name": "punctuation.separator.batchfile"
779
+ },
780
+ "3": {
781
+ "name": "constant.numeric.batchfile"
782
+ }
783
+ }
784
+ }
785
+ ]
786
+ }
787
+ }
788
+ }
package/index.js ADDED
@@ -0,0 +1,8 @@
1
+ import { registerExtension } from 'vscode/extensions';
2
+
3
+ var manifest = {name:"bat",displayName:"Windows Bat Language Basics",description:"Provides snippets, syntax highlighting, bracket matching and folding in Windows batch files.",version:"1.0.0",publisher:"vscode",license:"MIT",engines:{vscode:"^1.52.0"},scripts:{"update-grammar":"node ../node_modules/vscode-grammar-updater/bin mmims/language-batchfile grammars/batchfile.cson ./syntaxes/batchfile.tmLanguage.json"},contributes:{languages:[{id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],configuration:"./language-configuration.json"}],grammars:[{language:"bat",scopeName:"source.batchfile",path:"./syntaxes/batchfile.tmLanguage.json"}],snippets:[{language:"bat",path:"./snippets/batchfile.code-snippets"}]},repository:{type:"git",url:"https://github.com/microsoft/vscode.git"},main:undefined};
4
+
5
+ const { registerFileUrl } = registerExtension(manifest);
6
+ registerFileUrl('./syntaxes/batchfile.tmLanguage.json', new URL('./batchfile.tmLanguage.json', import.meta.url).toString(), 'application/json');
7
+ registerFileUrl('./language-configuration.json', new URL('./language-configuration.json', import.meta.url).toString(), 'application/json');
8
+ registerFileUrl('./snippets/batchfile.code-snippets', new URL('./batchfile.code-snippets', import.meta.url).toString(), 'application/json');
@@ -0,0 +1,29 @@
1
+ {
2
+ "comments": {
3
+ "lineComment": "@REM"
4
+ },
5
+ "brackets": [
6
+ ["{", "}"],
7
+ ["[", "]"],
8
+ ["(", ")"]
9
+ ],
10
+ "autoClosingPairs": [
11
+ ["{", "}"],
12
+ ["[", "]"],
13
+ ["(", ")"],
14
+ { "open": "\"", "close": "\"", "notIn": ["string"] }
15
+ ],
16
+ "surroundingPairs": [
17
+ ["{", "}"],
18
+ ["[", "]"],
19
+ ["(", ")"],
20
+ ["%", "%"],
21
+ ["\"", "\""]
22
+ ],
23
+ "folding": {
24
+ "markers": {
25
+ "start": "^\\s*(::|REM|@REM)\\s*#region",
26
+ "end": "^\\s*(::|REM|@REM)\\s*#endregion"
27
+ }
28
+ }
29
+ }
package/package.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@codingame/monaco-vscode-bat-default-extension",
3
+ "version": "1.81.8-next.1",
4
+ "keywords": [],
5
+ "author": {
6
+ "name": "CodinGame",
7
+ "url": "http://www.codingame.com"
8
+ },
9
+ "license": "MIT",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "https://github.com/CodinGame/monaco-vscode-api"
13
+ },
14
+ "type": "module",
15
+ "private": false,
16
+ "description": "Default VSCode extension designed to be used with @codingame/monaco-vscode-api",
17
+ "main": "index.js",
18
+ "module": "index.js",
19
+ "dependencies": {
20
+ "vscode": "npm:@codingame/monaco-vscode-api@1.81.8-next.1"
21
+ }
22
+ }