tm-grammars 1.22.18 → 1.23.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 (234) hide show
  1. package/NOTICE +287 -1
  2. package/README.md +241 -239
  3. package/grammars/abap.json +36 -36
  4. package/grammars/actionscript-3.json +29 -29
  5. package/grammars/ada.json +78 -78
  6. package/grammars/angular-expression.json +62 -62
  7. package/grammars/angular-html.json +0 -1
  8. package/grammars/angular-inline-style.json +3 -3
  9. package/grammars/angular-inline-template.json +2 -2
  10. package/grammars/angular-template-blocks.json +3 -3
  11. package/grammars/angular-template.json +1 -1
  12. package/grammars/angular-ts.json +251 -251
  13. package/grammars/apache.json +31 -31
  14. package/grammars/apex.json +108 -108
  15. package/grammars/apl.json +18 -18
  16. package/grammars/applescript.json +11 -11
  17. package/grammars/ara.json +13 -13
  18. package/grammars/asciidoc.json +234 -234
  19. package/grammars/asm.json +90 -90
  20. package/grammars/astro.json +25 -25
  21. package/grammars/awk.json +8 -8
  22. package/grammars/ballerina.json +150 -150
  23. package/grammars/bat.json +28 -28
  24. package/grammars/beancount.json +33 -33
  25. package/grammars/berry.json +11 -11
  26. package/grammars/bibtex.json +12 -12
  27. package/grammars/bicep.json +12 -12
  28. package/grammars/blade.json +183 -183
  29. package/grammars/bsl.json +58 -58
  30. package/grammars/c.json +162 -162
  31. package/grammars/cadence.json +20 -20
  32. package/grammars/cairo.json +10 -10
  33. package/grammars/clarity.json +20 -20
  34. package/grammars/clojure.json +25 -25
  35. package/grammars/cmake.json +3 -3
  36. package/grammars/cobol.json +91 -91
  37. package/grammars/codeql.json +154 -154
  38. package/grammars/coffee.json +45 -45
  39. package/grammars/common-lisp.json +50 -50
  40. package/grammars/coq.json +10 -10
  41. package/grammars/cpp-macro.json +410 -410
  42. package/grammars/cpp.json +641 -641
  43. package/grammars/crystal.json +68 -68
  44. package/grammars/csharp.json +196 -196
  45. package/grammars/css.json +83 -83
  46. package/grammars/csv.json +1 -1
  47. package/grammars/cue.json +55 -55
  48. package/grammars/cypher.json +11 -11
  49. package/grammars/d.json +127 -32
  50. package/grammars/dart.json +18 -18
  51. package/grammars/dax.json +9 -9
  52. package/grammars/desktop.json +9 -9
  53. package/grammars/diff.json +3 -3
  54. package/grammars/dotenv.json +3 -3
  55. package/grammars/dream-maker.json +20 -20
  56. package/grammars/edge.json +8 -8
  57. package/grammars/elixir.json +44 -44
  58. package/grammars/elm.json +23 -23
  59. package/grammars/emacs-lisp.json +76 -76
  60. package/grammars/erb.json +2 -2
  61. package/grammars/erlang.json +29 -29
  62. package/grammars/es-tag-css.json +3 -3
  63. package/grammars/es-tag-glsl.json +3 -3
  64. package/grammars/es-tag-html.json +3 -3
  65. package/grammars/es-tag-sql.json +2 -2
  66. package/grammars/es-tag-xml.json +2 -2
  67. package/grammars/fennel.json +8 -8
  68. package/grammars/fish.json +10 -10
  69. package/grammars/fluent.json +10 -10
  70. package/grammars/fortran-fixed-form.json +1 -1
  71. package/grammars/fortran-free-form.json +106 -106
  72. package/grammars/fsharp.json +70 -70
  73. package/grammars/gdresource.json +15 -15
  74. package/grammars/gdscript.json +31 -27
  75. package/grammars/gdshader.json +18 -18
  76. package/grammars/genie.json +6 -6
  77. package/grammars/gherkin.json +1 -1
  78. package/grammars/git-commit.json +1 -1
  79. package/grammars/git-rebase.json +1 -1
  80. package/grammars/gleam.json +11 -11
  81. package/grammars/glimmer-js.json +35 -35
  82. package/grammars/glimmer-ts.json +35 -35
  83. package/grammars/glsl.json +4 -4
  84. package/grammars/gnuplot.json +41 -41
  85. package/grammars/go.json +155 -155
  86. package/grammars/graphql.json +20 -20
  87. package/grammars/groovy.json +44 -44
  88. package/grammars/hack.json +74 -74
  89. package/grammars/haml.json +24 -24
  90. package/grammars/handlebars.json +25 -25
  91. package/grammars/haskell.json +99 -99
  92. package/grammars/haxe.json +51 -51
  93. package/grammars/hcl.json +43 -43
  94. package/grammars/hjson.json +29 -29
  95. package/grammars/hlsl.json +15 -15
  96. package/grammars/html-derivative.json +0 -1
  97. package/grammars/html.json +28 -29
  98. package/grammars/http.json +17 -17
  99. package/grammars/hxml.json +3 -3
  100. package/grammars/hy.json +10 -10
  101. package/grammars/imba.json +168 -173
  102. package/grammars/ini.json +2 -2
  103. package/grammars/java.json +54 -54
  104. package/grammars/javascript.json +262 -262
  105. package/grammars/jinja-html.json +3 -3
  106. package/grammars/jinja.json +15 -15
  107. package/grammars/jison.json +18 -18
  108. package/grammars/json.json +6 -6
  109. package/grammars/json5.json +12 -12
  110. package/grammars/jsonc.json +6 -6
  111. package/grammars/jsonl.json +6 -6
  112. package/grammars/jsonnet.json +15 -15
  113. package/grammars/jssm.json +4 -4
  114. package/grammars/jsx.json +262 -262
  115. package/grammars/julia.json +45 -45
  116. package/grammars/kotlin.json +15 -15
  117. package/grammars/kusto.json +13 -13
  118. package/grammars/latex.json +260 -260
  119. package/grammars/lean.json +12 -12
  120. package/grammars/less.json +91 -91
  121. package/grammars/liquid.json +96 -62
  122. package/grammars/llvm.json +122 -0
  123. package/grammars/log.json +22 -22
  124. package/grammars/logo.json +2 -2
  125. package/grammars/lua.json +34 -34
  126. package/grammars/luau.json +20 -20
  127. package/grammars/make.json +22 -22
  128. package/grammars/markdown-vue.json +1 -1
  129. package/grammars/markdown.json +83 -83
  130. package/grammars/marko.json +19 -19
  131. package/grammars/matlab.json +29 -29
  132. package/grammars/mdc.json +17 -17
  133. package/grammars/mdx.json +278 -278
  134. package/grammars/mermaid.json +97 -97
  135. package/grammars/mipsasm.json +2 -2
  136. package/grammars/mojo.json +122 -122
  137. package/grammars/move.json +35 -35
  138. package/grammars/narrat.json +10 -10
  139. package/grammars/nextflow.json +11 -11
  140. package/grammars/nginx.json +45 -45
  141. package/grammars/nim.json +44 -44
  142. package/grammars/nix.json +71 -71
  143. package/grammars/nushell.json +36 -36
  144. package/grammars/objective-c.json +129 -129
  145. package/grammars/objective-cpp.json +245 -245
  146. package/grammars/ocaml.json +229 -229
  147. package/grammars/pascal.json +4 -4
  148. package/grammars/perl.json +64 -64
  149. package/grammars/php.json +199 -199
  150. package/grammars/plsql.json +10 -10
  151. package/grammars/po.json +4 -4
  152. package/grammars/polar.json +13 -13
  153. package/grammars/postcss.json +31 -31
  154. package/grammars/powerquery.json +10 -10
  155. package/grammars/powershell.json +54 -54
  156. package/grammars/prisma.json +13 -13
  157. package/grammars/prolog.json +3 -3
  158. package/grammars/proto.json +11 -11
  159. package/grammars/pug.json +30 -30
  160. package/grammars/puppet.json +35 -35
  161. package/grammars/purescript.json +843 -467
  162. package/grammars/python.json +126 -126
  163. package/grammars/qml.json +18 -18
  164. package/grammars/qss.json +7 -7
  165. package/grammars/r.json +17 -17
  166. package/grammars/racket.json +58 -58
  167. package/grammars/raku.json +15 -15
  168. package/grammars/razor.json +30 -30
  169. package/grammars/reg.json +3 -3
  170. package/grammars/regexp.json +15 -15
  171. package/grammars/rel.json +4 -4
  172. package/grammars/riscv.json +15 -15
  173. package/grammars/rst.json +26 -26
  174. package/grammars/ruby.json +103 -106
  175. package/grammars/rust.json +13 -13
  176. package/grammars/sas.json +9 -9
  177. package/grammars/sass.json +35 -35
  178. package/grammars/scala.json +75 -75
  179. package/grammars/scheme.json +16 -16
  180. package/grammars/scss.json +68 -68
  181. package/grammars/sdbl.json +18 -18
  182. package/grammars/shaderlab.json +8 -8
  183. package/grammars/shellscript.json +111 -111
  184. package/grammars/shellsession.json +1 -1
  185. package/grammars/smalltalk.json +5 -5
  186. package/grammars/solidity.json +20 -20
  187. package/grammars/soy.json +30 -30
  188. package/grammars/sparql.json +1 -1
  189. package/grammars/splunk.json +6 -6
  190. package/grammars/sql.json +8 -8
  191. package/grammars/ssh-config.json +2 -2
  192. package/grammars/stata.json +90 -90
  193. package/grammars/stylus.json +48 -48
  194. package/grammars/svelte.json +35 -25
  195. package/grammars/swift.json +114 -114
  196. package/grammars/system-verilog.json +25 -25
  197. package/grammars/systemd.json +16 -16
  198. package/grammars/talonscript.json +12 -12
  199. package/grammars/tasl.json +10 -10
  200. package/grammars/tcl.json +11 -11
  201. package/grammars/templ.json +34 -34
  202. package/grammars/terraform.json +42 -42
  203. package/grammars/tex.json +14 -14
  204. package/grammars/toml.json +15 -15
  205. package/grammars/tsx.json +262 -262
  206. package/grammars/turtle.json +2 -2
  207. package/grammars/twig.json +37 -37
  208. package/grammars/typescript.json +251 -251
  209. package/grammars/typespec.json +54 -273
  210. package/grammars/typst.json +34 -34
  211. package/grammars/v.json +32 -32
  212. package/grammars/vala.json +6 -6
  213. package/grammars/vb.json +7 -7
  214. package/grammars/verilog.json +4 -4
  215. package/grammars/vhdl.json +10 -10
  216. package/grammars/viml.json +22 -22
  217. package/grammars/vue-html.json +10 -10
  218. package/grammars/vue-sfc-style-variable-injection.json +1 -1
  219. package/grammars/vue.json +65 -65
  220. package/grammars/vyper.json +126 -126
  221. package/grammars/wasm.json +26 -26
  222. package/grammars/wenyan.json +7 -7
  223. package/grammars/wgsl.json +9 -9
  224. package/grammars/wikitext.json +66 -66
  225. package/grammars/wit.json +1409 -0
  226. package/grammars/wolfram.json +446 -446
  227. package/grammars/xml.json +11 -11
  228. package/grammars/xsl.json +1 -1
  229. package/grammars/yaml.json +24 -24
  230. package/grammars/zenscript.json +8 -8
  231. package/grammars/zig.json +11 -11
  232. package/index.d.ts +7 -0
  233. package/index.js +1226 -506
  234. package/package.json +1 -1
@@ -30,7 +30,7 @@
30
30
  "name": "cobol",
31
31
  "patterns": [
32
32
  {
33
- "match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])([dD]\\s.*$)",
33
+ "match": "(^[ *][ *][ *][ *][ *][ *])([dD]\\s.*$)",
34
34
  "name": "token.info-token.cobol"
35
35
  },
36
36
  {
@@ -42,7 +42,7 @@
42
42
  "name": "comment.line.cobol.newpage"
43
43
  }
44
44
  },
45
- "match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\/.*$)"
45
+ "match": "(^[ *][ *][ *][ *][ *][ *])(/.*$)"
46
46
  },
47
47
  {
48
48
  "captures": {
@@ -53,7 +53,7 @@
53
53
  "name": "comment.line.cobol.fixed"
54
54
  }
55
55
  },
56
- "match": "(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\*.*$)"
56
+ "match": "(^[ *][ *][ *][ *][ *][ *])(\\*.*$)"
57
57
  },
58
58
  {
59
59
  "captures": {
@@ -64,7 +64,7 @@
64
64
  "name": "comment.line.cobol.newpage"
65
65
  }
66
66
  },
67
- "match": "(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\/.*$)"
67
+ "match": "(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(/.*$)"
68
68
  },
69
69
  {
70
70
  "match": "^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s]$",
@@ -90,7 +90,7 @@
90
90
  "name": "comment.line.cobol.fixed"
91
91
  }
92
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\\$#%\\.@\\- +])(\\*.*$)"
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
94
  },
95
95
  {
96
96
  "captures": {
@@ -126,7 +126,7 @@
126
126
  "name": "comment.line.cobol.newpage"
127
127
  }
128
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\\$#%\\.@])(\\/.*$)"
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
130
  },
131
131
  {
132
132
  "match": "^\\*.*$",
@@ -252,7 +252,7 @@
252
252
  "name": "entity.other.attribute-name.preprocessor.cobol"
253
253
  }
254
254
  },
255
- "match": "(\\$region|\\$end-region)(.*$)"
255
+ "match": "(\\$(?:region|end-region))(.*$)"
256
256
  },
257
257
  {
258
258
  "begin": "\\$(?i:doc)(.*$)",
@@ -264,7 +264,7 @@
264
264
  "name": "invalid.illegal.meta.preprocessor.cobolit"
265
265
  },
266
266
  {
267
- "match": "(?i:substitute-case|substitute)\\s+",
267
+ "match": "(?i:substitute(?:-case|))\\s+",
268
268
  "name": "invalid.illegal.functions.cobolit"
269
269
  },
270
270
  {
@@ -279,7 +279,7 @@
279
279
  "name": "invalid.illegal.entity.name.function.preprocessor.cobol"
280
280
  }
281
281
  },
282
- "match": "((((>>|\\$)[\\s]*)(?i:elif))(.*$))"
282
+ "match": "((((>>|\\$)\\s*)(?i:elif))(.*$))"
283
283
  },
284
284
  {
285
285
  "captures": {
@@ -293,7 +293,7 @@
293
293
  "name": "entity.name.function.preprocessor.cobol"
294
294
  }
295
295
  },
296
- "match": "((((>>|\\$)[\\s]*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*$))"
296
+ "match": "((((>>|\\$)\\s*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*$))"
297
297
  },
298
298
  {
299
299
  "captures": {
@@ -354,13 +354,13 @@
354
354
  "name": "meta.symbol.forced.cobol"
355
355
  },
356
356
  {
357
- "begin": "((?<![-_a-zA-Z0-9()-])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\.|$))",
357
+ "begin": "((?<![\\-_a-zA-Z0-9()])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\.|$))",
358
358
  "beginCaptures": {
359
359
  "0": {
360
360
  "name": "keyword.identifiers.cobol"
361
361
  }
362
362
  },
363
- "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)|^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*]\\*.*$|^\\+$))",
363
+ "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)|^[ *][ *][ *][ *][ *][ *]\\*.*$|^\\+$))",
364
364
  "name": "comment.block.cobol.remark",
365
365
  "patterns": [
366
366
  {
@@ -381,7 +381,7 @@
381
381
  "name": "keyword.end.bracket.cobol"
382
382
  }
383
383
  },
384
- "match": "(?<=(\\(|\\[))((\\-\\+)*\\s*[0-9 ,\\.\\+\\-\\*\\/]+)(?=(\\)|\\]))",
384
+ "match": "(?<=([(\\[]))((-\\+)*\\s*[0-9 ,.+\\-*/]+)(?=([)\\]]))",
385
385
  "name": "constant.numeric.cobol"
386
386
  },
387
387
  {
@@ -391,17 +391,17 @@
391
391
  "include": "#number-simple-constant"
392
392
  },
393
393
  {
394
- "match": "(?<![-_])(?i:true|false|null|nulls)(?![0-9A-Za-z_-])",
394
+ "match": "(?<![\\-_])(?i:true|false|null|nulls)(?![0-9A-Za-z_\\-])",
395
395
  "name": "constant.language.cobol"
396
396
  },
397
397
  {
398
- "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+|\\.|,|\\))",
398
+ "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+|[.,)])",
399
399
  "name": "constant.language.figurative.cobol"
400
400
  },
401
401
  {
402
- "begin": "(?i:exec\\s+sqlims|exec\\s+sql)",
402
+ "begin": "(?i:exec(?:\\s+sqlims|\\s+sql))",
403
403
  "contentName": "meta.embedded.block.openesql",
404
- "end": "(?i:end\\-exec)",
404
+ "end": "(?i:end-exec)",
405
405
  "name": "keyword.verb.cobol",
406
406
  "patterns": [
407
407
  {
@@ -417,7 +417,7 @@
417
417
  "name": "comment.line.modern"
418
418
  },
419
419
  {
420
- "match": "(\\:([0-9a-zA-Z\\-_])*)",
420
+ "match": "(:([0-9a-zA-Z\\-_])*)",
421
421
  "name": "variable.cobol"
422
422
  },
423
423
  {
@@ -428,7 +428,7 @@
428
428
  {
429
429
  "begin": "(?i:exec\\s+cics)",
430
430
  "contentName": "meta.embedded.block.cics",
431
- "end": "(?i:end\\-exec)",
431
+ "end": "(?i:end-exec)",
432
432
  "name": "keyword.verb.cobol",
433
433
  "patterns": [
434
434
  {
@@ -451,7 +451,7 @@
451
451
  "include": "#number-simple-constant"
452
452
  },
453
453
  {
454
- "match": "([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))",
454
+ "match": "([a-zA-Z\\-0-9_]*[a-zA-Z0-9]|(#?[0-9a-zA-Z]+[a-zA-Z\\-0-9_]*[a-zA-Z0-9]))",
455
455
  "name": "variable.cobol"
456
456
  }
457
457
  ]
@@ -459,7 +459,7 @@
459
459
  {
460
460
  "begin": "(?i:exec\\s+dli)",
461
461
  "contentName": "meta.embedded.block.dli",
462
- "end": "(?i:end\\-exec)",
462
+ "end": "(?i:end-exec)",
463
463
  "name": "keyword.verb.cobol",
464
464
  "patterns": [
465
465
  {
@@ -485,7 +485,7 @@
485
485
  "include": "#number-simple-constant"
486
486
  },
487
487
  {
488
- "match": "([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))",
488
+ "match": "([a-zA-Z\\-0-9_]*[a-zA-Z0-9]|(#?[0-9a-zA-Z]+[a-zA-Z\\-0-9_]*[a-zA-Z0-9]))",
489
489
  "name": "variable.cobol"
490
490
  }
491
491
  ]
@@ -493,7 +493,7 @@
493
493
  {
494
494
  "begin": "(?i:exec\\s+sqlims)",
495
495
  "contentName": "meta.embedded.block.openesql",
496
- "end": "(?i:end\\-exec)",
496
+ "end": "(?i:end-exec)",
497
497
  "name": "keyword.verb.cobol",
498
498
  "patterns": [
499
499
  {
@@ -501,7 +501,7 @@
501
501
  "name": "comment.line.modern"
502
502
  },
503
503
  {
504
- "match": "(\\:([a-zA-Z\\-])*)",
504
+ "match": "(:([a-zA-Z\\-])*)",
505
505
  "name": "variable.cobol"
506
506
  },
507
507
  {
@@ -512,7 +512,7 @@
512
512
  {
513
513
  "begin": "(?i:exec\\s+ado)",
514
514
  "contentName": "meta.embedded.block.openesql",
515
- "end": "(?i:end\\-exec)",
515
+ "end": "(?i:end-exec)",
516
516
  "name": "keyword.verb.cobol",
517
517
  "patterns": [
518
518
  {
@@ -524,7 +524,7 @@
524
524
  "name": "comment.line.modern"
525
525
  },
526
526
  {
527
- "match": "(\\:([a-zA-Z\\-])*)",
527
+ "match": "(:([a-zA-Z\\-])*)",
528
528
  "name": "variable.cobol"
529
529
  },
530
530
  {
@@ -535,7 +535,7 @@
535
535
  {
536
536
  "begin": "(?i:exec\\s+html)",
537
537
  "contentName": "meta.embedded.block.html",
538
- "end": "(?i:end\\-exec)",
538
+ "end": "(?i:end-exec)",
539
539
  "name": "keyword.verb.cobol",
540
540
  "patterns": [
541
541
  {
@@ -546,7 +546,7 @@
546
546
  {
547
547
  "begin": "(?i:exec\\s+java)",
548
548
  "contentName": "meta.embedded.block.java",
549
- "end": "(?i:end\\-exec)",
549
+ "end": "(?i:end-exec)",
550
550
  "name": "keyword.verb.cobol",
551
551
  "patterns": [
552
552
  {
@@ -609,7 +609,7 @@
609
609
  "name": "punctuation.definition.string.end.cobol"
610
610
  }
611
611
  },
612
- "match": "(\\')(CBL_.*)(\\')"
612
+ "match": "(')(CBL_.*)(')"
613
613
  },
614
614
  {
615
615
  "captures": {
@@ -623,7 +623,7 @@
623
623
  "name": "punctuation.definition.string.end.cobol"
624
624
  }
625
625
  },
626
- "match": "(\\')(PC_.*)(\\')"
626
+ "match": "(')(PC_.*)(')"
627
627
  },
628
628
  {
629
629
  "begin": "'",
@@ -731,7 +731,7 @@
731
731
  "name": "string.quoted.utf8.single.cobol"
732
732
  },
733
733
  {
734
- "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_-])",
734
+ "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_\\-])",
735
735
  "name": "keyword.identifiers.cobol"
736
736
  },
737
737
  {
@@ -743,42 +743,42 @@
743
743
  "name": "entity.name.function.cobol"
744
744
  }
745
745
  },
746
- "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_-]*)"
746
+ "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_\\-]*)"
747
747
  },
748
748
  {
749
- "match": "(?<![-_])(?i:implements|inherits|constraints|constrain)(?=\\s|\\.)",
749
+ "match": "(?<![\\-_])(?i:implements|inherits|constraints|constrain)(?=[\\s.])",
750
750
  "name": "keyword.verb.cobol"
751
751
  },
752
752
  {
753
- "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|\\.|,|\\))",
753
+ "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.,)])",
754
754
  "name": "keyword.identifiers.cobol"
755
755
  },
756
756
  {
757
- "match": "\\s+(?i:attach\\s+method|attach\\s+del|attach|detach\\s+del|detach\\s+method|detach|method|del)(?=\\s|\\.|$)",
757
+ "match": "\\s+(?i:attach\\s+method|attach\\s+del|attach|detach\\s+del|detach\\s+method|detach|method|del)(?=[\\s.]|$)",
758
758
  "name": "keyword.identifiers.cobol"
759
759
  },
760
760
  {
761
- "match": "\\s+(?i:sync\\s+(?i:on))(?=\\s|\\.)",
761
+ "match": "\\s+(?i:sync\\s+(?i:on))(?=[\\s.])",
762
762
  "name": "keyword.other.sync.cobol"
763
763
  },
764
764
  {
765
- "match": "\\s+(?i:try|finally|catch|end-try|throw)(?=\\s|\\.|$)",
765
+ "match": "\\s+(?i:try|finally|catch|end-try|throw)(?=[\\s.]|$)",
766
766
  "name": "keyword.control.catch-exception.cobol"
767
767
  },
768
768
  {
769
- "match": "(?<![-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\+\\+include|copy|replace)(?=\\s)",
769
+ "match": "(?<![\\-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\+\\+include|copy|replace)(?=\\s)",
770
770
  "name": "keyword.otherverb.cobol"
771
771
  },
772
772
  {
773
- "match": "(?i:dynamic)\\s+(?i:length)(?=\\s|\\.)",
773
+ "match": "(?i:dynamic)\\s+(?i:length)(?=[\\s.])",
774
774
  "name": "storage.type.dynamiclength.cobol"
775
775
  },
776
776
  {
777
- "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|\\.)",
777
+ "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.])",
778
778
  "name": "keyword.identifers.cobol"
779
779
  },
780
780
  {
781
- "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|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|\\.|\\(|\\))",
781
+ "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|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.()])",
782
782
  "name": "support.function.cobol"
783
783
  },
784
784
  {
@@ -796,22 +796,22 @@
796
796
  "name": "punctuation.definition.string.end.cobol"
797
797
  }
798
798
  },
799
- "match": "(?<![-_])(?i:DFHRESP|DFHVALUE)(\\s*\\(\\s*)([a-zA-Z]*)(\\s*\\))"
799
+ "match": "(?<![\\-_])(?i:DFH(?:RESP|VALUE))(\\s*\\(\\s*)([a-zA-Z]*)(\\s*\\))"
800
800
  },
801
801
  {
802
- "match": "(?<![-_])(?i:function)(?=\\s|\\.)",
802
+ "match": "(?<![\\-_])(?i:function)(?=[\\s.])",
803
803
  "name": "keyword.verb.cobol"
804
804
  },
805
805
  {
806
- "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_-])",
806
+ "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_\\-])",
807
807
  "name": "keyword.verb.cobol"
808
808
  },
809
809
  {
810
- "match": "(?<![-_])(?:by value|by reference|by content|property-value)(?![0-9A-Za-z_-])",
810
+ "match": "(?<![\\-_])(?:by value|by reference|by content|property-value)(?![0-9A-Za-z_\\-])",
811
811
  "name": "keyword.other.cobol"
812
812
  },
813
813
  {
814
- "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_-])",
814
+ "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_\\-])",
815
815
  "name": "keyword.identifers.cobol"
816
816
  },
817
817
  {
@@ -823,14 +823,14 @@
823
823
  "name": "storage.type.cobol"
824
824
  }
825
825
  },
826
- "match": "(?<![-_])(?i:type|new)\\s+([a-zA-Z][a-zA-Z0-9\\$\\-\\._]*|[a-zA-Z])(?=\\.$)"
826
+ "match": "(?<![\\-_])(?i:type|new)\\s+([a-zA-Z][a-zA-Z0-9$\\-._]*|[a-zA-Z])(?=\\.$)"
827
827
  },
828
828
  {
829
- "match": "(?<![-_])(?i:string)(?=\\s+value|\\.)",
829
+ "match": "(?<![\\-_])(?i:string)(?=\\s+value|\\.)",
830
830
  "name": "storage.type.cobol"
831
831
  },
832
832
  {
833
- "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|\\.|,|\\]|\\[)",
833
+ "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.,\\]\\[])",
834
834
  "name": "storage.type.cobol"
835
835
  },
836
836
  {
@@ -842,7 +842,7 @@
842
842
  "name": "meta.symbol.cobol"
843
843
  }
844
844
  },
845
- "match": "(operator-id\\s+[+\\-\\*\\/])",
845
+ "match": "(operator-id\\s+[+\\-*/])",
846
846
  "name": "keyword.operator-id.cobol"
847
847
  },
848
848
  {
@@ -854,7 +854,7 @@
854
854
  "name": "entity.name.function.b3"
855
855
  }
856
856
  },
857
- "match": "(?i:self)(\\:\\:)([0-9a-zA-Z_\\-\\.]*)(?=\\.$)"
857
+ "match": "(?i:self)(::)([0-9a-zA-Z_\\-.]*)(?=\\.$)"
858
858
  },
859
859
  {
860
860
  "captures": {
@@ -865,7 +865,7 @@
865
865
  "name": "entity.name.function.cobol"
866
866
  }
867
867
  },
868
- "match": "(\\:\\:)([0-9a-zA-Z_\\-\\.]*)"
868
+ "match": "(::)([0-9a-zA-Z_\\-.]*)"
869
869
  },
870
870
  {
871
871
  "captures": {
@@ -876,10 +876,10 @@
876
876
  "name": "storage.type.cobol.bb"
877
877
  }
878
878
  },
879
- "match": "(?<![-_])(?i:type)\\s+([0-9a-zA-Z\\.]*)"
879
+ "match": "(?<![\\-_])(?i:type)\\s+([0-9a-zA-Z.]*)"
880
880
  },
881
881
  {
882
- "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_-])",
882
+ "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_\\-])",
883
883
  "name": "keyword.control.cobol"
884
884
  },
885
885
  {
@@ -897,7 +897,7 @@
897
897
  "name": "constant.numeric.cobol"
898
898
  }
899
899
  },
900
- "match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)[-|+]"
900
+ "match": "(?<![\\-_])((?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[\\-+sS*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][\\-+sS*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)[\\-|+]"
901
901
  },
902
902
  {
903
903
  "captures": {
@@ -914,7 +914,7 @@
914
914
  "name": "constant.numeric.cobol"
915
915
  }
916
916
  },
917
- "match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)"
917
+ "match": "(?<![\\-_])((?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[\\-+sS*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][\\-+sS*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)"
918
918
  },
919
919
  {
920
920
  "captures": {
@@ -928,14 +928,14 @@
928
928
  "name": "storage.type.picture8.cobol"
929
929
  }
930
930
  },
931
- "match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV\\.][-+s\\*$09aAbBsSnNxXuUzZ/,]*[0-9\\.()])*"
931
+ "match": "(?<![\\-_])((?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[\\-+sS*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV.][\\-+s*$09aAbBSnNxXuUzZ/,]*[0-9.()])*"
932
932
  },
933
933
  {
934
- "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*",
934
+ "match": "(?<![\\-_])(?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[\\-+sS*$09aAbBnpPNxXuUzZ/,.]*\\([0-9]*\\)[Vv.][\\-+s*0$9aAbBSnNxpPXuUzZ/,]*",
935
935
  "name": "storage.type.picture7.cobol"
936
936
  },
937
937
  {
938
- "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*",
938
+ "match": "(?<![\\-_])(?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[\\-+sS*$09aAbBnpPNxXuUzZ/,.]*\\([0-9]*\\)[\\-+s*0$9aAbBSnNxpPXuUzZ/,]*[Vv.][\\-+s*0$9aAbBSnNxpPXuUzZ/,]*",
939
939
  "name": "storage.type.picture6.cobol"
940
940
  },
941
941
  {
@@ -947,22 +947,22 @@
947
947
  "name": "constant.numeric.cobol"
948
948
  }
949
949
  },
950
- "match": "(?<![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxuUXzZ/,.]*)\\(([0-9]*)\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*"
950
+ "match": "(?<![\\-_])((?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[\\-+sS*$09aAbBnpPNxuUXzZ/,.]*)\\(([0-9]*)\\)[\\-+s*0$9aAbBSnNxpPXuUzZ/,]*"
951
951
  },
952
952
  {
953
- "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpNNxXuUzZ/,.]*\\([0-9]*\\)",
953
+ "match": "(?<![\\-_])(?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[\\-+sS*$09aAbBnpNxXuUzZ/,.]*\\([0-9]*\\)",
954
954
  "name": "storage.type.picture4.cobol"
955
955
  },
956
956
  {
957
- "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*\\([0-9]*\\)",
957
+ "match": "(?<![\\-_])(?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*\\([0-9]*\\)",
958
958
  "name": "storage.type.picture3.cobol"
959
959
  },
960
960
  {
961
- "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*",
961
+ "match": "(?<![\\-_])(?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*",
962
962
  "name": "storage.type.picture2.cobol"
963
963
  },
964
964
  {
965
- "match": "(?<![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+\\*$9aAbBsSnpPNxXuUzZ/,.vV]*",
965
+ "match": "(?<![\\-_])(?i:pic(?:ture\\s+is|ture|\\s+is|))\\s+[\\-+*$9aAbBsSnpPNxXuUzZ/,.vV]*",
966
966
  "name": "storage.type.picture1.cobol"
967
967
  },
968
968
  {
@@ -974,14 +974,14 @@
974
974
  "name": "invalid.illegal.constant.numeric.integer"
975
975
  }
976
976
  },
977
- "match": "((?<![-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\(([0-9]*)\\)"
977
+ "match": "((?<![\\-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\(([0-9]*)\\)"
978
978
  },
979
979
  {
980
- "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)",
980
+ "match": "(?i:cblt-(?:x1-compx-const|x2-compx-const|x4-compx-const|alphanum-const|x9-compx|x8-compx|x8-comp5|x4-compx|x4-comp5|x2-compx|x2-comp5|x1-compx|x1-comp5|x1|vfile-status|vfile-handle|sx8-comp5|sx4-comp5|sx2-comp5|sx1-comp5|subsys-params|splitjoin-buf|screen-position|rtncode|request-context|reqhand-service-info|reqhand-service-funcs|reqhand-response|reqhand-funcs|prog-info-params|prog-info-arg-info|printer-properties|printer-name|printer-info|printer-default|ppointer|pointer|os-ssize|os-size|os-offset|os-info-params|os-flags|node-name|nls-msg-params|nls-msg-number-pair|nls-msg-ins-struct|nls-msg-buffer|mouse-shape|mouse-rect|mouse-pos|mouse-event|mem-validate-param|idp-exit-service-funcs|idp-exit-info|HWND|HINSTANCE|get-scr-line-draw-buffer|get-scr-graphics-buffer|generic-attr-value|generic-attr-rgb-values|generic-attr-information|file-status|fileexist-buf|exit-params|exit-info-params|cancel-proc-params|bytestream-handle|alphanum))",
981
981
  "name": "support.function.cbltypes.cobol"
982
982
  },
983
983
  {
984
- "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|\\.|\\))",
984
+ "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.)])",
985
985
  "name": "storage.type.picture.cobol"
986
986
  },
987
987
  {
@@ -989,71 +989,71 @@
989
989
  "name": "storage.type.length.cobol"
990
990
  },
991
991
  {
992
- "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_-])",
992
+ "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_\\-])",
993
993
  "name": "keyword.verb.cobol"
994
994
  },
995
995
  {
996
- "match": "(?<![-_])(?i:thread-local)(?![0-9A-Za-z_-])",
996
+ "match": "(?<![\\-_])(?i:thread-local)(?![0-9A-Za-z_\\-])",
997
997
  "name": "keyword.verb.cobol"
998
998
  },
999
999
  {
1000
- "match": "(\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![0-9A-Za-z_-])",
1000
+ "match": "(\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![0-9A-Za-z_\\-])",
1001
1001
  "name": "keyword.screens.cobol"
1002
1002
  },
1003
1003
  {
1004
- "match": "(\\s+|^)(?i:bold|high|lowlight|low|background-high|background-low|background-standard)(?![0-9A-Za-z_-])",
1004
+ "match": "(\\s+|^)(?i:bold|high|lowlight|low|background-high|background-low|background-standard)(?![0-9A-Za-z_\\-])",
1005
1005
  "name": "invalid.illegal.screens.acu.cobol"
1006
1006
  },
1007
1007
  {
1008
- "match": "(?<![-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=\\s|\\.)",
1008
+ "match": "(?<![\\-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=[\\s.])",
1009
1009
  "name": "storage.modifier.cobol"
1010
1010
  },
1011
1011
  {
1012
- "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_-])",
1012
+ "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_\\-])",
1013
1013
  "name": "keyword.operator.cobol"
1014
1014
  },
1015
1015
  {
1016
- "match": "(?i:not\\s+at\\s+end)(?![0-9A-Za-z_-])",
1016
+ "match": "(?i:not\\s+at\\s+end)(?![0-9A-Za-z_\\-])",
1017
1017
  "name": "keyword.verb.cobol"
1018
1018
  },
1019
1019
  {
1020
- "match": "(?<![-_])(?i:not)(?![0-9A-Za-z_-])",
1020
+ "match": "(?<![\\-_])(?i:not)(?![0-9A-Za-z_\\-])",
1021
1021
  "name": "keyword.operator.cobol"
1022
1022
  },
1023
1023
  {
1024
- "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_-])",
1024
+ "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_\\-])",
1025
1025
  "name": "support.type.cobol"
1026
1026
  },
1027
1027
  {
1028
- "match": "(?<![-_])(?i:end-xml|processing.*procedure|xml\\sparse|xml|xml-information|xml-text|xml-schemal|xml-declaration)(?![0-9A-Za-z_-])",
1028
+ "match": "(?<![\\-_])(?i:end-xml|processing.*procedure|xml\\sparse|xml|xml-information|xml-text|xml-schemal|xml-declaration)(?![0-9A-Za-z_\\-])",
1029
1029
  "name": "keyword.xml.cobol"
1030
1030
  },
1031
1031
  {
1032
- "match": "(?<![-_])(?i:json\\s+generate|json|end-json|name\\sof)(?![0-9A-Za-z_-])",
1032
+ "match": "(?<![\\-_])(?i:json\\s+generate|json|end-json|name\\sof)(?![0-9A-Za-z_\\-])",
1033
1033
  "name": "keyword.json.cobol"
1034
1034
  },
1035
1035
  {
1036
- "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|\\.|,|;|$)",
1036
+ "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.,;]|$)",
1037
1037
  "name": "invalid.illegal.acu.cobol"
1038
1038
  },
1039
1039
  {
1040
- "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|\\.|,|;|$)",
1040
+ "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.,;]|$)",
1041
1041
  "name": "invalid.illegal.netcobol.cobol"
1042
1042
  },
1043
1043
  {
1044
- "match": "(?<![-_])(?i:System-Info|Terminal-Info)(?![0-9A-Za-z_-])",
1044
+ "match": "(?<![\\-_])(?i:System-Info|Terminal-Info)(?![0-9A-Za-z_\\-])",
1045
1045
  "name": "support.type.cobol.acu strong"
1046
1046
  },
1047
1047
  {
1048
- "match": "(?<![-_])(?i:alter)(?=\\s|\\.)",
1048
+ "match": "(?<![\\-_])(?i:alter)(?=[\\s.])",
1049
1049
  "name": "invalid.illegal.cobol"
1050
1050
  },
1051
1051
  {
1052
- "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_-])",
1052
+ "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_\\-])",
1053
1053
  "name": "keyword.ibmreserved.cobol"
1054
1054
  },
1055
1055
  {
1056
- "match": "(?<![-_])(?i:active-class|aligned|anycase|boolean|cols|col|condition|ec|eo|system-default|function-pointer)(?![0-9A-Za-z_-])",
1056
+ "match": "(?<![\\-_])(?i:active-class|aligned|anycase|boolean|cols|col|condition|ec|eo|system-default|function-pointer)(?![0-9A-Za-z_\\-])",
1057
1057
  "name": "strong keyword.potential.reserved.cobol"
1058
1058
  },
1059
1059
  {
@@ -1061,19 +1061,19 @@
1061
1061
  "name": "keyword.filler.cobol"
1062
1062
  },
1063
1063
  {
1064
- "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_-])",
1064
+ "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_\\-])",
1065
1065
  "name": "variable.language"
1066
1066
  },
1067
1067
  {
1068
- "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|\\.|\\)|\\()",
1068
+ "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.)(])",
1069
1069
  "name": "storage.type.sql.picture.cobol"
1070
1070
  },
1071
1071
  {
1072
- "match": "(?<![-_])(?i:self)",
1072
+ "match": "(?<![\\-_])(?i:self)",
1073
1073
  "name": "keyword.other.self.cobol"
1074
1074
  },
1075
1075
  {
1076
- "match": "(?<![-_])(?i:super)",
1076
+ "match": "(?<![\\-_])(?i:super)",
1077
1077
  "name": "keyword.other.super.cobol"
1078
1078
  },
1079
1079
  {
@@ -1101,7 +1101,7 @@
1101
1101
  "match": "(\\()([0-9]*)(:)([0-9]*)(\\))"
1102
1102
  },
1103
1103
  {
1104
- "match": "([a-zA-Z-0-9-_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_-]*[a-zA-Z0-9]))",
1104
+ "match": "([a-zA-Z\\-0-9_]*[a-zA-Z0-9]|(#?[0-9a-zA-Z]+[a-zA-Z\\-0-9_]*[a-zA-Z0-9]))",
1105
1105
  "name": "meta.symbol.cobol"
1106
1106
  }
1107
1107
  ],
@@ -1119,11 +1119,11 @@
1119
1119
  "name": "keyword.other.dli"
1120
1120
  },
1121
1121
  "number-complex-constant": {
1122
- "match": "(\\-|\\+)?((([0-9]+(\\.[0-9]+))|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?(?=\\s|\\.$|,|\\))",
1122
+ "match": "([\\-+])?((([0-9]+(\\.[0-9]+))|(\\.[0-9]+))(([eE])([+\\-])?[0-9]+)?)([LlFfUuDd]|UL|ul)?(?=\\s|\\.$|[,)])",
1123
1123
  "name": "constant.numeric.cobol"
1124
1124
  },
1125
1125
  "number-simple-constant": {
1126
- "match": "(\\-|\\+)?([0-9]+)(?=\\s|\\.$|,|\\))",
1126
+ "match": "([\\-+])?([0-9]+)(?=\\s|\\.$|[,)])",
1127
1127
  "name": "constant.numeric.cobol"
1128
1128
  },
1129
1129
  "string-double-quoted-constant": {