tm-grammars 0.0.0

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.
Files changed (181) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +6565 -0
  3. package/README.md +211 -0
  4. package/grammars/abap.json +380 -0
  5. package/grammars/actionscript-3.json +951 -0
  6. package/grammars/ada.json +3874 -0
  7. package/grammars/apache.json +562 -0
  8. package/grammars/apex.json +3203 -0
  9. package/grammars/apl.json +1479 -0
  10. package/grammars/applescript.json +1406 -0
  11. package/grammars/ara.json +428 -0
  12. package/grammars/asm.json +1741 -0
  13. package/grammars/astro.json +776 -0
  14. package/grammars/awk.json +388 -0
  15. package/grammars/ballerina.json +3768 -0
  16. package/grammars/bat.json +783 -0
  17. package/grammars/beancount.json +831 -0
  18. package/grammars/berry.json +172 -0
  19. package/grammars/bibtex.json +315 -0
  20. package/grammars/bicep.json +239 -0
  21. package/grammars/blade.json +3870 -0
  22. package/grammars/c.json +3552 -0
  23. package/grammars/cadence.json +738 -0
  24. package/grammars/clarity.json +877 -0
  25. package/grammars/clojure.json +426 -0
  26. package/grammars/cmake.json +143 -0
  27. package/grammars/cobol.json +1124 -0
  28. package/grammars/codeql.json +1540 -0
  29. package/grammars/coffee.json +1311 -0
  30. package/grammars/cpp-macro.json +9498 -0
  31. package/grammars/cpp.json +16635 -0
  32. package/grammars/crystal.json +1866 -0
  33. package/grammars/csharp.json +5722 -0
  34. package/grammars/css.json +1860 -0
  35. package/grammars/csv.json +46 -0
  36. package/grammars/cue.json +1128 -0
  37. package/grammars/cypher.json +353 -0
  38. package/grammars/d.json +3185 -0
  39. package/grammars/dart.json +522 -0
  40. package/grammars/dax.json +185 -0
  41. package/grammars/diff.json +155 -0
  42. package/grammars/docker.json +97 -0
  43. package/grammars/dream-maker.json +640 -0
  44. package/grammars/elixir.json +1014 -0
  45. package/grammars/elm.json +751 -0
  46. package/grammars/erb.json +156 -0
  47. package/grammars/erlang.json +1757 -0
  48. package/grammars/fish.json +189 -0
  49. package/grammars/fsharp.json +1831 -0
  50. package/grammars/gdresource.json +290 -0
  51. package/grammars/gdscript.json +969 -0
  52. package/grammars/gdshader.json +405 -0
  53. package/grammars/gherkin.json +133 -0
  54. package/grammars/git-commit.json +85 -0
  55. package/grammars/git-rebase.json +56 -0
  56. package/grammars/glimmer-js.json +98 -0
  57. package/grammars/glimmer-ts.json +98 -0
  58. package/grammars/glsl.json +57 -0
  59. package/grammars/gnuplot.json +892 -0
  60. package/grammars/go.json +1012 -0
  61. package/grammars/graphql.json +1295 -0
  62. package/grammars/groovy.json +1378 -0
  63. package/grammars/hack.json +2650 -0
  64. package/grammars/haml.json +598 -0
  65. package/grammars/handlebars.json +848 -0
  66. package/grammars/haskell.json +2431 -0
  67. package/grammars/hcl.json +787 -0
  68. package/grammars/hjson.json +821 -0
  69. package/grammars/hlsl.json +212 -0
  70. package/grammars/html.json +93 -0
  71. package/grammars/imba.json +2696 -0
  72. package/grammars/ini.json +108 -0
  73. package/grammars/java.json +1885 -0
  74. package/grammars/javascript.json +5984 -0
  75. package/grammars/jinja-html.json +16 -0
  76. package/grammars/jinja.json +345 -0
  77. package/grammars/jison.json +715 -0
  78. package/grammars/jsdoc.json +21 -0
  79. package/grammars/json.json +208 -0
  80. package/grammars/json5.json +244 -0
  81. package/grammars/jsonc.json +208 -0
  82. package/grammars/jsonl.json +208 -0
  83. package/grammars/jsonnet.json +211 -0
  84. package/grammars/jssm.json +159 -0
  85. package/grammars/jsx.json +5984 -0
  86. package/grammars/julia.json +1061 -0
  87. package/grammars/kotlin.json +580 -0
  88. package/grammars/kusto.json +687 -0
  89. package/grammars/latex.json +2395 -0
  90. package/grammars/less.json +5012 -0
  91. package/grammars/liquid.json +990 -0
  92. package/grammars/lisp.json +121 -0
  93. package/grammars/logo.json +55 -0
  94. package/grammars/lua.json +956 -0
  95. package/grammars/make.json +629 -0
  96. package/grammars/markdown.json +3066 -0
  97. package/grammars/marko.json +1344 -0
  98. package/grammars/matlab.json +1131 -0
  99. package/grammars/mdc.json +571 -0
  100. package/grammars/mdx.json +5629 -0
  101. package/grammars/mermaid.json +1382 -0
  102. package/grammars/mojo.json +4153 -0
  103. package/grammars/narrat.json +227 -0
  104. package/grammars/nextflow.json +298 -0
  105. package/grammars/nginx.json +2121 -0
  106. package/grammars/nim.json +1522 -0
  107. package/grammars/nix.json +1200 -0
  108. package/grammars/nushell.json +1047 -0
  109. package/grammars/objective-c.json +3750 -0
  110. package/grammars/objective-cpp.json +7242 -0
  111. package/grammars/ocaml.json +2967 -0
  112. package/grammars/pascal.json +154 -0
  113. package/grammars/perl.json +2971 -0
  114. package/grammars/php.json +4024 -0
  115. package/grammars/plsql.json +241 -0
  116. package/grammars/postcss.json +377 -0
  117. package/grammars/powerquery.json +349 -0
  118. package/grammars/powershell.json +1024 -0
  119. package/grammars/prisma.json +443 -0
  120. package/grammars/prolog.json +298 -0
  121. package/grammars/proto.json +507 -0
  122. package/grammars/pug.json +1033 -0
  123. package/grammars/puppet.json +777 -0
  124. package/grammars/purescript.json +871 -0
  125. package/grammars/python.json +4208 -0
  126. package/grammars/r.json +637 -0
  127. package/grammars/raku.json +310 -0
  128. package/grammars/razor.json +1813 -0
  129. package/grammars/reg.json +136 -0
  130. package/grammars/rel.json +200 -0
  131. package/grammars/riscv.json +298 -0
  132. package/grammars/rst.json +734 -0
  133. package/grammars/ruby.json +2769 -0
  134. package/grammars/rust.json +1171 -0
  135. package/grammars/sas.json +302 -0
  136. package/grammars/sass.json +618 -0
  137. package/grammars/scala.json +1313 -0
  138. package/grammars/scheme.json +384 -0
  139. package/grammars/scss.json +1874 -0
  140. package/grammars/shaderlab.json +199 -0
  141. package/grammars/shellscript.json +2025 -0
  142. package/grammars/shellsession.json +33 -0
  143. package/grammars/smalltalk.json +235 -0
  144. package/grammars/solidity.json +1210 -0
  145. package/grammars/sparql.json +45 -0
  146. package/grammars/splunk.json +91 -0
  147. package/grammars/sql.json +631 -0
  148. package/grammars/ssh-config.json +88 -0
  149. package/grammars/stata.json +3050 -0
  150. package/grammars/stylus.json +1208 -0
  151. package/grammars/svelte.json +1171 -0
  152. package/grammars/swift.json +4203 -0
  153. package/grammars/system-verilog.json +1063 -0
  154. package/grammars/tasl.json +292 -0
  155. package/grammars/tcl.json +291 -0
  156. package/grammars/tex.json +281 -0
  157. package/grammars/toml.json +431 -0
  158. package/grammars/tsx.json +5984 -0
  159. package/grammars/turtle.json +261 -0
  160. package/grammars/twig.json +1394 -0
  161. package/grammars/typescript.json +5735 -0
  162. package/grammars/v.json +1001 -0
  163. package/grammars/vb.json +232 -0
  164. package/grammars/verilog.json +305 -0
  165. package/grammars/vhdl.json +1484 -0
  166. package/grammars/viml.json +445 -0
  167. package/grammars/vue-html.json +559 -0
  168. package/grammars/vue.json +1237 -0
  169. package/grammars/vyper.json +5415 -0
  170. package/grammars/wasm.json +831 -0
  171. package/grammars/wenyan.json +129 -0
  172. package/grammars/wgsl.json +391 -0
  173. package/grammars/wolfram.json +2370 -0
  174. package/grammars/xml.json +382 -0
  175. package/grammars/xsl.json +89 -0
  176. package/grammars/yaml.json +616 -0
  177. package/grammars/zenscript.json +257 -0
  178. package/grammars/zig.json +312 -0
  179. package/index.d.ts +18 -0
  180. package/index.js +2165 -0
  181. package/package.json +46 -0
@@ -0,0 +1,1124 @@
1
+ {
2
+ "displayName": "COBOL",
3
+ "fileTypes": [
4
+ "ccp",
5
+ "scbl",
6
+ "cobol",
7
+ "cbl",
8
+ "cblle",
9
+ "cblsrce",
10
+ "cblcpy",
11
+ "lks",
12
+ "pdv",
13
+ "cpy",
14
+ "copybook",
15
+ "cobcopy",
16
+ "fd",
17
+ "sel",
18
+ "scb",
19
+ "scbl",
20
+ "sqlcblle",
21
+ "cob",
22
+ "dds",
23
+ "def",
24
+ "src",
25
+ "ss",
26
+ "wks",
27
+ "bib",
28
+ "pco"
29
+ ],
30
+ "name": "cobol",
31
+ "patterns": [
32
+ {
33
+ "match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])([dD]\\s.*$)",
34
+ "name": "token.info-token.cobol"
35
+ },
36
+ {
37
+ "captures": {
38
+ "1": {
39
+ "name": "constant.numeric.cobol"
40
+ },
41
+ "2": {
42
+ "name": "comment.line.cobol.newpage"
43
+ }
44
+ },
45
+ "match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\/.*$)"
46
+ },
47
+ {
48
+ "captures": {
49
+ "1": {
50
+ "name": "constant.numeric.cobol"
51
+ },
52
+ "2": {
53
+ "name": "comment.line.cobol.fixed"
54
+ }
55
+ },
56
+ "match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\*.*$)"
57
+ },
58
+ {
59
+ "captures": {
60
+ "1": {
61
+ "name": "constant.numeric.cobol"
62
+ },
63
+ "2": {
64
+ "name": "comment.line.cobol.newpage"
65
+ }
66
+ },
67
+ "match": "(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\/.*$)"
68
+ },
69
+ {
70
+ "match": "^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s]$",
71
+ "name": "constant.numeric.cobol"
72
+ },
73
+ {
74
+ "captures": {
75
+ "1": {
76
+ "name": "constant.numeric.cobol"
77
+ },
78
+ "2": {
79
+ "name": "comment.line.cobol.fixed"
80
+ }
81
+ },
82
+ "match": "(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\*.*$)"
83
+ },
84
+ {
85
+ "captures": {
86
+ "1": {
87
+ "name": "constant.cobol"
88
+ },
89
+ "2": {
90
+ "name": "comment.line.cobol.fixed"
91
+ }
92
+ },
93
+ "match": "(^[0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ][0-9a-zA-Z\\s\\$#%\\.@\\- ])(\\*.*$)"
94
+ },
95
+ {
96
+ "captures": {
97
+ "1": {
98
+ "name": "constant.numeric.cobol"
99
+ },
100
+ "2": {
101
+ "name": "variable.other.constant"
102
+ }
103
+ },
104
+ "match": "^\\s+(78)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)"
105
+ },
106
+ {
107
+ "captures": {
108
+ "1": {
109
+ "name": "constant.numeric.cobol"
110
+ },
111
+ "2": {
112
+ "name": "variable.other.constant"
113
+ },
114
+ "3": {
115
+ "name": "keyword.identifers.cobol"
116
+ }
117
+ },
118
+ "match": "^\\s+([0-9]+)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)\\s+((?i:constant))"
119
+ },
120
+ {
121
+ "captures": {
122
+ "1": {
123
+ "name": "constant.cobol"
124
+ },
125
+ "2": {
126
+ "name": "comment.line.cobol.newpage"
127
+ }
128
+ },
129
+ "match": "(^[0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@][0-9a-zA-Z\\s\\$#%\\.@])(\\/.*$)"
130
+ },
131
+ {
132
+ "match": "^\\*.*$",
133
+ "name": "comment.line.cobol.fixed"
134
+ },
135
+ {
136
+ "captures": {
137
+ "1": {
138
+ "name": "keyword.control.directive.conditional.cobol"
139
+ },
140
+ "2": {
141
+ "name": "entity.name.function.preprocessor.cobol"
142
+ },
143
+ "3": {
144
+ "name": "entity.name.function.cobol"
145
+ },
146
+ "4": {
147
+ "name": "keyword.control.directive.conditional.cobol"
148
+ }
149
+ },
150
+ "match": "((?:^|\\s+)(?i:\\$set)\\s+)((?i:constant)\\s+)([0-9a-zA-Z][a-zA-Z\\-0-9]+\\s*)([a-zA-Z\\-0-9]*)"
151
+ },
152
+ {
153
+ "captures": {
154
+ "1": {
155
+ "name": "entity.name.function.preprocessor.cobol"
156
+ },
157
+ "2": {
158
+ "name": "storage.modifier.import.cobol"
159
+ },
160
+ "3": {
161
+ "name": "punctuation.begin.bracket.round.cobol"
162
+ },
163
+ "4": {
164
+ "name": "string.quoted.other.cobol"
165
+ },
166
+ "5": {
167
+ "name": "punctuation.end.bracket.round.cobol"
168
+ }
169
+ },
170
+ "match": "((?i:\\$\\s*set\\s+)(ilusing)(\\()(.*)(\\)))"
171
+ },
172
+ {
173
+ "captures": {
174
+ "1": {
175
+ "name": "entity.name.function.preprocessor.cobol"
176
+ },
177
+ "2": {
178
+ "name": "storage.modifier.import.cobol"
179
+ },
180
+ "3": {
181
+ "name": "punctuation.definition.string.begin.cobol"
182
+ },
183
+ "4": {
184
+ "name": "string.quoted.other.cobol"
185
+ },
186
+ "5": {
187
+ "name": "punctuation.definition.string.begin.cobol"
188
+ }
189
+ },
190
+ "match": "((?i:\\$\\s*set\\s+)(ilusing)(\")(.*)(\"))"
191
+ },
192
+ {
193
+ "captures": {
194
+ "1": {
195
+ "name": "keyword.control.directive.conditional.cobol"
196
+ },
197
+ "2": {
198
+ "name": "entity.name.function.preprocessor.cobol"
199
+ },
200
+ "3": {
201
+ "name": "punctuation.definition.string.begin.cobol"
202
+ },
203
+ "4": {
204
+ "name": "string.quoted.other.cobol"
205
+ },
206
+ "5": {
207
+ "name": "punctuation.definition.string.begin.cobol"
208
+ }
209
+ },
210
+ "match": "((?i:\\$set))\\s+(\\w+)\\s*(\")(\\w*)(\")"
211
+ },
212
+ {
213
+ "captures": {
214
+ "1": {
215
+ "name": "keyword.control.directive.conditional.cobol"
216
+ },
217
+ "2": {
218
+ "name": "entity.name.function.preprocessor.cobol"
219
+ },
220
+ "3": {
221
+ "name": "punctuation.begin.bracket.round.cobol"
222
+ },
223
+ "4": {
224
+ "name": "string.quoted.other.cobol"
225
+ },
226
+ "5": {
227
+ "name": "punctuation.end.bracket.round.cobol"
228
+ }
229
+ },
230
+ "match": "((?i:\\$set))\\s+(\\w+)\\s*(\\()(.*)(\\))"
231
+ },
232
+ {
233
+ "captures": {
234
+ "0": {
235
+ "name": "keyword.control.directive.conditional.cobol"
236
+ },
237
+ "1": {
238
+ "name": "invalid.illegal.directive"
239
+ },
240
+ "2": {
241
+ "name": "comment.line.set.cobol"
242
+ }
243
+ },
244
+ "match": "(?:^|\\s+)(?i:\\$\\s*set\\s)((?i:01SHUFFLE|64KPARA|64KSECT|AUXOPT|CHIP|DATALIT|EANIM|EXPANDDATA|FIXING|FLAG-CHIP|MASM|MODEL|OPTSIZE|OPTSPEED|PARAS|PROTMODE|REGPARM|SEGCROSS|SEGSIZE|SIGNCOMPARE|SMALLDD|TABLESEGCROSS|TRICKLECHECK|\\s)+).*$"
245
+ },
246
+ {
247
+ "captures": {
248
+ "1": {
249
+ "name": "keyword.control.directive.cobol"
250
+ },
251
+ "2": {
252
+ "name": "entity.other.attribute-name.preprocessor.cobol"
253
+ }
254
+ },
255
+ "match": "(\\$region|\\$end-region)(.*$)"
256
+ },
257
+ {
258
+ "begin": "\\$(?i:doc)(.*$)",
259
+ "end": "\\$(?i:end-doc)(.*$)",
260
+ "name": "invalid.illegal.iscobol"
261
+ },
262
+ {
263
+ "match": ">>\\s*(?i:turn|page|listing|leap-seconds|d)\\s+.*$",
264
+ "name": "invalid.illegal.meta.preprocessor.cobolit"
265
+ },
266
+ {
267
+ "captures": {
268
+ "1": {
269
+ "name": "keyword.control.directive.conditional.cobol"
270
+ },
271
+ "2": {
272
+ "name": "entity.name.function.preprocessor.cobol"
273
+ },
274
+ "3": {
275
+ "name": "entity.name.function.preprocessor.cobol"
276
+ }
277
+ },
278
+ "match": "((((>>|\\$)[\\s]*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*$))"
279
+ },
280
+ {
281
+ "captures": {
282
+ "1": {
283
+ "name": "comment.line.scantoken.cobol"
284
+ },
285
+ "2": {
286
+ "name": "keyword.cobol"
287
+ },
288
+ "3": {
289
+ "name": "string.cobol"
290
+ }
291
+ },
292
+ "match": "(\\*>)\\s+(@[0-9a-zA-Z][a-zA-Z\\-0-9]+)\\s+(.*$)"
293
+ },
294
+ {
295
+ "match": "(\\*>.*$)",
296
+ "name": "comment.line.modern"
297
+ },
298
+ {
299
+ "match": "(>>.*)$",
300
+ "name": "strong comment.line.set.acucobol"
301
+ },
302
+ {
303
+ "match": "([nNuU][xX]|[hHxX])'\\h*'",
304
+ "name": "constant.numeric.integer.hexadecimal.cobol"
305
+ },
306
+ {
307
+ "match": "([nNuU][xX]|[hHxX])'.*'",
308
+ "name": "invalid.illegal.hexadecimal.cobol"
309
+ },
310
+ {
311
+ "match": "([nNuU][xX]|[hHxX])\"\\h*\"",
312
+ "name": "constant.numeric.integer.hexadecimal.cobol"
313
+ },
314
+ {
315
+ "match": "([nNuU][xX]|[hHxX])\".*\"",
316
+ "name": "invalid.illegal.hexadecimal.cobol"
317
+ },
318
+ {
319
+ "match": "[bB]\"[0-1]\"",
320
+ "name": "constant.numeric.integer.boolean.cobol"
321
+ },
322
+ {
323
+ "match": "[bB]'[0-1]'",
324
+ "name": "constant.numeric.integer.boolean.cobol"
325
+ },
326
+ {
327
+ "match": "[oO]\"[0-7]*\"",
328
+ "name": "constant.numeric.integer.octal.cobol"
329
+ },
330
+ {
331
+ "match": "[oO]\".*\"",
332
+ "name": "invalid.illegal.octal.cobol"
333
+ },
334
+ {
335
+ "match": "(#)([0-9a-zA-Z][a-zA-Z\\-0-9]+)",
336
+ "name": "meta.symbol.cobol.forced"
337
+ },
338
+ {
339
+ "begin": "((?<![-_a-zA-Z0-9()-])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\.|$))",
340
+ "beginCaptures": {
341
+ "0": {
342
+ "name": "keyword.identifiers.cobol"
343
+ }
344
+ },
345
+ "end": "(?=((?<![-_])(?i:remarks|author|date-written|source-computer|object-computer|installation|date-compiled|special-names|security|environment\\s+division|data\\s+division|working-storage\\s+section|input-output\\s+section|linkage\\s+section|procedure\\s+division|local-storage\\s+section)|^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*]\\*.*$|^\\+$))",
346
+ "name": "comment.block.cobol.remark",
347
+ "patterns": [
348
+ {
349
+ "match": "(^[0-9 ][0-9 ][0-9 ][0-9 ][0-9 ][0-9 ])",
350
+ "name": "constant.numeric.cobol"
351
+ },
352
+ {
353
+ "match": "(?i:with|debugging|mode)",
354
+ "name": "keyword.identifiers.cobol"
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "captures": {
360
+ "1": {
361
+ "name": "keyword.start.bracket.cobol"
362
+ },
363
+ "2": {
364
+ "name": "constant.numeric.cobol"
365
+ },
366
+ "3": {
367
+ "name": "keyword.end.bracket.cobol"
368
+ }
369
+ },
370
+ "comment": "simple numerics in () and []",
371
+ "match": "(?<=(\\(|\\[))((\\-\\+)*\\s*[0-9 ,\\.\\+\\-\\*\\/]+)(?=(\\)|\\]))",
372
+ "name": "constant.numeric.cobol"
373
+ },
374
+ {
375
+ "include": "#number-complex-constant"
376
+ },
377
+ {
378
+ "include": "#number-simple-constant"
379
+ },
380
+ {
381
+ "match": "(?<![-_])(?i:true|false|null|nulls)(?![0-9A-Za-z_-])",
382
+ "name": "constant.language.cobol"
383
+ },
384
+ {
385
+ "match": "(?<![-_])(?i:zeroes|alphabetic-lower|alphabetic-upper|alphanumeric-edited|alphabetic|alphabet|alphanumeric|zeros|zeros|zero|spaces|space|quotes|quote|low-values|low-value|high-values|high-value)(?=\\s+|\\.|,|\\))",
386
+ "name": "constant.language.figurative.cobol"
387
+ },
388
+ {
389
+ "begin": "(?i:exec\\s+sqlims|exec\\s+sql)",
390
+ "contentName": "meta.embedded.block.sql",
391
+ "end": "(?i:end\\-exec)",
392
+ "name": "keyword.verb.cobol",
393
+ "patterns": [
394
+ {
395
+ "match": "(^\\s*\\*.*)$",
396
+ "name": "comment.line.sql"
397
+ },
398
+ {
399
+ "match": "(\\:([0-9a-zA-Z\\-_])*)",
400
+ "name": "variable.cobol"
401
+ },
402
+ {
403
+ "include": "source.sql"
404
+ }
405
+ ]
406
+ },
407
+ {
408
+ "begin": "(?i:exec\\s+cics)",
409
+ "contentName": "meta.embedded.block.cics",
410
+ "end": "(?i:end\\-exec)",
411
+ "name": "keyword.verb.cobol",
412
+ "patterns": [
413
+ {
414
+ "match": "(\\()",
415
+ "name": "meta.symbol.cobol"
416
+ },
417
+ {
418
+ "include": "#cics-keywords"
419
+ },
420
+ {
421
+ "include": "#string-double-quoted-constant"
422
+ },
423
+ {
424
+ "include": "#string-quoted-constant"
425
+ },
426
+ {
427
+ "include": "#number-complex-constant"
428
+ },
429
+ {
430
+ "include": "#number-simple-constant"
431
+ },
432
+ {
433
+ "match": "([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))",
434
+ "name": "variable.cobol"
435
+ }
436
+ ]
437
+ },
438
+ {
439
+ "begin": "(?i:exec\\s+dli)",
440
+ "contentName": "meta.embedded.block.dli",
441
+ "end": "(?i:end\\-exec)",
442
+ "name": "keyword.verb.cobol",
443
+ "patterns": [
444
+ {
445
+ "match": "(\\()",
446
+ "name": "meta.symbol.cobol"
447
+ },
448
+ {
449
+ "include": "#dli-keywords"
450
+ },
451
+ {
452
+ "include": "#string-double-quoted-constant"
453
+ },
454
+ {
455
+ "include": "#string-quoted-constant"
456
+ },
457
+ {
458
+ "include": "#number-complex-constant"
459
+ },
460
+ {
461
+ "include": "#number-simple-constant"
462
+ },
463
+ {
464
+ "match": "([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))",
465
+ "name": "variable.cobol"
466
+ }
467
+ ]
468
+ },
469
+ {
470
+ "begin": "(?i:exec\\s+sqlims)",
471
+ "contentName": "meta.embedded.block.sql",
472
+ "end": "(?i:end\\-exec)",
473
+ "name": "keyword.verb.cobol",
474
+ "patterns": [
475
+ {
476
+ "match": "(\\:([a-zA-Z\\-])*)",
477
+ "name": "variable.cobol"
478
+ },
479
+ {
480
+ "include": "source.sql"
481
+ }
482
+ ]
483
+ },
484
+ {
485
+ "begin": "(?i:exec\\s+ado)",
486
+ "contentName": "meta.embedded.block.sql",
487
+ "end": "(?i:end\\-exec)",
488
+ "name": "keyword.verb.cobol",
489
+ "patterns": [
490
+ {
491
+ "match": "(\\:([a-zA-Z\\-])*)",
492
+ "name": "variable.cobol"
493
+ },
494
+ {
495
+ "include": "source.sql"
496
+ }
497
+ ]
498
+ },
499
+ {
500
+ "begin": "(?i:exec\\s+html)",
501
+ "contentName": "meta.embedded.block.html",
502
+ "end": "(?i:end\\-exec)",
503
+ "name": "keyword.verb.cobol",
504
+ "patterns": [
505
+ {
506
+ "include": "text.html.basic"
507
+ }
508
+ ]
509
+ },
510
+ {
511
+ "begin": "(?i:exec\\s+java)",
512
+ "contentName": "meta.embedded.block.java",
513
+ "end": "(?i:end\\-exec)",
514
+ "name": "keyword.verb.cobol",
515
+ "patterns": [
516
+ {
517
+ "include": "source.java"
518
+ }
519
+ ]
520
+ },
521
+ {
522
+ "captures": {
523
+ "1": {
524
+ "name": "punctuation.definition.string.begin.cobol"
525
+ },
526
+ "2": {
527
+ "name": "support.function.cobol"
528
+ },
529
+ "3": {
530
+ "name": "punctuation.definition.string.end.cobol"
531
+ }
532
+ },
533
+ "match": "(\")(CBL_.*)(\")"
534
+ },
535
+ {
536
+ "captures": {
537
+ "1": {
538
+ "name": "punctuation.definition.string.begin.cobol"
539
+ },
540
+ "2": {
541
+ "name": "support.function.cobol"
542
+ },
543
+ "3": {
544
+ "name": "punctuation.definition.string.end.cobol"
545
+ }
546
+ },
547
+ "match": "(\")(PC_.*)(\")"
548
+ },
549
+ {
550
+ "begin": "\"",
551
+ "beginCaptures": {
552
+ "0": {
553
+ "name": "punctuation.definition.string.begin.cobol"
554
+ }
555
+ },
556
+ "end": "(\"|$)",
557
+ "endCaptures": {
558
+ "0": {
559
+ "name": "punctuation.definition.string.end.cobol"
560
+ }
561
+ },
562
+ "name": "string.quoted.double.cobol"
563
+ },
564
+ {
565
+ "captures": {
566
+ "1": {
567
+ "name": "punctuation.definition.string.begin.cobol"
568
+ },
569
+ "2": {
570
+ "name": "support.function.cobol"
571
+ },
572
+ "3": {
573
+ "name": "punctuation.definition.string.end.cobol"
574
+ }
575
+ },
576
+ "match": "(\\')(CBL_.*)(\\')"
577
+ },
578
+ {
579
+ "captures": {
580
+ "1": {
581
+ "name": "punctuation.definition.string.begin.cobol"
582
+ },
583
+ "2": {
584
+ "name": "support.function.cobol"
585
+ },
586
+ "3": {
587
+ "name": "punctuation.definition.string.end.cobol"
588
+ }
589
+ },
590
+ "match": "(\\')(PC_.*)(\\')"
591
+ },
592
+ {
593
+ "begin": "'",
594
+ "beginCaptures": {
595
+ "0": {
596
+ "name": "punctuation.definition.string.begin.cobol"
597
+ }
598
+ },
599
+ "end": "('|$)",
600
+ "endCaptures": {
601
+ "0": {
602
+ "name": "punctuation.definition.string.end.cobol"
603
+ }
604
+ },
605
+ "name": "string.quoted.single.cobol"
606
+ },
607
+ {
608
+ "begin": "(?<![\\-\\w])[gGzZ]\"",
609
+ "beginCaptures": {
610
+ "0": {
611
+ "name": "punctuation.definition.string.begin.cobol"
612
+ }
613
+ },
614
+ "end": "(\"|$)",
615
+ "endCaptures": {
616
+ "0": {
617
+ "name": "punctuation.definition.string.end.cobol"
618
+ }
619
+ },
620
+ "name": "string.quoted.double.cobol"
621
+ },
622
+ {
623
+ "begin": "(?<![\\-\\w])[gGzZ]'",
624
+ "beginCaptures": {
625
+ "0": {
626
+ "name": "punctuation.definition.string.begin.cobol"
627
+ }
628
+ },
629
+ "end": "'",
630
+ "endCaptures": {
631
+ "0": {
632
+ "name": "punctuation.definition.string.end.cobol"
633
+ }
634
+ },
635
+ "name": "string.quoted.single.cobol"
636
+ },
637
+ {
638
+ "begin": "(?<![\\-\\w])[gGnN]\"",
639
+ "beginCaptures": {
640
+ "0": {
641
+ "name": "punctuation.definition.string.begin.cobol"
642
+ }
643
+ },
644
+ "end": "(\"|$)",
645
+ "endCaptures": {
646
+ "0": {
647
+ "name": "punctuation.definition.string.end.cobol"
648
+ }
649
+ },
650
+ "name": "string.quoted.double.cobol"
651
+ },
652
+ {
653
+ "begin": "(?<![\\-\\w])[gGnN]'",
654
+ "beginCaptures": {
655
+ "0": {
656
+ "name": "punctuation.definition.string.begin.cobol"
657
+ }
658
+ },
659
+ "end": "'",
660
+ "endCaptures": {
661
+ "0": {
662
+ "name": "punctuation.definition.string.end.cobol"
663
+ }
664
+ },
665
+ "name": "string.quoted.single.cobol"
666
+ },
667
+ {
668
+ "begin": "(?<![\\-\\w])[uU]\"",
669
+ "beginCaptures": {
670
+ "0": {
671
+ "name": "punctuation.definition.string.begin.cobol"
672
+ }
673
+ },
674
+ "end": "(\"|$)",
675
+ "endCaptures": {
676
+ "0": {
677
+ "name": "punctuation.definition.string.end.cobol"
678
+ }
679
+ },
680
+ "name": "string.quoted.utf8.double.cobol"
681
+ },
682
+ {
683
+ "begin": "(?<![\\-\\w])[uU]'",
684
+ "beginCaptures": {
685
+ "0": {
686
+ "name": "punctuation.definition.string.begin.cobol"
687
+ }
688
+ },
689
+ "end": "'",
690
+ "endCaptures": {
691
+ "0": {
692
+ "name": "punctuation.definition.string.end.cobol"
693
+ }
694
+ },
695
+ "name": "string.quoted.utf8.single.cobol"
696
+ },
697
+ {
698
+ "match": "(?<![-_])(?i:id\\s+division|identification\\s+division|identification|id|property-id|getter|setter|entry|function-id|end\\s+attribute|attribute|interface-id|indexer-id|factory|ctl|class-control|options|environment\\s+division|environment-name|environment-value|environment|configuration\\s+section|configuration|decimal-point\\s+is|decimal-point|console\\s+is|call-convention|special-names|cursor\\s+is|update|picture\\s+symbol|currency\\s+sign|currency|repository|input-output\\s+section|input-output|file\\s+section|file-control|select|optional|i-o-control|data\\s+division|working-storage\\s+section|working-storage|section|local-storage|linkage\\s+section|linkage|communication|report|screen\\s+section|object-storage|object\\s+section|class-object|fd|rd|cd|sd|printing|procedure\\s+division|procedure|division|references|debugging|end\\s+declaratives|declaratives|end\\s+static|end\\s+factory|end\\s+class-object|based-storage|size|font|national-edited|national)(?![0-9A-Za-z_-])",
699
+ "name": "keyword.identifiers.cobol"
700
+ },
701
+ {
702
+ "captures": {
703
+ "1": {
704
+ "name": "keyword.verb.cobol"
705
+ },
706
+ "2": {
707
+ "name": "entity.name.function.cobol"
708
+ }
709
+ },
710
+ "match": "(?<![-_])((?i:valuetype-id|operator-id|method-id|method|property-id|attribute-id|enum-id|iterator-id|class-id|program-id|operator-id|end\\s+program|end\\s+valuetype|extension))[\\.]*[\\s]+([a-zA-Z0-9_-]*)"
711
+ },
712
+ {
713
+ "match": "(?<![-_])(?i:implements|inherits|constraints|constrain)(?=\\s|\\.)",
714
+ "name": "keyword.verb.cobol"
715
+ },
716
+ {
717
+ "match": "(?<![-_])(?i:end\\s+enum|end\\s+interface|end\\s+class|end\\s+property|end\\s+method|end\\s+object|end\\s+iterator|end\\s+function|end\\s+operator|end\\s+program|end\\s+indexer|create|reset|instance|delegate|end-delegate|delegate-id|declare|exception-object|as|stop\\s+iterator|stop\\s+run|stop)(?=\\s|\\.|,|\\))",
718
+ "name": "keyword.identifiers.cobol"
719
+ },
720
+ {
721
+ "match": "\\s+(?i:attach\\s+method|attach\\s+del|attach|detach\\s+del|detach\\s+method|detach|method|del)(?=\\s|\\.|$)",
722
+ "name": "keyword.identifiers.cobol"
723
+ },
724
+ {
725
+ "match": "\\s+(?i:sync\\s+(?i:on))(?=\\s|\\.)",
726
+ "name": "keyword.other.sync.cobol"
727
+ },
728
+ {
729
+ "match": "\\s+(?i:try|finally|catch|end-try|throw)(?=\\s|\\.|$)",
730
+ "name": "keyword.control.catch-exception.cobol"
731
+ },
732
+ {
733
+ "match": "(?<![-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\+\\+include|copy|replace)(?=\\s)",
734
+ "name": "keyword.otherverb.cobol"
735
+ },
736
+ {
737
+ "match": "(?i:dynamic)\\s+(?i:length)(?=\\s|\\.)",
738
+ "name": "storage.type.dynamiclength.cobol"
739
+ },
740
+ {
741
+ "match": "(?<![-_])(?i:assign|external|prototype|organization|organisation|indexed|column|plus|line\\*s*sequential|sequential|access|dynamic|relative|label|block|contains|standard|records|record\\s+key|record|is|alternate|duplicates|reel|tape|terminal|disk\\sfilename|disk|disc|recording\\smode|mode|random)(?=\\s|\\.)",
742
+ "name": "keyword.identifers.cobol"
743
+ },
744
+ {
745
+ "match": "(?<![-_])(?i:max|min|integer-of-date|integer-of-day|integer-part|integer|date-to-yyyymmdd|year-to-yyyy|day-to-yyyyddd|exp|exception-file|exception-location|exception-statement|exception-status|e|variance|integer-of-date|rem|pi|factorial|sqrt|log10|fraction-part|mean|exp|log|char|day-of-integer|date-of-integer|exp10|atan|integer-part|tan|sin|cos|midrange|addr|acos|asin|annuity|present-value|integer-of-day|ord-max|ord-min|ord|random|integer-of-date|sum|standard-deviation|median|reverse|abs|upper-case|lower-case|char-national|numval|mod|range|length|locale-date|locale-time-from-seconds|locale-time|seconds-past-midnight|stored-char-length|substitute-case|substitute|seconds-from-formatted-time|seconds-past-midnight|trim|length-an|numval-c|current-date|national-of|display-of|when-compiled|integer-of-boolean|combined-datetime|concatenate)(?=\\s|\\.|\\(|\\))",
746
+ "name": "support.function.cobol"
747
+ },
748
+ {
749
+ "captures": {
750
+ "0": {
751
+ "name": "support.function.cics.cobol"
752
+ },
753
+ "1": {
754
+ "name": "punctuation.definition.string.end.cobol"
755
+ },
756
+ "2": {
757
+ "name": "keyword.identifers.cobol"
758
+ },
759
+ "3": {
760
+ "name": "punctuation.definition.string.end.cobol"
761
+ }
762
+ },
763
+ "match": "(?<![-_])(?i:DFHRESP|DFHVALUE)(\\s*\\(\\s*)([a-zA-Z]*)(\\s*\\))"
764
+ },
765
+ {
766
+ "match": "(?<![-_])(?i:function)(?=\\s|\\.)",
767
+ "name": "keyword.verb.cobol"
768
+ },
769
+ {
770
+ "match": "(?<![-_])(?i:end-accept|end-add|end-sync|end-compute|end-delete|end-display|end-divide|end-set|end-multiply|end-of-page|end-read|end-receive|end-return|end-rewrite|end-search|end-start|end-string|end-subtract|end-unstring|end-write|program|class|interface|enum|interface)(?![0-9A-Za-z_-])",
771
+ "name": "keyword.verb.cobol"
772
+ },
773
+ {
774
+ "match": "(?<![-_])(?:by value|by reference|by content|property-value)(?![0-9A-Za-z_-])",
775
+ "name": "keyword.other.cobol"
776
+ },
777
+ {
778
+ "match": "(?<![-_])(?i:attr-string|automatic|auto-skip|footing|next|group|indicate|source|control|full|required|of|input|output|i-o|extend|file|error|exception|overflow|goto|off|on|proceed|procedures|procedure|through|invalid|data|normal|eop|returning|to|for|giving|into|by|params|remainder|also|numeric|free|depending|converting|replacing|after|before|all|leading|first|recursive|initialized|global|common|initial|resident|reference|content|are\\sstandard|are|renames|like|format\\stime|values|omitted|value|constant|ascending|descending|key|retry|until|varying|with|no|advancing|up|down|uccurs|ignore\\s+lock|lock|length|delimited|count|delimiter|redefines|from\\s+console|from\\s+command-line|from\\s+user\\s+name|from\\s+day\\s+yyyyddd|from\\s+day|from\\s+time|from\\s+day-of-week|from\\s+escape|from\\s+day\\s+yyyyddd|from\\s+date\\s+yyyymmdd|from\\s+date|from|raising|crt\\s+status|status|class|upon\\s+crt|upon|lines|columns|step|linage|auto|line|position|col|reports|code-set|reporting|arithmetic|localize|program|class|interface|in|at\\s+end|page|name)(?![0-9A-Za-z_-])",
779
+ "name": "keyword.identifers.cobol"
780
+ },
781
+ {
782
+ "captures": {
783
+ "0": {
784
+ "name": "keyword.verb.cobol"
785
+ },
786
+ "1": {
787
+ "name": "storage.type.cobol"
788
+ }
789
+ },
790
+ "comment": "type ssss ",
791
+ "match": "(?<![-_])(?i:type|new)\\s+([a-zA-Z][a-zA-Z0-9\\$\\-\\._]*|[a-zA-Z])(?=\\.$)"
792
+ },
793
+ {
794
+ "match": "(?<![-_])(?i:string)(?=\\s+value|\\.)",
795
+ "name": "storage.type.cobol"
796
+ },
797
+ {
798
+ "match": "(?<![-_])(?i:bit|byte|binary-char|binary-char-unsigned|binary-short|binary-short-unsigned|binary.long|binary-c-long|binary-long-unsigned|binary-long|binary-double|binary-double-unsigned|float-short|float-extended|float-long|bit|condition-value|characters|character\\s+type|character|comma|crt|decimal|object\\+sreference|object-reference|object|list|dictionary|unsigned)(?=\\s|\\.|,|\\]|\\[)",
799
+ "name": "storage.type.cobol"
800
+ },
801
+ {
802
+ "captures": {
803
+ "1": {
804
+ "name": "keyword.other.verb.cobol"
805
+ },
806
+ "2": {
807
+ "name": "meta.symbol.cobol"
808
+ }
809
+ },
810
+ "comment": "operator-id ssss ",
811
+ "match": "(operator-id\\s+[+\\-\\*\\/])",
812
+ "name": "keyword.operator-id.cobol"
813
+ },
814
+ {
815
+ "captures": {
816
+ "1": {
817
+ "name": "punctuation.accessor.cobol.b3"
818
+ },
819
+ "2": {
820
+ "name": "entity.name.function.b3"
821
+ }
822
+ },
823
+ "comment": " ::.. ",
824
+ "match": "(?i:self)(\\:\\:)([0-9a-zA-Z_\\-\\.]*)(?=\\.$)"
825
+ },
826
+ {
827
+ "captures": {
828
+ "1": {
829
+ "name": "punctuation.accessor.cobol"
830
+ },
831
+ "2": {
832
+ "name": "entity.name.function.cobol"
833
+ }
834
+ },
835
+ "comment": " ::.. ",
836
+ "match": "(\\:\\:)([0-9a-zA-Z_\\-\\.]*)"
837
+ },
838
+ {
839
+ "captures": {
840
+ "0": {
841
+ "name": "keyword.verb.cobol.aa"
842
+ },
843
+ "1": {
844
+ "name": "storage.type.cobol.bb"
845
+ }
846
+ },
847
+ "match": "(?<![-_])(?i:type)\\s+([0-9a-zA-Z\\.]*)"
848
+ },
849
+ {
850
+ "match": "(?<![-_])(?i:if|else|end-if|exit\\s+iterator|exit\\s+program|exit\\s+method|evaluate|end-evaluate|exit\\s+perform|perform|end-perform|when\\s+other|when|continue|call|end-call|chain|end-chain|invoke|end\\s+invoke|go\\s+to|go|sort|merge|use|xml|parse|stop\\s+run|goback\\s+returning|goback|raise|exit\\s+function|exit\\sparagraph|await)(?![0-9A-Za-z_-])",
851
+ "name": "keyword.control.cobol"
852
+ },
853
+ {
854
+ "captures": {
855
+ "1": {
856
+ "name": "storage.type.picture10.cobol"
857
+ },
858
+ "2": {
859
+ "name": "constant.numeric.cobol"
860
+ },
861
+ "3": {
862
+ "name": "storage.type.picture10.cobol"
863
+ },
864
+ "4": {
865
+ "name": "constant.numeric.cobol"
866
+ }
867
+ },
868
+ "match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)[-|+]"
869
+ },
870
+ {
871
+ "captures": {
872
+ "1": {
873
+ "name": "storage.type.picture9.cobol"
874
+ },
875
+ "2": {
876
+ "name": "constant.numeric.cobol"
877
+ },
878
+ "3": {
879
+ "name": "storage.type.picture9.cobol"
880
+ },
881
+ "4": {
882
+ "name": "constant.numeric.cobol"
883
+ }
884
+ },
885
+ "match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)"
886
+ },
887
+ {
888
+ "captures": {
889
+ "1": {
890
+ "name": "storage.type.picture8.cobol"
891
+ },
892
+ "2": {
893
+ "name": "constant.numeric.cobol"
894
+ },
895
+ "3": {
896
+ "name": "storage.type.picture8.cobol"
897
+ }
898
+ },
899
+ "match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV\\.][-+s\\*$09aAbBsSnNxXuUzZ/,]*[0-9\\.()])*"
900
+ },
901
+ {
902
+ "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*",
903
+ "name": "storage.type.picture7.cobol"
904
+ },
905
+ {
906
+ "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*",
907
+ "name": "storage.type.picture6.cobol"
908
+ },
909
+ {
910
+ "captures": {
911
+ "1": {
912
+ "name": "storage.type.picture5.cobol"
913
+ },
914
+ "2": {
915
+ "name": "constant.numeric.cobol"
916
+ }
917
+ },
918
+ "match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxuUXzZ/,.]*)\\(([0-9]*)\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*"
919
+ },
920
+ {
921
+ "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpNNxXuUzZ/,.]*\\([0-9]*\\)",
922
+ "name": "storage.type.picture4.cobol"
923
+ },
924
+ {
925
+ "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*\\([0-9]*\\)",
926
+ "name": "storage.type.picture3.cobol"
927
+ },
928
+ {
929
+ "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*",
930
+ "name": "storage.type.picture2.cobol"
931
+ },
932
+ {
933
+ "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+\\*$9aAbBsSnpPNxXuUzZ/,.vV]*",
934
+ "name": "storage.type.picture1.cobol"
935
+ },
936
+ {
937
+ "captures": {
938
+ "1": {
939
+ "name": "invalid.illegal.keyword.verb.acu.cobol"
940
+ },
941
+ "2": {
942
+ "name": "invalid.illegal.constant.numeric.integer"
943
+ }
944
+ },
945
+ "match": "((?<![-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\(([0-9]*)\\)"
946
+ },
947
+ {
948
+ "match": "(?i:cblt-x1-compx-const|cblt-x2-compx-const|cblt-x4-compx-const|cblt-alphanum-const|cblt-x9-compx|cblt-x8-compx|cblt-x8-comp5|cblt-x4-compx|cblt-x4-comp5|cblt-x2-compx|cblt-x2-comp5|cblt-x1-compx|cblt-x1-comp5|cblt-x1|cblt-vfile-status|cblt-vfile-handle|cblt-sx8-comp5|cblt-sx4-comp5|cblt-sx2-comp5|cblt-sx1-comp5|cblt-subsys-params|cblt-splitjoin-buf|cblt-screen-position|cblt-rtncode|cblt-request-context|cblt-reqhand-service-info|cblt-reqhand-service-funcs|cblt-reqhand-response|cblt-reqhand-funcs|cblt-prog-info-params|cblt-prog-info-arg-info|cblt-printer-properties|cblt-printer-name|cblt-printer-info|cblt-printer-default|cblt-ppointer|cblt-pointer|cblt-os-ssize|cblt-os-size|cblt-os-offset|cblt-os-info-params|cblt-os-flags|cblt-node-name|cblt-nls-msg-params|cblt-nls-msg-number-pair|cblt-nls-msg-ins-struct|cblt-nls-msg-buffer|cblt-mouse-shape|cblt-mouse-rect|cblt-mouse-pos|cblt-mouse-event|cblt-mem-validate-param|cblt-idp-exit-service-funcs|cblt-idp-exit-info|cblt-HWND|cblt-HINSTANCE|cblt-get-scr-line-draw-buffer|cblt-get-scr-graphics-buffer|cblt-generic-attr-value|cblt-generic-attr-rgb-values|cblt-generic-attr-information|cblt-file-status|cblt-fileexist-buf|cblt-exit-params|cblt-exit-info-params|cblt-cancel-proc-params|cblt-bytestream-handle|cblt-alphanum)",
949
+ "name": "support.function.cbltypes.cobol"
950
+ },
951
+ {
952
+ "match": "(?<![-_])(?i:computational-1|comp-1|computational-2|comp-2|computational-3|comp-3|computational-4|comp-4|computational-x|comp-x|computational-5|comp-5|computational-6|comp-6|computational-n|comp-n|packed-decimal|index|float|double|signed-short|unsigned-short|signed-int|unsigned-int|signed-long|unsigned-long|comp|computational|group-usage|usage\\sis\\sdisplay|usage\\sis\\sfont|usage\\s+display|binary|mutex-pointer|data-pointer|thread-pointer|sempahore-pointer|event-pointer|program-pointer|procedure-pointer|pointer|window|subwindow|control-type|thread|menu|variant|layout-manager|occurs|typedef|any|times|display\\s+blank\\s+when|blank\\s+when|blank\\s+screen|blank|usage\\sis|is\\spartial|usage|justified|just|right|signed|trailing\\s+separate|sign|seperate|sql)(?=\\s|\\.|\\))",
953
+ "name": "storage.type.picture.cobol"
954
+ },
955
+ {
956
+ "match": "(?i:byte-length)\\s+[0-9]+",
957
+ "name": "storage.type.length.cobol"
958
+ },
959
+ {
960
+ "match": "(?<![-_])(?i:accept|add|address|allocate|cancel|close|commit|compute|continue|delete|disable|display|bell|divide|eject|enable|enter|evaluate|exhibit|named|exit|free|generate|go\\s+to|initialize\\sonly|initialize|initiate|inspect|merge|end-set|set|end-invoke|invoke\\s+run|invoke|move|corresponding|corr|multiply|otherwise|open|sharing|sort-merge|purge|ready|read|kept|receive|release|return|rewrite|rounded|rollback|search|send|sort|collating\\s+sequence|collating|start|service|subtract|suppress|terminate|then|unlock|string|unstring|validate|write|next|statement|sentence)(?![0-9A-Za-z_-])",
961
+ "name": "keyword.verb.cobol"
962
+ },
963
+ {
964
+ "match": "(?<![-_])(?i:thread-local)(?![0-9A-Za-z_-])",
965
+ "name": "keyword.verb.cobol"
966
+ },
967
+ {
968
+ "match": "(\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![0-9A-Za-z_-])",
969
+ "name": "keyword.screens.cobol"
970
+ },
971
+ {
972
+ "match": "(\\s+|^)(?i:bold|high|lowlight|low|standard|background-high|background-low|background-standard)(?![0-9A-Za-z_-])",
973
+ "name": "invalid.illegal.screens.acu.cobol"
974
+ },
975
+ {
976
+ "match": "(?<![-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=\\s|\\.)",
977
+ "name": "storage.modifier.cobol"
978
+ },
979
+ {
980
+ "match": "=|<|>|<=|>=|<>|\\+|\\-|\\*|\\/|(?<![-_])(?i:b-and|b-or|b-xor|b-exor|b-not|b-left|b-right|and|or|equals|equal|greater\\s+than|less\\s+than|greater)(?![0-9A-Za-z_-])",
981
+ "name": "keyword.operator.cobol"
982
+ },
983
+ {
984
+ "match": "(?i:not\\s+at\\s+end)(?![0-9A-Za-z_-])",
985
+ "name": "keyword.verb.cobol"
986
+ },
987
+ {
988
+ "match": "(?<![-_])(?i:not)(?![0-9A-Za-z_-])",
989
+ "name": "keyword.operator.cobol"
990
+ },
991
+ {
992
+ "match": "(?<![-_])(?i:sysout-flush|sysin|stderr|stdout|csp|stdin|sysipt|sysout|sysprint|syslist|syslst|printer|syserr|console|c01|c02|c03|c04|c05|c06|c07|c08|c09|c10|c11|c12|formfeed|switch-0|switch-10|switch-11|switch-12|switch-13|switch-13|switch-14|switch-15|switch-1|switch-2|switch-3|switch-4|switch-5|switch-6|switch-7|switch-8|switch-9|sw0|sw11|sw12|sw13|sw14|sw15|sw1|sw2|sw3|sw4|sw5|sw6|sw7|sw8|sw9|sw10|lc_all|lc_collate|lc_ctype|lc_messages|lc_monetary|lc_numeric|lc_time|ucs-4|utf-8|utf-16)(?![0-9A-Za-z_-])",
993
+ "name": "support.type.cobol"
994
+ },
995
+ {
996
+ "match": "(?<![-_])(?i:end-xml|processing.*procedure|xml\\sparse|xml|xml-information|xml-text|xml-schemal|xml-declaration)(?![0-9A-Za-z_-])",
997
+ "name": "keyword.xml.cobol"
998
+ },
999
+ {
1000
+ "match": "(?<![-_])(?i:json\\s+generate|json|end-json|name\\sof)(?![0-9A-Za-z_-])",
1001
+ "name": "keyword.json.cobol"
1002
+ },
1003
+ {
1004
+ "match": "(?<![-_])(?i:modify|inquire|tab|title|event|center|label-offset|cell|help-id|cells|push-button|radio-button|page-layout-screen|entry-field|list-box|label|default-font|id|no-tab|unsorted|color|height|width|bind|thread|erase|modeless|scroll|system|menu|title-bar|wrap|destroy|resizeable|user-gray|large-font|newline|3-d|data-columns|display-columns|alignment|separation|cursor-frame-width|divider-color|drag-color|heading-color|heading-divider-color|num-rows|record-data|tiled-headings|vpadding|centered-headings|column-headings|self-act|cancel-button|vscroll|report-composer|clsid|primary-interface|active-x-control|default-interface|default-source|auto-minimize|auto-resize|resource|engraved|initial-state|frame|acuactivexcontrol|activex-res|grid|box|message|namespace|class-name|module|constructor|version|strong|culture|method|handle|exception-value|read-only|dividers|graphical|indexed|termination-value|permanent|boxed|visible|centered|record-position|convert)(?=\\s|\\.|,|;|$)",
1005
+ "name": "invalid.illegal.acu.cobol"
1006
+ },
1007
+ {
1008
+ "match": "(?<![-_])(?i:actual|auto|automatic|based-storage|complex|connect|contained|core-index|db-access-control-key|db-data-name|db-exception|db-record-name|db-set-name|db-status|dead-lock|endcobol|end-disable|end-enable|end-send|end-transceive|eos|file-limits|file-limit|formatted|sort-status|usage-mode)(?=\\s|\\.|,|;|$)",
1009
+ "name": "invalid.illegal.netcobol.cobol"
1010
+ },
1011
+ {
1012
+ "match": "(?<![-_])(?i:System-Info|Terminal-Info)(?![0-9A-Za-z_-])",
1013
+ "name": "support.type.cobol.acu strong"
1014
+ },
1015
+ {
1016
+ "match": "(?<![-_])(?i:alter)(?=\\s|\\.)",
1017
+ "name": "invalid.illegal.cobol"
1018
+ },
1019
+ {
1020
+ "match": "(?<![-_])(?i:apply|areas|area|clock-units|code|com-reg|controls|dbcs|destination|detail|display-1|ending|every|insert|kanjikey|last|left|less|limits|limit|memory|metaclass|modules|more-labels|multiple|native_binary|native|negative|number|numeric-edited|other|padding|password|pf|ph|postive|processing|queue|recording|reload|removal|rerun|reserve|reserved|rewind|segment-limit|segment|separate|sequence|skip1|skip2|skip3|standard-1|standard-2|sub-queue-1|sub-queue-2|sub-queue-3|sum|symbolic|synchronized|sync|table|test|text|than|top|trace|trailing|unit|words|write-only|at|basis|beginning|bottom|cbl|cf|ch|de|positive|egcs|egi|emi|end|reversed|rf|rh|run|same|order|heading|esi)(?![0-9A-Za-z_-])",
1021
+ "name": "keyword.ibmreserved.cobol"
1022
+ },
1023
+ {
1024
+ "match": "(?<![-_])(?i:active-class|aligned|anycase|boolean|cols|col|condition|ec|eo|system-default|function-pointer)(?![0-9A-Za-z_-])",
1025
+ "name": "strong keyword.potential.reserved.cobol"
1026
+ },
1027
+ {
1028
+ "match": "(?i:filler)",
1029
+ "name": "keyword.filler.cobol"
1030
+ },
1031
+ {
1032
+ "match": "(?<![-_])(?i:address-of|date|day-of-week|day|debug-content|debug-item|debug-line|debug-item|debug-sub-1|debug-sub-2|debug-sub-3|shift-in|shift-out|sort-control|sort-core-size|sort-file-size|sort-message|sort-return|sort-mode-size|sort-return|tally|time|when-compiled|line-counter|page-counter|return-code|linage-counter|debug-line|debug-name|debug-contents|json-code|json-status|xml-code|xml-event|xml-information|xml-namespace-prefix|xml-namespace|xml-nnamespace-repfix|xml-nnamespace|xml-ntext|jnienvptr|igy-javaiop-call-exception)(?![0-9A-Za-z_-])",
1033
+ "name": "variable.language"
1034
+ },
1035
+ {
1036
+ "match": "(?<![-_])(?i:shortint1|shortint2|shortint3|shortint4|shortint5|shortint6|shortint7|longint1|longint2|longint3|longint4|longint5|longint6|bigint1|bigint2|blob-locator|clob-locator|dbclob-locator|dbclob-file|blob-file|clob-file|clob|dbclob|blob|varbinary|long-varbinary|time-record|timestamp-record|timestamp-offset-record|timestamp-offset|timestamp|rowid|xml|long-varchar)(?=\\s|\\.|\\)|\\()",
1037
+ "name": "storage.type.sql.picture.cobol"
1038
+ },
1039
+ {
1040
+ "match": "(?<![-_])(?i:self)",
1041
+ "name": "keyword.other.self.cobol"
1042
+ },
1043
+ {
1044
+ "match": "(?<![-_])(?i:super)",
1045
+ "name": "keyword.other.super.cobol"
1046
+ },
1047
+ {
1048
+ "match": "(^[0-9][0-9][0-9][0-9][0-9][0-9])",
1049
+ "name": "constant.numeric.cobol"
1050
+ },
1051
+ {
1052
+ "captures": {
1053
+ "1": {
1054
+ "name": "meta.symbol.cobol"
1055
+ },
1056
+ "2": {
1057
+ "name": "constant.numeric.integer"
1058
+ },
1059
+ "3": {
1060
+ "name": "meta.symbol.cobol"
1061
+ },
1062
+ "4": {
1063
+ "name": "constant.numeric.integer"
1064
+ },
1065
+ "5": {
1066
+ "name": "meta.symbol.cobol"
1067
+ }
1068
+ },
1069
+ "match": "(\\()([0-9]*)(:)([0-9]*)(\\))"
1070
+ },
1071
+ {
1072
+ "match": "([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))",
1073
+ "name": "meta.symbol.cobol"
1074
+ }
1075
+ ],
1076
+ "repository": {
1077
+ "cics-keywords": {
1078
+ "match": "(?<![\\-\\w])(?i:abcode|abdump|abend|abort|abprogram|abstime|accum|acee|acqactivity|acqprocess|acquactivity|action|activity|activityid|actpartn|add|address|after|aid|alarm|all|allocate|alter|alternate|altscrnht|altscrnwd|and|anykey|aplkybd|apltext|applid|as|asa|asis|asktime|asraintrpt|asrakey|asrapsw|asraregs|asraspc|asrastg|assign|asynchronous|at|attach|attachid|attributes|authenticate|autopage|auxiliary|base64|basicauth|below|bif|binary|bit|bodycharset|bookmark|brdata|brdatalength|brexit|bridge|browsetoken|btrans|buffer|build|burgeability|caddrlength|cancel|card|cbuff|ccsid|certificate|change|changetime|channel|char|characterset|check|chunkend|chunking|chunkno|chunkyes|cicsdatakey|ciphers|class|clear|cliconvert|client|clientaddr|clientaddrnu|clientconv|clientname|clntaddr6nu|clntipfamily|close|closestatus|clrpartn|cmdsec|cnamelength|cnotcompl|codepage|color|commarea|commonname|commonnamlen|comparemax|comparemin|complete|composite|compstatus|condition|confirm|confirmation|connect|consistent|console|container|contexttype|control|convdata|converse|convertst|converttime|convid|copy|counter|country|countrylen|create|critical|ctlchar|current|cursor|cwa|cwaleng|data|data1|data2|datalength|datalenth|dataonly|datapointer|dataset|datastr|datatoxml|datatype|datcontainer|date|dateform|datesep|datestring|day|daycount|dayofmonth|dayofweek|dayofyear|days|daysleft|day-of-week|dcounter|ddmmyy|ddmmyyyy|debkey|debrec|debug-contents|debug-item|debug-line|debug-name|debug-sub-1|debug-sub-2|debug-sub-3|deedit|default|define|defresp|defscrnht|defscrnwd|delay|delete|deleteq|delimiter|deq|destcount|destid|destidleng|detail|detaillength|dfhresp|dfhvalue|digest|digesttype|disconnect|docdelete|docsize|docstatus|doctoken|document|ds3270|dsscs|dump|dumpcode|dumpid|duprec|ecaddr|ecblist|eib|elemname|elemnamelen|elemns|elemnslen|end|endactivity|endbr|endbrowse|endfile|endoutput|enq|enter|entry|entryname|eoc|eods|eprfield|eprfrom|eprinto|eprlength|eprset|eprtype|equal|erase|eraseaup|error|errterm|esmreason|esmresp|event|eventtype|eventual|ewasupp|exception|expect|expirytime|extds|external|extract|facility|facilitytokn|false|faultactlen|faultactor|faultcode|faultcodelen|faultcodestr|faultstring|faultstrlen|fci|fct|field|file|firestatus|flength|fmh|fmhparm|for|force|formattime|formfeed|formfield|free|freekb|freemain|from|fromactivity|fromccsid|fromchannel|fromcodepage|fromdoc|fromflength|fromlength|fromprocess|frset|fulldate|function|gchars|gcodes|gds|generic|get|getmain|getnext|gmmi|groupid|gtec|gteq|handle|head|header|hex|high-value|high-values|hilight|hold|honeom|host|hostcodepage|hostlength|hosttype|hours|httpheader|httpmethod|httprnum|httpversion|httpvnum|ignore|immediate|in|increment|initimg|initparm|initparmlen|inpartn|input|inputevent|inputmsg|inputmsglen|inquire|insert|integer|interval|into|intoccsid|intocodepage|invalidcount|invite|invmpsz|invoke|invokingprog|invpartn|invreq|issue|issuer|item|iutype|journalname|jtypeid|jusfirst|juslast|justify|katakana|keep|keylength|keynumber|l40|l64|l80|label|langinuse|languagecode|last|lastusetime|ldc|ldcmnem|ldcnum|leavekb|length|lengthlist|level|lightpen|linage-counter|line|lineaddr|line-counter|link|list|listlength|llid|load|locality|localitylen|logmessage|logmode|logonlogmode|logonmsg|low-value|low-values|luname|main|map|mapcolumn|mapfail|mapheight|mapline|maponly|mapped|mappingdev|mapset|mapwidth|massinsert|maxdatalen|maxflength|maximum|maxlength|maxlifetime|maxproclen|mcc|mediatype|message|messageid|metadata|metadatalen|method|methodlength|milliseconds|minimum|minutes|mmddyy|mmddyyyy|mode|modename|monitor|month|monthofyear|move|msr|msrcontrol|name|namelength|natlang|natlanginuse|netname|newpassword|newphrase|newphraselen|next|nexttransid|nleom|noautopage|nocc|nocheck|nocliconvert|noclose|nodata|node|nodocdelete|nodump|noedit|noflush|nohandle|noinconvert|none|nooutconert|noqueue|noquiesce|nosrvconvert|nosuspend|note|notpurgeable|notruncate|nowait|nscontainer|null|nulls|numciphers|numevents|numitems|numrec|numroutes|numsegments|numtab|of|oidcard|on|opclass|open|operation|operator|operid|operkeys|operpurge|opid|opsecurity|options|or|orgabcode|organization|organizatlen|orgunit|orgunitlen|outdescr|outline|outpartn|output|owner|pa1|pa2|pa3|page|pagenum|page-counter|paging|parse|partn|partner|partnfail|partnpage|partns|partnset|pass|passbk|password|passwordlen|path|pathlength|pct|pf1|pf10|pf11|pf12|pf13|pf14|pf15|pf16|pf17|pf18|pf19|pf2|pf20|pf21|pf22|pf23|pf24|pf3|pf4|pf5|pf6|pf7|pf8|pf9|pfxleng|phrase|phraselen|piplength|piplist|point|pool|pop|portnumber|portnumnu|post|ppt|predicate|prefix|prepare|princonvid|prinsysid|print|priority|privacy|process|processtype|proclength|procname|profile|program|protect|ps|punch|purge|purgeable|push|put|qname|query|queryparm|querystring|querystrlen|queue|quote|quotes|random|rba|rbn|rdatt|read|readnext|readprev|readq|reattach|receive|receiver|recfm|record|recordlen|recordlength|reduce|refparms|refparmslen|relatesindex|relatestype|relatesuri|release|remove|repeatable|repetable|replace|reply|replylength|reqid|requesttype|resclass|reset|resetbr|resid|residlength|resource|resp|resp2|ressec|restart|restype|result|resume|retain|retcode|retcord|retriece|retrieve|return|returnprog|return-code|rewind|rewrite|ridfld|role|rolelength|rollback|route|routecodes|rprocess|rresource|rrn|rtermid|rtransid|run|saddrlength|scheme|schemename|scope|scopelen|scrnht|scrnwd|seconds|security|segmentlist|send|sender|serialnum|serialnumlen|server|serveraddr|serveraddrnu|serverconv|servername|service|session|sesstoken|set|shared|shift-in|shift-out|sigdata|signal|signoff|signon|sit|snamelength|soapfault|sort-control|sort-core-size|sort-file-size|sort-message|sort-mode-size|sort-return|sosi|space|spaces|spoolclose|spoolopen|spoolread|spoolwrite|srvconvert|srvraddr6nu|srvripfamily|ssltype|start|startbr|startbrowse|startcode|state|statelen|stationid|status|statuscode|statuslen|statustext|storage|strfield|stringformat|subaddr|subcodelen|subcodestr|subevent|subevent1|subevent2|subevent3|subevent4|subevent5|subevent6|subevent7|subevent8|sum|suspend|suspstatus|symbol|symbollist|synchronous|synclevel|synconreturn|syncpoint|sysid|tables|tally|task|taskpriority|tcpip|tcpipservice|tct|tctua|tctualeng|td|tellerid|template|termcode|termid|terminal|termpriority|test|text|textkybd|textlength|textprint|time|timeout|timer|timesep|title|to|toactivity|tochannel|tocontainer|toflength|token|tolength|toprocess|trace|tracenum|trailer|tranpriority|transaction|transform|transid|trigger|trt|true|ts|twa|twaleng|type|typename|typenamelen|typens|typenslen|unattend|uncommitted|unescaped|unexpin|unlock|until|uow|update|uri|urimap|url|urllength|userdatakey|userid|username|usernamelen|userpriority|using|validation|value|valuelength|verify|versionlen|volume|volumeleng|wait|waitcics|web|when-compiled|wpmedia1|wpmedia2|wpmedia3|wpmedia4|wrap|write|writeq|wsacontext|wsaepr|xctl|xmlcontainer|xmltodata|xmltransform|xrba|year|yyddd|yyddmm|yymmdd|yyyyddd|yyyyddmm|yyyymmdd|zero|zeroes|zeros)(?![\\-\\w])",
1079
+ "name": "keyword.verb.cics"
1080
+ },
1081
+ "dli-keywords": {
1082
+ "match": "(?<![\\-\\w])(?i:accept|chkp|deq|dlet|gnp|gn|gu|isrt|load|log|pos|query|refresh|repl|retrieve|rolb|roll|rols|schd|sets|setu|symchkp|term|xrst)(?![\\-\\w])",
1083
+ "name": "keyword.verb.dli"
1084
+ },
1085
+ "number-complex-constant": {
1086
+ "match": "(\\-|\\+)?((([0-9]+(\\.[0-9]+))|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?(?=\\s|\\.$|,|\\))",
1087
+ "name": "constant.numeric.cobol"
1088
+ },
1089
+ "number-simple-constant": {
1090
+ "match": "(\\-|\\+)?([0-9]+)(?=\\s|\\.$|,|\\))",
1091
+ "name": "constant.numeric.cobol"
1092
+ },
1093
+ "string-double-quoted-constant": {
1094
+ "begin": "\"",
1095
+ "beginCaptures": {
1096
+ "0": {
1097
+ "name": "punctuation.definition.string.begin.cobol"
1098
+ }
1099
+ },
1100
+ "end": "(\"|$)",
1101
+ "endCaptures": {
1102
+ "0": {
1103
+ "name": "punctuation.definition.string.end.cobol"
1104
+ }
1105
+ }
1106
+ },
1107
+ "string-quoted-constant": {
1108
+ "begin": "'",
1109
+ "beginCaptures": {
1110
+ "0": {
1111
+ "name": "punctuation.definition.string.begin.cobol"
1112
+ }
1113
+ },
1114
+ "end": "('|$)",
1115
+ "endCaptures": {
1116
+ "0": {
1117
+ "name": "punctuation.definition.string.end.cobol"
1118
+ }
1119
+ },
1120
+ "name": "string.quoted.single.cobol"
1121
+ }
1122
+ },
1123
+ "scopeName": "source.cobol"
1124
+ }