github-linguist 7.27.0 → 7.28.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +313 -294
  3. data/ext/linguist/lex.linguist_yy.h +5 -4
  4. data/ext/linguist/tokenizer.l +5 -2
  5. data/grammars/inline.edgeql.json +1 -0
  6. data/grammars/inline.hbs.json +1 -0
  7. data/grammars/inline.template.json +1 -0
  8. data/grammars/markdown.lean4.codeblock.json +1 -0
  9. data/grammars/markdown.move.codeblock.json +1 -0
  10. data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
  11. data/grammars/source.al.json +1 -1
  12. data/grammars/source.bicep.json +1 -1
  13. data/grammars/source.cds.json +1 -1
  14. data/grammars/source.cobol.json +1 -1
  15. data/grammars/source.cs.json +1 -1
  16. data/grammars/source.dart.json +1 -1
  17. data/grammars/source.denizenscript.json +1 -1
  18. data/grammars/source.dm.json +1 -1
  19. data/grammars/source.earthfile.json +1 -1
  20. data/grammars/source.edgeql.json +1 -0
  21. data/grammars/source.fsharp.json +1 -1
  22. data/grammars/source.gdresource.json +1 -1
  23. data/grammars/source.gdscript.json +1 -1
  24. data/grammars/source.genero-4gl.json +1 -0
  25. data/grammars/source.genero-per.json +1 -0
  26. data/grammars/source.gjs.json +1 -0
  27. data/grammars/source.gsc.json +1 -1
  28. data/grammars/source.gts.json +1 -0
  29. data/grammars/source.hcl.json +1 -0
  30. data/grammars/source.hcl.terraform.json +1 -0
  31. data/grammars/source.ice.json +1 -0
  32. data/grammars/source.julia.json +1 -1
  33. data/grammars/source.kotlin.json +1 -1
  34. data/grammars/source.lean4.json +1 -0
  35. data/grammars/source.lean4.markdown.json +1 -0
  36. data/grammars/source.matlab.json +1 -1
  37. data/grammars/source.mdx.json +1 -1
  38. data/grammars/source.meta-info.json +1 -1
  39. data/grammars/source.nasal.json +1 -1
  40. data/grammars/source.nim.json +1 -1
  41. data/grammars/source.nushell.json +1 -1
  42. data/grammars/source.odin.json +1 -1
  43. data/grammars/source.praat.json +1 -0
  44. data/grammars/source.ql.json +1 -1
  45. data/grammars/source.raku.json +1 -1
  46. data/grammars/source.rego.json +1 -1
  47. data/grammars/source.rpgle.json +1 -1
  48. data/grammars/source.rust.json +1 -1
  49. data/grammars/source.sentinel.json +1 -0
  50. data/grammars/source.slice.json +1 -1
  51. data/grammars/source.swift.json +1 -1
  52. data/grammars/source.textgrid.json +1 -0
  53. data/grammars/source.toit.json +1 -0
  54. data/grammars/source.vba.json +1 -1
  55. data/grammars/source.viml.json +1 -1
  56. data/grammars/text.adblock.json +1 -1
  57. data/grammars/text.html.ember-handlebars.json +1 -0
  58. data/grammars/text.html.statamic.json +1 -1
  59. data/grammars/text.md.json +1 -1
  60. data/grammars/text.tex.json +1 -1
  61. data/grammars/version +1 -1
  62. data/lib/linguist/VERSION +1 -1
  63. data/lib/linguist/generated.rb +4 -4
  64. data/lib/linguist/heuristics.yml +6 -0
  65. data/lib/linguist/languages.json +1 -1
  66. data/lib/linguist/languages.yml +63 -9
  67. data/lib/linguist/samples.json +1 -1
  68. metadata +23 -6
  69. data/grammars/govulncheck.json +0 -1
  70. data/grammars/source.dmf.json +0 -1
  71. data/grammars/source.genero-forms.json +0 -1
  72. data/grammars/source.genero.json +0 -1
@@ -246,7 +246,7 @@
246
246
  #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
247
247
 
248
248
  /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
249
- * if you want the limit (max/min) macros for int types.
249
+ * if you want the limit (max/min) macros for int types.
250
250
  */
251
251
  #ifndef __STDC_LIMIT_MACROS
252
252
  #define __STDC_LIMIT_MACROS 1
@@ -263,7 +263,7 @@ typedef uint32_t flex_uint32_t;
263
263
  typedef signed char flex_int8_t;
264
264
  typedef short int flex_int16_t;
265
265
  typedef int flex_int32_t;
266
- typedef unsigned char flex_uint8_t;
266
+ typedef unsigned char flex_uint8_t;
267
267
  typedef unsigned short int flex_uint16_t;
268
268
  typedef unsigned int flex_uint32_t;
269
269
 
@@ -435,6 +435,7 @@ void yyfree ( void * , yyscan_t yyscanner );
435
435
  #define python_dcomment 5
436
436
  #define python_scomment 6
437
437
  #define roff_comment 7
438
+ #define lean_comment 8
438
439
 
439
440
  #endif
440
441
 
@@ -694,9 +695,9 @@ extern int yylex (yyscan_t yyscanner);
694
695
  #undef yyTABLES_NAME
695
696
  #endif
696
697
 
697
- #line 173 "tokenizer.l"
698
+ #line 176 "tokenizer.l"
698
699
 
699
700
 
700
- #line 701 "lex.linguist_yy.h"
701
+ #line 702 "lex.linguist_yy.h"
701
702
  #undef linguist_yyIN_HEADER
702
703
  #endif /* linguist_yyHEADER_H */
@@ -51,7 +51,7 @@
51
51
  %}
52
52
 
53
53
  %option never-interactive yywrap reentrant nounput warn nodefault header-file="lex.linguist_yy.h" extra-type="VALUE*" prefix="linguist_yy"
54
- %x c_comment xml_comment haskell_comment ocaml_comment python_dcomment python_scomment roff_comment
54
+ %x c_comment xml_comment haskell_comment ocaml_comment python_dcomment python_scomment roff_comment lean_comment
55
55
 
56
56
  %%
57
57
 
@@ -102,8 +102,10 @@
102
102
  "\"\"\"" { FEED_STATIC("COMMENT\"\"\""); BEGIN(python_dcomment); return 1; }
103
103
  "'''" { FEED_STATIC("COMMENT'''"); BEGIN(python_scomment); return 1; }
104
104
  ^".ig"\n { FEED_STATIC("COMMENT.ig"); BEGIN(roff_comment); return 1; }
105
+ "/--" { FEED_STATIC("COMMENT/-"); BEGIN(lean_comment); return 1; }
106
+ "/-" { FEED_STATIC("COMMENT/-"); BEGIN(lean_comment); return 1; }
105
107
 
106
- <c_comment,xml_comment,haskell_comment,ocaml_comment,python_dcomment,python_scomment,roff_comment>.|\n { /* nothing */ }
108
+ <c_comment,xml_comment,haskell_comment,ocaml_comment,python_dcomment,python_scomment,roff_comment,lean_comment>.|\n { /* nothing */ }
107
109
  <c_comment>"*/" { BEGIN(INITIAL); }
108
110
  <xml_comment>"-->" { BEGIN(INITIAL); }
109
111
  <haskell_comment>"-}" { BEGIN(INITIAL); }
@@ -111,6 +113,7 @@
111
113
  <python_dcomment>"\"\"\"" { BEGIN(INITIAL); }
112
114
  <python_scomment>"'''" { BEGIN(INITIAL); }
113
115
  <roff_comment>".."\n { BEGIN(INITIAL); }
116
+ <lean_comment>"-/" { BEGIN(INITIAL); }
114
117
 
115
118
  \"\"|'' { /* nothing */ }
116
119
  \" { eat_until_unescaped('"'); }
@@ -0,0 +1 @@
1
+ {"scopeName":"inline.edgeql","patterns":[{"name":"commentTaggedTemplate","contentName":"meta.embedded.block.edgeql","begin":"(`)(#\\s*edgeql)","end":"`","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.template.begin.js"},"2":{"name":"comment.line.number-sign.edgeql"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}},{"name":"tagged-template.edgeql","contentName":"meta.embedded.block.edgeql","begin":"\\b(edgeql)(`)","end":"\\2","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.begin.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.js"}}},{"name":"multilinecomment.edgeql","contentName":"meta.embedded.block.edgeql","begin":"(/\\**\\s*edgeql\\s*\\**/)\\s*(`|'|\")","end":"\\2","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.js"},"2":{"name":"punctuation.definition.string.template.start.js"}},"endCaptures":{"0":{"name":"punctuation.definition.string.template.end.js"}}}]}
@@ -0,0 +1 @@
1
+ {"scopeName":"inline.hbs","patterns":[{"name":"string.js.taggedTemplate","contentName":"meta.embedded.block.html","begin":"(?x)(\\b(?:\\w+\\.)*(?:hbs|html)\\s*)(`)","end":"(`)","patterns":[{"include":"source.ts#template-substitution-element"},{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"entity.name.function.tagged-template.js"},"2":{"name":"punctuation.definition.string.template.begin.js"}},"endCaptures":{"0":{"name":"string.js"},"1":{"name":"punctuation.definition.string.template.end.js"}}},{"contentName":"meta.embedded.block.html","begin":"((createTemplate|hbs|html))(\\()","end":"(\\))","patterns":[{"begin":"((`))","end":"((`))","patterns":[{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}},{"begin":"((precompileTemplate)\\s*)(\\()","end":"(\\))","patterns":[{"contentName":"meta.embedded.block.html","begin":"((`|'|\"))","end":"((`|'|\"))","patterns":[{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.begin.ts"}},"endCaptures":{"1":{"name":"string.template.ts"},"2":{"name":"punctuation.definition.string.template.end.ts"}}},{"include":"source.ts#object-literal"},{"include":"source.ts"}],"beginCaptures":{"1":{"name":"entity.name.function.ts"},"2":{"name":"meta.function-call.ts"},"3":{"name":"meta.brace.round.ts"}},"endCaptures":{"1":{"name":"meta.brace.round.ts"}}}],"injections":{"L:source":{"patterns":[{"name":"invalid.illegal.bad-angle-bracket.html","match":"\u003c"}]}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"inline.template","patterns":[{"name":"meta.js.embeddedTemplateWithoutArgs","begin":"\\s*(\u003c)(template)\\s*(\u003e)","end":"(\u003c/)(template)(\u003e)","patterns":[{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.js.embeddedTemplateWithArgs","begin":"(\u003c)(template)","end":"(\u003c/)(template)(\u003e)","patterns":[{"begin":"(?\u003c=\\\u003ctemplate)","end":"(?=\\\u003e)","patterns":[{"include":"text.html.ember-handlebars#tag-like-content"}]},{"contentName":"meta.html.embedded.block","begin":"(\u003e)","end":"(?=\u003c/template\u003e)","patterns":[{"include":"text.html.ember-handlebars"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.end.js"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"},"3":{"name":"punctuation.definition.tag.html"}}}]}
@@ -0,0 +1 @@
1
+ {"scopeName":"markdown.lean4.codeblock","patterns":[{"include":"#lean-code-block"}],"repository":{"lean-code-block":{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(lean)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.lean4","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.lean4"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"5":{"name":"fenced_code.block.language"},"6":{"name":"fenced_code.block.language.attributes"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"markdown.move.codeblock","patterns":[{"include":"#move-code-block"}],"repository":{"move-code-block":{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(move)(\\s+[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.move","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.move"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"mdx.LANGUAGE.codeblock","patterns":[{"include":"#LANGUAGE-code-block"}],"repository":{"LANGUAGE-code-block":{"name":"markup.code.other.mdx","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.LANGUAGE","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{}]}],"beginCaptures":{"3":{"name":"string.other.begin.code.fenced.mdx"},"4":{"name":"entity.name.function.mdx"}},"endCaptures":{"3":{"name":"string.other.end.code.fenced.mdx"}}}}}
@@ -1 +1 @@
1
- {"name":"al","scopeName":"source.al","patterns":[{"name":"keyword.control.al","match":"\\b(?i:(ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS))\\b"},{"name":"keyword.operators.al","match":"\\b(?i:(AND|DIV|MOD|NOT|OR|XOR))\\b"},{"name":"keyword.other.property.al","match":"\\b(?i:(AVERAGE|CONST|COUNT|EXIST|FIELD|FILTER|LOOKUP|MAX|MIN|ORDER|SORTING|SUM|TABLEDATA|UPPERLIMIT|WHERE|ASCENDING|DESCENDING))\\b"},{"name":"keyword.other.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\\b"},{"name":"keyword.other.builtintypes.al","match":"\\b(?i:(Action|Array|Automation|BigInteger|BigText|Blob|Boolean|Byte|Char|ClientType|Code|Codeunit|CompletionTriggerErrorLevel|ConnectionType|Database|DataClassification|DataScope|Date|DateFormula|DateTime|Decimal|DefaultLayout|Dialog|Dictionary|DotNet|DotNetAssembly|DotNetTypeDeclaration|Duration|Enum|ErrorInfo|ErrorType|ExecutionContext|ExecutionMode|FieldClass|FieldRef|FieldType|File|FilterPageBuilder|Guid|InStream|Integer|Joker|KeyRef|List|ModuleDependencyInfo|ModuleInfo|None|Notification|NotificationScope|ObjectType|Option|OutStream|Page|PageResult|Query|Record|RecordId|RecordRef|Report|ReportFormat|SecurityFilter|SecurityFiltering|Table|TableConnectionType|TableFilter|TestAction|TestField|TestFilterField|TestPage|TestPermissions|TestRequestPage|Text|TextBuilder|TextConst|TextEncoding|Time|TransactionModel|TransactionType|Variant|Verbosity|Version|XmlPort|HttpContent|HttpHeaders|HttpClient|HttpRequestMessage|HttpResponseMessage|JsonToken|JsonValue|JsonArray|JsonObject|View|Views|XmlAttribute|XmlAttributeCollection|XmlComment|XmlCData|XmlDeclaration|XmlDocument|XmlDocumentType|XmlElement|XmlNamespaceManager|XmlNameTable|XmlNode|XmlNodeList|XmlProcessingInstruction|XmlReadOptions|XmlText|XmlWriteOptions|WebServiceActionContext|WebServiceActionResultCode|SessionSettings))\\b"},{"name":"keyword.operators.comparison.al","match":"\\b([\u003c\u003e]=|\u003c\u003e|\u003c|\u003e)\\b"},{"name":"keyword.operators.math.al","match":"\\b(\\-|\\+|\\/|\\*)\\b"},{"name":"keyword.operators.assigment.al","match":"\\s*(\\:=|\\+=|-=|\\/=|\\*=)\\s*"},{"name":"keyword.other.metadata.al","match":"\\b(?i:(ADD|ADDFIRST|ADDLAST|ADDAFTER|ADDBEFORE|ACTION|ACTIONS|AREA|ASSEMBLY|CHARTPART|CUEGROUP|CUSTOMIZES|COLUMN|DATAITEM|DATASET|ELEMENTS|EXTENDS|FIELD|FIELDGROUP|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|MOVEAFTER|MOVEBEFORE|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEFIRST|MOVELAST|MOVEBEFORE|MOVEAFTER|PART|REPEATER|USERCONTROL|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLEELEMENT|TEXTATTRIBUTE|TEXTELEMENT|TYPE))\\b"},{"name":"keyword.operators.property.al","match":"\\s*[(\\.\\.)\u0026\\|]\\s*"},{"name":"meta.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|QUERY|REPORT|TABLE|XMLPORT))\\b","captures":{"1":{"name":"entity.name.applicationobject.al"}}},{"name":"meta.function.al","match":"\\b(?i:(trigger|procedure))\\b\\s+(\\w+(\\.\\w+)?)(\\(.*?\\))?;\\s*","captures":{"1":{"name":"entity.name.function.al"}}},{"name":"constant.numeric.al","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.al.two","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.al"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.al.two","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.directive.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.directive.leading.al"}}},{"name":"comment.block.al.one","begin":"/\\*","end":"\\*/\\n?","captures":{"0":{"name":"punctuation.definition.comment.al"}}},{"name":"string.quoted.single.al","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.apostrophe.al","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.al"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.al"}},"applyEndPatternLast":true},{"name":"punctuation.al","match":"[;:,]"},{"begin":"\"","end":"\"","applyEndPatternLast":true}]}
1
+ {"name":"al","scopeName":"source.al","patterns":[{"name":"keyword.control.al","match":"\\b(?i:(ARRAY|ASSERTERROR|BEGIN|BREAK|CASE|DO|DOWNTO|ELSE|END|EVENT|EXIT|FOR|FOREACH|FUNCTION|IF|IMPLEMENTS|IN|INDATASET|INTERFACE|INTERNAL|LOCAL|OF|PROCEDURE|PROGRAM|PROTECTED|REPEAT|RUNONCLIENT|SECURITYFILTERING|SUPPRESSDISPOSE|TEMPORARY|THEN|TO|TRIGGER|UNTIL|VAR|WHILE|WITH|WITHEVENTS))\\b"},{"name":"keyword.operators.al","match":"\\b(?i:(AND|DIV|MOD|NOT|OR|XOR))\\b"},{"name":"keyword.other.property.al","match":"\\b(?i:(AVERAGE|CONST|COUNT|EXIST|FIELD|FILTER|LOOKUP|MAX|MIN|ORDER|SORTING|SUM|TABLEDATA|UPPERLIMIT|WHERE|ASCENDING|DESCENDING))\\b"},{"name":"keyword.other.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|PAGEEXTENSION|PAGECUSTOMIZATION|DOTNET|ENUM|ENUMEXTENSION|VALUE|QUERY|REPORT|TABLE|TABLEEXTENSION|XMLPORT|PROFILE|CONTROLADDIN|REPORTEXTENSION|INTERFACE|PERMISSIONSET|PERMISSIONSETEXTENSION|ENTITLEMENT))\\b"},{"name":"keyword.other.builtintypes.al","match":"\\b(?i:(Action|ActionRef|Array|Automation|BigInteger|BigText|SecretText|Blob|Boolean|Byte|Char|ClientType|Code|Codeunit|CompletionTriggerErrorLevel|ConnectionType|CustomAction|Database|DataClassification|DataScope|DataTransfer|Date|DateFormula|DateTime|Decimal|DefaultLayout|Dialog|Dictionary|DotNet|DotNetAssembly|DotNetTypeDeclaration|Duration|Enum|ErrorInfo|ErrorType|ExecutionContext|ExecutionMode|FieldClass|FieldRef|FieldType|File|FilterPageBuilder|Guid|InStream|Integer|IsolationLevel|Joker|KeyRef|List|Media|MediaSet|ModuleDependencyInfo|ModuleInfo|None|Notification|NotificationScope|ObjectType|Option|OutStream|Page|PageResult|Query|Record|RecordId|RecordRef|Report|ReportFormat|SecurityFilter|SecurityFiltering|SystemAction|Table|TableConnectionType|TableFilter|TestAction|TestField|TestFilterField|TestPage|TestPermissions|TestRequestPage|Text|TextBuilder|TextConst|TextEncoding|Time|TransactionModel|TransactionType|Variant|Verbosity|Version|XmlPort|HttpContent|HttpHeaders|HttpClient|HttpRequestMessage|HttpResponseMessage|JsonToken|JsonValue|JsonArray|JsonObject|View|Views|XmlAttribute|XmlAttributeCollection|XmlComment|XmlCData|XmlDeclaration|XmlDocument|XmlDocumentType|XmlElement|XmlNamespaceManager|XmlNameTable|XmlNode|XmlNodeList|XmlProcessingInstruction|XmlReadOptions|XmlText|XmlWriteOptions|WebServiceActionContext|WebServiceActionResultCode|SessionSettings|PageBackgroundTaskErrorLevel))\\b"},{"name":"keyword.operators.comparison.al","match":"\\b([\u003c\u003e]=|\u003c\u003e|\u003c|\u003e)\\b"},{"name":"keyword.operators.math.al","match":"\\b(\\-|\\+|\\/|\\*)\\b"},{"name":"keyword.operators.assigment.al","match":"\\s*(\\:=|\\+=|-=|\\/=|\\*=)\\s*"},{"name":"keyword.other.metadata.al","match":"\\b(?i:(ADD|ADDFIRST|ADDLAST|ADDAFTER|ADDBEFORE|ACTION|ACTIONS|AREA|ASSEMBLY|CHARTPART|CUEGROUP|CUSTOMIZES|COLUMN|DATAITEM|DATASET|ELEMENTS|EXTENDS|FIELD|FIELDGROUP|FIELDATTRIBUTE|FIELDELEMENT|FIELDGROUPS|FIELDS|FILTER|FIXED|GRID|GROUP|MOVEAFTER|MOVEBEFORE|KEY|KEYS|LABEL|LABELS|LAYOUT|MODIFY|MOVEFIRST|MOVELAST|MOVEBEFORE|MOVEAFTER|NAMESPACE|PART|RENDERING|REPEATER|USERCONTROL|REQUESTPAGE|SCHEMA|SEPARATOR|SYSTEMPART|TABLEELEMENT|TEXTATTRIBUTE|TEXTELEMENT|TYPE|USING))\\b"},{"name":"keyword.operators.property.al","match":"\\s*[(\\.\\.)\u0026\\|]\\s*"},{"name":"meta.applicationobject.al","match":"\\b(?i:(CODEUNIT|PAGE|QUERY|REPORT|TABLE|XMLPORT))\\b","captures":{"1":{"name":"entity.name.applicationobject.al"}}},{"name":"meta.function.al","match":"\\b(?i:(trigger|procedure))\\b\\s+(\\w+(\\.\\w+)?)(\\(.*?\\))?;\\s*","captures":{"1":{"name":"entity.name.function.al"}}},{"name":"constant.numeric.al","match":"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.al.two","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.al"}}},{"begin":"(^[ \\t]+)?(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.al.two","begin":"#","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.directive.al"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.directive.leading.al"}}},{"name":"comment.block.al.one","begin":"/\\*","end":"\\*/\\n?","captures":{"0":{"name":"punctuation.definition.comment.al"}}},{"name":"string.quoted.single.al","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.apostrophe.al","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.al"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.al"}},"applyEndPatternLast":true},{"name":"punctuation.al","match":"[;:,]"},{"begin":"\"","end":"\"","applyEndPatternLast":true}]}
@@ -1 +1 @@
1
- {"name":"Bicep","scopeName":"source.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}],"repository":{"array-literal":{"name":"meta.array-literal.bicep","begin":"\\[(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\bfor\\b)","end":"]","patterns":[{"include":"#expression"},{"include":"#comments"}]},"block-comment":{"name":"comment.block.bicep","begin":"/\\*","end":"\\*/"},"comments":{"patterns":[{"include":"#line-comment"},{"include":"#block-comment"}]},"decorator":{"name":"meta.decorator.bicep","begin":"@(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*(?=\\b[_$[:alpha:]][_$[:alnum:]]*\\b)","patterns":[{"include":"#expression"},{"include":"#comments"}]},"directive":{"name":"meta.directive.bicep","begin":"#\\b[_a-zA-Z-0-9]+\\b","end":"$","patterns":[{"include":"#directive-variable"},{"include":"#comments"}]},"directive-variable":{"name":"keyword.control.declaration.bicep","match":"\\b[_a-zA-Z-0-9]+\\b"},"escape-character":{"name":"constant.character.escape.bicep","match":"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)"},"expression":{"patterns":[{"include":"#string-literal"},{"include":"#string-verbatim"},{"include":"#numeric-literal"},{"include":"#named-literal"},{"include":"#object-literal"},{"include":"#array-literal"},{"include":"#keyword"},{"include":"#identifier"},{"include":"#function-call"},{"include":"#decorator"},{"include":"#lambda-start"},{"include":"#directive"}]},"function-call":{"name":"meta.function-call.bicep","begin":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b)(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"entity.name.function.bicep"}}},"identifier":{"name":"variable.other.readwrite.bicep","match":"\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\()"},"keyword":{"name":"keyword.control.declaration.bicep","match":"\\b(metadata|targetScope|resource|module|param|var|output|for|in|if|existing|import|as|type|with|using|func|assert)\\b"},"lambda-start":{"name":"meta.lambda-start.bicep","begin":"(\\((?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*(,(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*)*\\)|\\((?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\)|(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*)(?=(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*=\u003e)","end":"(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*=\u003e","beginCaptures":{"1":{"name":"meta.undefined.bicep","patterns":[{"include":"#identifier"},{"include":"#comments"}]}}},"line-comment":{"name":"comment.line.double-slash.bicep","match":"//.*(?=$)"},"named-literal":{"name":"constant.language.bicep","match":"\\b(true|false|null)\\b"},"numeric-literal":{"name":"constant.numeric.bicep","match":"[0-9]+"},"object-literal":{"name":"meta.object-literal.bicep","begin":"{","end":"}","patterns":[{"include":"#object-property-key"},{"include":"#expression"},{"include":"#comments"}]},"object-property-key":{"name":"variable.other.property.bicep","match":"\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?=(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*:)"},"string-literal":{"name":"string.quoted.single.bicep","begin":"'(?!'')","end":"'","patterns":[{"include":"#escape-character"},{"include":"#string-literal-subst"}]},"string-literal-subst":{"name":"meta.string-literal-subst.bicep","begin":"(?\u003c!\\\\)(\\${)","end":"(})","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.bicep"}},"endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.bicep"}}},"string-verbatim":{"name":"string.quoted.multi.bicep","begin":"'''","end":"'''"}}}
1
+ {"name":"Bicep","scopeName":"source.bicep","patterns":[{"include":"#expression"},{"include":"#comments"}],"repository":{"array-literal":{"name":"meta.array-literal.bicep","begin":"\\[(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\bfor\\b)","end":"]","patterns":[{"include":"#expression"},{"include":"#comments"}]},"block-comment":{"name":"comment.block.bicep","begin":"/\\*","end":"\\*/"},"comments":{"patterns":[{"include":"#line-comment"},{"include":"#block-comment"}]},"decorator":{"name":"meta.decorator.bicep","begin":"@(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*(?=\\b[_$[:alpha:]][_$[:alnum:]]*\\b)","patterns":[{"include":"#expression"},{"include":"#comments"}]},"directive":{"name":"meta.directive.bicep","begin":"#\\b[_a-zA-Z-0-9]+\\b","end":"$","patterns":[{"include":"#directive-variable"},{"include":"#comments"}]},"directive-variable":{"name":"keyword.control.declaration.bicep","match":"\\b[_a-zA-Z-0-9]+\\b"},"escape-character":{"name":"constant.character.escape.bicep","match":"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)"},"expression":{"patterns":[{"include":"#string-literal"},{"include":"#string-verbatim"},{"include":"#numeric-literal"},{"include":"#named-literal"},{"include":"#object-literal"},{"include":"#array-literal"},{"include":"#keyword"},{"include":"#identifier"},{"include":"#function-call"},{"include":"#decorator"},{"include":"#lambda-start"},{"include":"#directive"}]},"function-call":{"name":"meta.function-call.bicep","begin":"(\\b[_$[:alpha:]][_$[:alnum:]]*\\b)(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\(","end":"\\)","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"entity.name.function.bicep"}}},"identifier":{"name":"variable.other.readwrite.bicep","match":"\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?!(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\()"},"keyword":{"name":"keyword.control.declaration.bicep","match":"\\b(metadata|targetScope|resource|module|param|var|output|for|in|if|existing|import|as|type|with|using|func|assert|provider)\\b"},"lambda-start":{"name":"meta.lambda-start.bicep","begin":"(\\((?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*(,(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*)*\\)|\\((?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\)|(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*)(?=(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*=\u003e)","end":"(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*=\u003e","beginCaptures":{"1":{"name":"meta.undefined.bicep","patterns":[{"include":"#identifier"},{"include":"#comments"}]}}},"line-comment":{"name":"comment.line.double-slash.bicep","match":"//.*(?=$)"},"named-literal":{"name":"constant.language.bicep","match":"\\b(true|false|null)\\b"},"numeric-literal":{"name":"constant.numeric.bicep","match":"[0-9]+"},"object-literal":{"name":"meta.object-literal.bicep","begin":"{","end":"}","patterns":[{"include":"#object-property-key"},{"include":"#expression"},{"include":"#comments"}]},"object-property-key":{"name":"variable.other.property.bicep","match":"\\b[_$[:alpha:]][_$[:alnum:]]*\\b(?=(?:[ \\t\\r\\n]|\\/\\*(?:\\*(?!\\/)|[^*])*\\*\\/)*:)"},"string-literal":{"name":"string.quoted.single.bicep","begin":"'(?!'')","end":"'","patterns":[{"include":"#escape-character"},{"include":"#string-literal-subst"}]},"string-literal-subst":{"name":"meta.string-literal-subst.bicep","begin":"(?\u003c!\\\\)(\\${)","end":"(})","patterns":[{"include":"#expression"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.bicep"}},"endCaptures":{"1":{"name":"punctuation.definition.template-expression.end.bicep"}}},"string-verbatim":{"name":"string.quoted.multi.bicep","begin":"'''","end":"'''"}}}
@@ -1 +1 @@
1
- {"name":"CDS","scopeName":"source.cds","patterns":[{"begin":"\\b(aspect|(abstract\\s+)?entity)\\b","end":"(?\u003c=})(;)?|(;)","patterns":[{"begin":":","end":"(?={|;)","patterns":[{"include":"#identifiers"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"0":{"name":"keyword.operator.cds"}}},{"include":"#bracedElementDef"},{"include":"#keywords"},{"include":"#identifiers"}],"beginCaptures":{"1":{"name":"keyword.strong.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},{"begin":"(?i)\\b(extend)\\s+((context|service|aspect|entity|projection|type)\\s+)?(\\S+)(\\s+(with)(\\s+(actions|definitions|columns|elements|enum))?|(?=\\s*{))","end":"(?\u003c=})(;)?|(;)","patterns":[{"include":"#bracedElementDef"},{"include":"#keywords"},{"include":"#identifiers"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"1":{"name":"keyword.strong.cds"},"3":{"name":"keyword.cds"},"4":{"name":"identifier.cds"},"6":{"name":"keyword.cds"},"8":{"name":"keyword.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},{"match":"(?\u003c!\\.)\\b(annotate)\\b\\s*[\\w.]+\\b\\s*\\b(with)?\\b","captures":{"1":{"name":"keyword.strong.control.import.cds"},"2":{"name":"keyword.strong.control.import.cds"}}},{"name":"meta.import.cds","begin":"(?\u003c!\\.)\\b(import|using)(?!\\s*:)\\b","end":"(;)|\\n","patterns":[{"begin":"{","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:(\\bdefault\\b|\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"variable.language.default.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.strong.cds"},"4":{"name":"invalid.illegal.cds"},"5":{"name":"variable.other.module-alias.cds"}}},{"name":"punctuation.separator.object.cds","match":","},{"include":"#comments"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"match":"(?:(\\*)|(?=\\D)(\\b[\\$\\.\\w]+\\b))\\s*(\\bas\\b)\\s*(?=\\D)(\\b[\\$\\.\\w]+\\b)","captures":{"1":{"name":"variable.language.import-all.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.strong.control.cds"},"4":{"name":"variable.other.module-alias.cds"}}},{"name":"variable.language.import-all.cds","match":"\\*"},{"name":"variable.language.default.cds","match":"\\b(default)\\b"},{"include":"#strings"},{"include":"#comments"},{"name":"keyword.strong.control.cds","match":"(?i)\\b(from)\\b"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b(?=.*\\bfrom\\b)"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"1":{"name":"keyword.strong.control.import.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"}}},{"name":"meta.export.cds","match":"\\b(export)\\b\\s*\\b(default)\\b(?:\\s*)\\b((?!\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b)[$_a-zA-Z][$_a-zA-Z0-9]*)?\\b","captures":{"1":{"name":"keyword.control.cds"},"2":{"name":"variable.language.default.cds"},"3":{"name":"variable.other.module.cds"}}},{"name":"meta.export.cds","begin":"(?\u003c!\\.)\\b(export)(?!\\s*:)\\b","end":"(?=;|\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b|$)","patterns":[{"include":"#numbers"},{"begin":"{(?=.*\\bfrom\\b)","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:\\b(default)\\b|(\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"variable.language.default.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.control.cds"},"4":{"name":"variable.language.default.cds"},"5":{"name":"invalid.illegal.cds"},"6":{"name":"variable.other.module-alias.cds"}}},{"name":"meta.delimiter.object.comma.cds","match":","},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"begin":"(?![\\p{L}$_]){","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:\\b(default)\\b|(\\*)|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"invalid.illegal.cds"},"2":{"name":"variable.other.module.cds"},"3":{"name":"keyword.control.cds"},"4":{"name":"variable.language.default.cds"},"5":{"name":"invalid.illegal.cds"},"6":{"name":"variable.other.module-alias.cds"}}},{"name":"meta.delimiter.object.comma.cds","match":","},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"name":"variable.language.import-all.cds","match":"\\*(?=.*\\bfrom\\b)"},{"name":"variable.language.default.cds","match":"\\b(default)\\b"},{"include":"#strings"},{"include":"#comments"},{"name":"keyword.control.cds","match":"(?i)\\b(from)\\b"},{"name":"variable.other.module.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"},{"name":"meta.delimiter.object.comma.cds","match":","},{"include":"#operators"}],"beginCaptures":{"1":{"name":"keyword.control.export.cds"}}},{"name":"meta.method.cds","begin":"\\b(?:(static)\\s+)?(?!(?:break|case|catch|continue|do|else|finally|for|if|export|import|using|package|return|switch|throw|try|while|with)[\\s\\(])([$_a-zA-Z][$_a-zA-Z0-9]*)\\s*(\\()(?=(?:[^\\(\\)]*)?\\)\\s*{)","end":"\\)","patterns":[{"include":"#function-params"}],"beginCaptures":{"1":{"name":"storage.modifier.static.cds"},"2":{"name":"entity.name.function.cds"},"3":{"name":"punctuation.definition.parameters.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.begin.cds"}}},{"name":"meta.class.cds","match":"\\b(class)(?:\\s+([$_a-zA-Z][$_a-zA-Z0-9]*))?(?:\\s+(extends)\\s+([$_a-zA-Z][$_a-zA-Z0-9]*))?\\s*($|(?={))","captures":{"1":{"name":"storage.type.class.cds"},"2":{"name":"entity.name.type.class.cds"},"3":{"name":"storage.modifier.cds"},"4":{"name":"entity.other.inherited-class.cds"}}},{"name":"storage.type.arrow.cds","match":"=\u003e"},{"name":"storage.type.var.cds","match":"(?\u003c!\\.|\\$)\\b(let|var)\\b(?!\\$)"},{"name":"storage.modifier.cds","match":"(?\u003c!\\.|\\$)\\b(get|set|const)\\b(?!\\$)"},{"name":"meta.control.yield.cds","match":"(?\u003c!\\.)\\b(yield)(?!\\s*:)\\b(?:\\s*(\\*))?","captures":{"1":{"name":"keyword.control.cds"},"2":{"name":"storage.modifier.cds"}}},{"name":"constant.language.cds","match":"\\b(false|Infinity|NaN|null|true|undefined)\\b"},{"name":"variable.language.cds","match":"(?\u003c!\\.)\\b(super|this)(?!\\s*:)\\b"},{"name":"punctuation.terminator.statement.cds","match":"\\;"},{"match":"(\\[)(\\])","captures":{"1":{"name":"punctuation.section.scope.begin.cds"},"2":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"name":"meta.brace.square.cds","match":"\\[|\\]"},{"name":"support.class.cds","match":"(?\u003c=new )([$_a-zA-Z][$_a-zA-Z0-9]*)(?!\\w)"},{"name":"support.class.cds","match":"(?\u003c= instanceof )([$_a-zA-Z][$_a-zA-Z0-9]*)(?!\\w)"},{"name":"support.class.cds","match":"(?\u003c!\\w)([$_a-zA-Z][$_a-zA-Z0-9]*)(?=\\.prototype\\b)"},{"name":"keyword.other.cds","match":"(?i)(?\u003c=\\.)(prototype)\\b"},{"name":"meta.function-call.cds","match":"(?\u003c!\\w)([$_a-zA-Z][$_a-zA-Z0-9]*)(?=\\()"},{"include":"#keywords"},{"include":"#numbers"},{"include":"#strings"},{"include":"#comments"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"bracedElementDef":{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#extendElement"},{"include":"#elementDef"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},"comments":{"patterns":[{"name":"entity.other.attribute-name","match":"@\\(?[\\w.]+\\b"},{"name":"comment.block.documentation.cds","begin":"/\\*\\*(?!/)","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cds"}}},{"name":"comment.block.cds","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cds"}}},{"name":"comment.line.double-slash.cds","match":"//.*"}]},"elementDef":{"begin":"(?=\\()|\\b(virtual(?:\\s+))?(key(?:\\s+))?(masked(?:\\s+))?(element(?:\\s+))?","end":"(?=})|(;)","patterns":[{"include":"#bracedElementDef"},{"include":"#strings"},{"include":"#comments"},{"include":"#keywords"},{"begin":"\\(","end":"\\)","patterns":[{"match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\\\"[^\\\"]*(\\\"\\\"[^\\\"]*)*\\\"|!\\\\[[^\\\\]]*(\\\\]\\\\][^\\\\]]*)*\\\\]","captures":{"0":{"name":"entity.name.type.attribute-name.cds"}}},{"include":"#operators"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\])(?=\\s*[:{,])","end":"(,)|(?=\\s*[:{])","beginCaptures":{"1":{"name":"entity.name.type.attribute-name.cds"}},"endCaptures":{"1":{"name":"punctuation.separator.object.cds"}}},{"match":"^\\s*([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\])\\s*$","captures":{"1":{"name":"entity.name.type.attribute-name.cds"}}},{"include":"#identifiers"},{"include":"#operators"},{"include":"#numbers"},{}],"beginCaptures":{"1":{"name":"keyword.cds"},"2":{"name":"keyword.strong.cds"},"3":{"name":"keyword.cds"},"4":{"name":"keyword.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"}}},"escapes":{"name":"constant.character.escape.cds","match":"\\\\([xu$]\\{?[0-9a-fA-F]+}?|.|$)"},"extendElement":{"begin":"\\b(?=extend\\b.*\\bwith\\b)","end":"(?\u003c=})(;)?|(;)","patterns":[{"begin":"\\bextend\\b","end":"\\bwith\\b","patterns":[{"name":"keyword.cds","match":"element(?!(?:\\s*/\\*.*\\*/\\s*|\\s+)?with\\b)"},{"name":"entity.name.type.attribute-name.cds","match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\]"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.strong.cds"}},"endCaptures":{"0":{"name":"keyword.cds"}}},{"begin":"{","end":"}","patterns":[{"include":"#extendElement"},{"include":"#elementDef"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"include":"#comments"},{"include":"#keywords"},{"include":"#identifiers"},{"include":"#operators"},{"name":"punctuation.section.scope.begin.cds","match":"\\("},{"name":"punctuation.section.scope.end.cds","match":"\\)"},{"include":"#numbers"}],"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},"function-params":{"patterns":[{"begin":"(?=[\\p{L}$_])","end":"(?=[,)/])","patterns":[{"name":"variable.parameter.function.cds","match":"\\G[$_a-zA-Z][$_a-zA-Z0-9]*"}]},{"include":"#comments"}]},"identifiers":{"patterns":[{"name":"identifier.cds","match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(\"\"[^\"]*)*\"|!\\[[^\\]]*(\\]\\][^\\]]*)*\\]"}]},"interpolation":{"name":"meta.embedded.line.cds","contentName":"source.cds","begin":"\\${","end":"(})","patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"meta.brace.curly.cds"}},"endCaptures":{"0":{"name":"meta.brace.curly.cds"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.cds"},"1":{"name":"source.cds"}}},"keywords":{"patterns":[{"name":"support.class.cds","match":"(?\u003c!\\.|\\$)\\b(Association\\s*(?:\\[[0-9.eE+, *-]*\\]\\s*)?to\\s*(?:(many|one)\\s*)?|Composition\\s*(?:\\[[0-9.eE+, *-]*\\]\\s*)?of\\s*(?:(many|one)\\s*)?|(Binary|Boolean|DateTime|Date|DecimalFloat|Decimal|Double|Int(16|32|64)|Integer64|Integer|LargeBinary|LargeString|Number|String|Timestamp|Time|UInt8|UUID)\\s*(\\([^()]*\\))?)(?!\\$|\\s*:)"},{"name":"invalid.illegal.cds","match":"(?\u003c!\\.|\\$)\\b(await)\\b(?!\\$|\\s*:)"},{"name":"invalid.deprecated.cds","match":"(?\u003c!\\.|\\$)\\b(implements|interface|package|private|protected|public)\\b(?!\\$|\\s*:)"},{"name":"invalid.illegal.cds","match":"(?\u003c!\\.|\\$)\\b(class|static|extends)\\b(?!\\$|\\s*:)"},{"name":"keyword.cds","match":"(?i)(?\u003c!\\.|\\$)\\b(all|and|any|asc|between|by|case|cast|cross|desc|distinct|element|elements|escape|except|excluding|exists|first|from|full|group|group by|having|in|inner|intersect|into|is|join|last|left|like|limit|many|minus|mixin|not null|not|null|nulls|offset|one|or|order by|outer|redirected to|select|some|top|type of|union|where|with)\\b(?!\\$|\\s*:)"},{"name":"keyword.strong.cds","match":"(?i)(?\u003c!\\.|\\$)\\b(as|key|on|type)\\b(?!\\$|\\s*:)"},{"name":"keyword.cds","match":"(?\u003c!\\.|\\$)\\b(after|always|analysis|array of|async|asynchronous|auto|both|cache|column|columns|configuration|current|cycle|day|default|depends|detection|disabled|documents|else|enabled|end|every|existing|export|extended|extract|fast|flush|fulltext|fuzzy|generated|getnumservers|hana|hash|hour|identity|import|increment|index|keeping|language|layout|leading|masked|maxvalue|merge|migration|mime|mining|minute|minutes|minvalue|mode|month|name|new|no|off|only|others|overlay|parameters|partition|partitioning|partitions|phrase|preprocess|priority|projection|projection on|queue|range|ratio|reset|returns|right|roundrobin|row|search|second|separators|start|storage|store|subtype|sync|synchronous|table|technical|temporary|text|then|token|trailing|trim|unique|unload|value|values|virtual|when|with parameters|year)\\b(?!\\$|\\s*:)"},{"name":"keyword.strong.cds","match":"(?\u003c!\\.|\\$)\\b(abstract|action|actions|annotation|aspect|context|define|entity|enum|event|expose|extend|facet|function|namespace|service|view)\\b(?!\\$|\\s*:)"}]},"numbers":{"patterns":[{"name":"constant.numeric.hex.cds","match":"(?\u003c!\\w|\\$)0[xX][[:xdigit:]]+\\b"},{"name":"constant.numeric.binary.cds","match":"(?\u003c!\\w|\\$)0[bB][01]+\\b"},{"name":"constant.numeric.octal.cds","match":"(?\u003c!\\w|\\$)0[oO][0-7]+\\b"},{"name":"constant.numeric.cds","match":"(?\u003c!\\w|\\$)[+-]?[0-9]+('.'[0-9]+)?([eE][+-]?[0-9]+)?(?!\\w)"}]},"operators":{"patterns":[{"name":"keyword.operator.assignment.compound.cds","match":"%=|\\+=|\\-=|\\*=|(?\u003c!\\()/="},{"name":"keyword.operator.assignment.compound.bitwise.cds","match":"\u0026=|\\^=|\u003c\u003c=|\u003e\u003e=|\u003e\u003e\u003e=|\\|="},{"name":"keyword.operator.comparison.cds","match":"!==|!=|\u003c=|\u003e=|===|==|\u003c|\u003e"},{"name":"keyword.operator.logical.cds","match":"\u0026\u0026|!|\\|\\|"},{"name":"keyword.operator.bitwise.cds","match":"\u0026|\\||\\^|~"},{"name":"keyword.cds","match":"\\:\\s*(localized)\\s+"},{"name":"keyword.operator.cds","match":"[?:]"},{"name":"keyword.operator.logical.cds","match":"!"},{"name":"keyword.operator.assignment.cds","match":"=|\\:"},{"name":"keyword.operator.decrement.cds","match":"\\-\\-"},{"name":"keyword.operator.increment.cds","match":"\\+\\+"},{"name":"keyword.operator.arithmetic.cds","match":"%|\\*|/|\\-|\\+"}]},"strings":{"patterns":[{"name":"string.quoted.single.cds","begin":"'","end":"'(?!')","patterns":[{"name":"meta.single-quote.doubled.cds","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cds"}}},{"name":"string.quoted.other.template.cds","begin":"`","end":"`","patterns":[{"include":"#interpolation"},{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cds"}}}]}}}
1
+ {"name":"CDS","scopeName":"source.cds","patterns":[{"begin":"\\b(aspect|(abstract\\s+)?entity|type|event)\\b","end":"(?\u003c=})(;)?|(;)","patterns":[{"include":"#atAnnoParen"},{"include":"#atAnnoNoParen"},{"begin":":","end":"(?=[{;@])","patterns":[{"include":"#identifiers"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"0":{"name":"keyword.operator.cds"}}},{"include":"#bracedElementDef"},{"include":"#keywords"},{"include":"#identifiers"}],"beginCaptures":{"1":{"name":"keyword.strong.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},{"begin":"(?i)\\b(extend)\\s+((context|service|aspect|entity|projection|type)\\s+)?((?!@)\\S+)(\\s+(with)(\\s+(actions|definitions|columns|elements|enum))?|(?=\\s*{))","end":"(?\u003c=})(;)?|(;)","patterns":[{"include":"#bracedElementDef"},{"include":"#atAnnoParen"},{"include":"#atAnnoNoParen"},{"include":"#keywords"},{"include":"#identifiers"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"1":{"name":"keyword.strong.cds"},"3":{"name":"keyword.cds"},"4":{"name":"entity.name.type.cds"},"6":{"name":"keyword.cds"},"8":{"name":"keyword.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},{"match":"(?\u003c!\\.)\\b(annotate)\\b\\s*([\\w.]+)\\b\\s*\\b(with)?\\b","captures":{"1":{"name":"keyword.strong.control.import.cds"},"2":{"name":"entity.name.type.cds"},"3":{"name":"keyword.strong.control.import.cds"}}},{"begin":"(?\u003c!\\.)\\b(using)(?!\\s*:)\\b","end":"(;)|\\n","patterns":[{"begin":"{","end":"}","patterns":[{"match":"(?:\\b(default)\\b|\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)\\s*(\\bas\\b)\\s*(?:\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b)","captures":{"1":{"name":"variable.language.default.cds"},"2":{"name":"entity.name.type.cds"},"3":{"name":"keyword.strong.cds"},"4":{"name":"entity.name.type.cds"}}},{"name":"punctuation.separator.object.cds","match":","},{"include":"#comments"},{"name":"entity.name.type.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b"}],"beginCaptures":{"0":{"name":"punctuation.definition.modules.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.modules.end.cds"}}},{"match":"(?:(\\*)|(?=\\D)(\\b[\\$\\.\\w]+\\b))\\s*(\\bas\\b)\\s*(?=\\D)(\\b[\\$\\.\\w]+\\b)","captures":{"1":{"name":"keyword.operator.asterisk"},"2":{"name":"entity.name.type.cds"},"3":{"name":"keyword.strong.control.cds"},"4":{"name":"entity.name.type.cds"}}},{"name":"keyword.operator.asterisk","match":"\\*"},{"name":"variable.language.default.cds","match":"\\b(default)\\b"},{"include":"#strings"},{"include":"#comments"},{"name":"keyword.strong.control.cds","match":"(?i)\\b(from)\\b"},{"name":"entity.name.type.cds","match":"\\b([$_a-zA-Z][$_a-zA-Z0-9]*)\\b(?=.*\\bfrom\\b)"},{"name":"punctuation.separator.object.cds","match":","}],"beginCaptures":{"1":{"name":"keyword.strong.control.import.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"}}},{"name":"meta.export.cds","match":"(?i)\\b(export)\\b\\s*\\b(default)\\b(?:\\s*)\\b((?!\\bclass\\b|\\blet\\b|\\bvar\\b|\\bconst\\b)[$_a-zA-Z][$_a-zA-Z0-9]*)?\\b","captures":{"1":{"name":"keyword.control.cds"},"2":{"name":"variable.language.default.cds"},"3":{"name":"variable.other.module.cds"}}},{"begin":"(?i)\\b(action|function)\\s+([$_a-zA-Z][$_a-zA-Z0-9]*)\\s*(\\()","end":"\\)","patterns":[{"include":"#function-params"}],"beginCaptures":{"1":{"name":"keyword.strong.cds"},"2":{"name":"entity.name.function.cds"},"3":{"name":"punctuation.definition.parameters.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.cds"}}},{"name":"meta.class.cds","match":"\\b(class)(?:\\s+([$_a-zA-Z][$_a-zA-Z0-9]*))?(?:\\s+(extends)\\s+([$_a-zA-Z][$_a-zA-Z0-9]*))?\\s*($|(?={))","captures":{"1":{"name":"storage.type.class.cds"},"2":{"name":"entity.name.type.class.cds"},"3":{"name":"storage.modifier.cds"},"4":{"name":"entity.other.inherited-class.cds"}}},{"name":"storage.type.arrow.cds","match":"=\u003e"},{"name":"storage.type.var.cds","match":"(?\u003c!\\.|\\$)\\b(let|var)\\b(?!\\$)"},{"name":"storage.modifier.cds","match":"(?\u003c!\\.|\\$)\\b(get|set|const)\\b(?!\\$)"},{"name":"meta.control.yield.cds","match":"(?\u003c!\\.)\\b(yield)(?!\\s*:)\\b(?:\\s*(\\*))?","captures":{"1":{"name":"keyword.control.cds"},"2":{"name":"storage.modifier.cds"}}},{"name":"constant.language.cds","match":"\\b(false|Infinity|NaN|null|true|undefined)\\b"},{"name":"variable.language.cds","match":"(?\u003c!\\.)\\b(super|this)(?!\\s*:)\\b"},{"name":"punctuation.terminator.statement.cds","match":"\\;"},{"match":"(\\[)(\\])","captures":{"1":{"name":"punctuation.section.scope.begin.cds"},"2":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"name":"meta.brace.square.cds","match":"\\[|\\]"},{"name":"support.class.cds","match":"(?\u003c=new )([$_a-zA-Z][$_a-zA-Z0-9]*)(?!\\w)"},{"name":"support.class.cds","match":"(?\u003c= instanceof )([$_a-zA-Z][$_a-zA-Z0-9]*)(?!\\w)"},{"name":"support.class.cds","match":"(?\u003c!\\w)([$_a-zA-Z][$_a-zA-Z0-9]*)(?=\\.prototype\\b)"},{"name":"keyword.other.cds","match":"(?i)(?\u003c=\\.)(prototype)\\b"},{"include":"#atAnnoParen"},{"include":"#atAnnoNoParen"},{"include":"#keywords"},{"include":"#numbers"},{"include":"#strings"},{"include":"#comments"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"annotationName":{"begin":"(?=[$_\"!a-zA-Z0-9])","end":"(?:(?\u003c=[$\"\\]])(?=\\s*[@:;])|(?\u003c=[_a-zA-Z0-9])\\b)(?!\\s*[#.])","patterns":[{"name":"entity.name.tag.cds","match":"[$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\]"},{"match":"\\s*(\\.)\\s*(@)?","captures":{"1":{"name":"entity.name.tag.dot.cds"},"2":{"name":"entity.name.tag.at.cds"}}},{"match":"\\s*(#)\\s*","captures":{"1":{"name":"entity.name.tag.hash.cds"}}}]},"atAnnoName":{"begin":"(@)","end":"(?:(?\u003c=[$\"\\]])(?=\\s*[@:;])|(?\u003c=[_a-zA-Z0-9])\\b)(?![#.])","patterns":[{"include":"#annotationName"}],"beginCaptures":{"1":{"name":"entity.name.tag.at.cds"}}},"atAnnoNoParen":{"begin":"(@)(?!\\s*\\()","end":"(?\u003c=[}\\]'`])(?=\\s*($|[@;]))|(?\u003c![@:])(?!\\s*:)(?=$|[\\s@,;(){}\\[\\]'`/\"!]|\\b[$_a-zA-Z])","patterns":[{"include":"#annotationName"},{"include":"#optColonAndStructure"},{"include":"#optColonAndArray"},{"include":"#colonAndNumber"},{"include":"#colonAndString"},{"include":"#colonAndTemplateString"},{"include":"#colonAndHashIdent"},{"include":"#colonAndConstant"},{"include":"#comments"}],"captures":{"1":{"name":"entity.name.tag.at.cds"}}},"atAnnoParen":{"begin":"(@)\\s*(\\()","end":"\\)","patterns":[{"include":"#annotationName"},{"include":"#optColonAndStructure"},{"include":"#optColonAndArray"},{"include":"#colonAndNumber"},{"include":"#colonAndString"},{"include":"#colonAndTemplateString"},{"include":"#colonAndHashIdent"},{"include":"#colonAndConstant"},{"name":"punctuation.separator.object.cds","match":","},{"include":"#comments"}],"beginCaptures":{"1":{"name":"entity.name.tag.at.cds"},"2":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},"bracedElementDef":{"begin":"{","end":"}","patterns":[{"include":"#comments"},{"include":"#atAnnoParen"},{"include":"#atAnnoNoParen"},{"include":"#extendElement"},{"include":"#selectItemDef"},{"include":"#elementDef"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},"bracketedExpression":{"begin":"\\(","end":"\\)","patterns":[{"include":"#bracedElementDef"},{"include":"#keywords"},{"match":"(?i)(?\u003c!@|select from )(?:\\$?\\b[_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\])","captures":{"0":{"name":"entity.other.attribute-name.cds"}}},{"include":"#identifiers"},{"include":"#operators"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},"colonAndConstant":{"match":"(?i)(:)\\s*(null|true|false)\\b","patterns":[{"include":"#comments"}],"captures":{"1":{"name":"keyword.operator.colon"},"2":{"name":"constant.language.cds"}}},"colonAndHashIdent":{"match":"(:)\\s*(#)\\s*([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\])","patterns":[{"include":"#comments"}],"captures":{"1":{"name":"keyword.operator.colon"},"2":{"name":"entity.name.tag.hash.cds"},"3":{"name":"entity.name.tag.cds"}}},"colonAndNumber":{"begin":"(:)\\s*(?=[0-9+-])","end":"(?\u003c=[[[:xdigit:]]0-9])\\b","patterns":[{"include":"#numbers"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.colon"}}},"colonAndString":{"begin":"(:)\\s*(x|date|time(?:stamp)?)?\\s*(')","end":"'(?!')","patterns":[{"name":"string.quoted.single.cds meta.single-quote.doubled.cds","match":"''"},{"name":"string.quoted.single.cds","match":"."},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.colon"},"2":{"name":"support.class.cds"},"3":{"name":"string.quoted.single.cds punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"string.quoted.single.cds punctuation.definition.string.end.cds"}}},"colonAndTemplateString":{"begin":"(:)\\s*(?=`)","end":"(?\u003c=`)","patterns":[{"include":"#strings"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.colon"}}},"comments":{"patterns":[{"name":"comment.block.documentation.cds","begin":"/\\*\\*(?!/)","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cds"}}},{"name":"comment.block.cds","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.cds"}}},{"name":"comment.line.double-slash.cds","match":"//.*"}]},"elementDef":{"begin":"(?!\\s*@)(?:(?=\\()|\\b(virtual(?:\\s+))?(key(?:\\s+))?(masked(?:\\s+))?(element(?:\\s+))?)","end":"(?=})|(;)","patterns":[{"include":"#bracedElementDef"},{"include":"#strings"},{"include":"#comments"},{"include":"#atAnnoParen"},{"include":"#atAnnoNoParen"},{"include":"#keywords"},{"include":"#bracketedExpression"},{"name":"entity.other.attribute-name.cds","match":"(?\u003c!@)(?:\\$?\\b[_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\])(?=\\s*[:{,@])"},{"match":"^\\s*([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\])\\s*$","captures":{"1":{"name":"entity.other.attribute-name.cds"}}},{"include":"#identifiers"},{"include":"#operators"},{"include":"#numbers"},{"name":"punctuation.separator.object.cds","match":","},{}],"beginCaptures":{"1":{"name":"keyword.cds"},"2":{"name":"keyword.strong.cds"},"3":{"name":"keyword.cds"},"4":{"name":"keyword.cds"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"}}},"escapes":{"name":"constant.character.escape.cds","match":"\\\\([xu$]\\{?[0-9a-fA-F]+}?|.|$)"},"extendElement":{"begin":"\\b(?=extend\\b.*\\bwith\\b)","end":"(?\u003c=})(;)?|(;)","patterns":[{"begin":"\\bextend\\b","end":"\\bwith\\b","patterns":[{"name":"keyword.cds","match":"element(?!(?:\\s*/\\*.*\\*/\\s*|\\s+)?with\\b)"},{"name":"entity.other.attribute-name.cds","match":"(?\u003c!@)(?:\\$?\\b[_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\])"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.strong.cds"}},"endCaptures":{"0":{"name":"keyword.cds"}}},{"include":"#atAnnoParen"},{"include":"#atAnnoNoParen"},{"begin":"{","end":"}","patterns":[{"include":"#extendElement"},{"include":"#elementDef"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},{"include":"#comments"},{"include":"#keywords"},{"include":"#identifiers"},{"include":"#operators"},{"name":"punctuation.section.scope.begin.cds","match":"\\("},{"name":"punctuation.section.scope.end.cds","match":"\\)"},{"include":"#numbers"}],"endCaptures":{"1":{"name":"punctuation.terminator.statement.cds"},"2":{"name":"punctuation.terminator.statement.cds"}}},"function-params":{"patterns":[{"name":"variable.parameter.function.cds","match":"\\$?\\b[_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\]"},{"name":"punctuation.separator.object.cds","match":","},{"include":"#comments"},{"include":"#operators"}]},"identifiers":{"patterns":[{"name":"entity.name.type.cds","match":"(?\u003c!@)(?:\\$?\\b[_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\])"}]},"keywords":{"patterns":[{"match":"(?\u003c!\\.|\\$)\\b(Association\\b\\s*(?:\\[[0-9.eE+, *-]*\\]\\s*)?to\\b\\s*(?:many\\s*|one\\s*)?|Composition\\b\\s*(?:\\[[0-9.eE+, *-]*\\]\\s*)?of\\b\\s*(?:many\\s*|one\\s*)?)(?:(?=\\s*{)|([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\]))","captures":{"1":{"name":"support.class.cds"},"2":{"name":"entity.name.type.cds"}}},{"name":"support.class.cds","match":"(?\u003c!\\.|\\$)\\b(Binary|Boolean|DateTime|Date|DecimalFloat|Decimal|Double|Int(16|32|64)|Integer64|Integer|LargeBinary|LargeString|Number|String|Timestamp|Time|UInt8|UUID)\\b\\s*(\\([^()]*\\))?(?!\\$|\\s*:)"},{"name":"keyword.cds","match":"(?i)(?\u003c!\\.|\\$)\\b(all|and|any|asc|between|by|case|cast|cross|desc|distinct|element|elements|escape|except|excluding|exists|first|from|full|group|group by|having|in|inner|intersect|into|is|join|last|left|like|limit|many|minus|mixin|not null|not|null|nulls|offset|one|or|order by|outer|redirected to|select|some|top|type of|union|where|with)\\b(?!\\$|\\s*:)"},{"name":"keyword.strong.cds","match":"(?i)(?\u003c!\\.|\\$)\\b(as|key|on|type)\\b(?!\\$|\\s*:)"},{"name":"keyword.cds","match":"(?\u003c!\\.|\\$)\\b(array of|column|columns|current|day|default|depends|else|enabled|end|generated|hana|hour|identity|import|index|language|layout|leading|masked|merge|minute|minutes|mode|month|name|new|no|off|only|others|parameters|partition|partitions|priority|projection|projection on|queue|range|ratio|reset|returns|right|row|search|second|start|storage|store|table|technical|then|trailing|trim|unique|unload|value|values|virtual|when|with parameters|year)\\b(?!\\$|\\s*:)"},{"name":"keyword.strong.cds","match":"(?\u003c!\\.|\\$)\\b(abstract|action|actions|annotation|aspect|context|define|entity|enum|event|extend|function|namespace|service|view)\\b(?!\\$|\\s*:)"}]},"literalValue":{"patterns":[{"match":"(#)\\s*([$_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\])","captures":{"1":{"name":"entity.name.tag.hash.cds"},"2":{"name":"entity.name.tag.cds"}}},{"name":"constant.language.cds","match":"(?i)\\b(?:null|true|false)\\b"},{"include":"#numbers"},{"include":"#strings"},{"match":"(?i)\\b(x|date|time(?:stamp)?)\\s*((')[^']*('))","captures":{"1":{"name":"support.class.cds"},"2":{"name":"string.quoted.single.cds"},"3":{"name":"punctuation.definition.string.begin.cds"},"4":{"name":"punctuation.definition.string.end.cds"}}},{}]},"numbers":{"patterns":[{"name":"constant.numeric.hex.cds","match":"(?\u003c!\\w|\\$)0[xX][[:xdigit:]]+\\b"},{"name":"constant.numeric.binary.cds","match":"(?\u003c!\\w|\\$)0[bB][01]+\\b"},{"name":"constant.numeric.octal.cds","match":"(?\u003c!\\w|\\$)0[oO][0-7]+\\b"},{"name":"constant.numeric.cds","match":"(?\u003c!\\w|\\$)[+-]?[0-9]+('.'[0-9]+)?([eE][+-]?[0-9]+)?(?!\\w)"}]},"operators":{"patterns":[{"name":"keyword.operator.comparison.cds","match":"!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e"},{"name":"keyword.operator.concatenator.cds","match":"\\|\\|"},{"name":"keyword.operator.bitwise.cds","match":"\u0026|\\||\\^|~"},{"match":"\\:\\s*(localized)\\s+","captures":{"1":{"name":"keyword.cds"}}},{"name":"keyword.operator.cds","match":"[?:]"},{"name":"keyword.operator.logical.cds","match":"!"},{"name":"keyword.operator.assignment.cds","match":"=|\\:"},{"name":"keyword.operator.arithmetic.cds","match":"%|\\*|/|\\-|\\+"}]},"optColonAndArray":{"begin":"(:)?\\s*(\\[)","end":"\\]","patterns":[{"include":"#atAnnoNoParen"},{"include":"#annotationName"},{"match":"\\.{3}","captures":{"0":{"name":"keyword.operator.ellipsis"}}},{"match":"(?i)(up)\\s+(to)\\b","captures":{"1":{"name":"keyword.cds"},"2":{"name":"keyword.cds"}}},{"include":"#optColonAndStructure"},{"include":"#optColonAndArray"},{"include":"#literalValue"},{"name":"punctuation.separator.object.cds","match":","},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.colon"},"2":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},"optColonAndStructure":{"begin":"(:)?\\s*({)","end":"}","patterns":[{"include":"#atAnnoNoParen"},{"include":"#annotationName"},{"include":"#optColonAndStructure"},{"include":"#optColonAndArray"},{"include":"#colonAndNumber"},{"include":"#colonAndString"},{"include":"#colonAndTemplateString"},{"include":"#colonAndHashIdent"},{"include":"#colonAndConstant"},{"name":"punctuation.separator.object.cds","match":","},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.colon"},"2":{"name":"punctuation.section.scope.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.cds"}}},"selectItemDef":{"begin":"^\\s*(?=\\*|.+\\s+as\\s+)","end":"(?=})|(,)","patterns":[{"include":"#bracedElementDef"},{"include":"#strings"},{"include":"#comments"},{"include":"#atAnnoParen"},{"include":"#atAnnoNoParen"},{"include":"#keywords"},{"include":"#bracketedExpression"},{"name":"entity.other.attribute-name.cds","match":"(?\u003c!@)(?:\\$?\\b[_a-zA-Z][$_a-zA-Z0-9]*|\"[^\"]*(?:\"\"[^\"]*)*\"|!\\[[^\\]]*(?:\\]\\][^\\]]*)*\\])"},{"include":"#operators"},{"include":"#numbers"},{"name":"punctuation.separator.object.cds","match":","}]},"strings":{"patterns":[{"name":"string.quoted.single.cds","begin":"'","end":"'(?!')","patterns":[{"name":"meta.single-quote.doubled.cds","match":"''"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cds"}}},{"name":"string.quoted.other.template.cds","begin":"`","end":"`(?!`)","patterns":[{"name":"string.quoted.other.template.block.cds","match":"``"},{"include":"#interpolation"},{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cds"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cds"}}}]}}}
@@ -1 +1 @@
1
- {"name":"COBOL","scopeName":"source.cobol","patterns":[{"name":"token.info-token.cobol","match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])([dD]\\s.*$)"},{"match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\/.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\*.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"match":"(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\/.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"name":"constant.numeric.cobol","match":"^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s]$"},{"match":"(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\*.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"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\\$#%\\.@\\- ])(\\*.*$)","captures":{"1":{"name":"constant.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"match":"^\\s+(78)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"}}},{"match":"^\\s+([0-9]+)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)\\s+((?i:constant))","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"},"3":{"name":"keyword.identifers.cobol"}}},{"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\\$#%\\.@])(\\/.*$)","captures":{"1":{"name":"constant.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"name":"comment.line.cobol.fixed","match":"^\\*.*$"},{"match":"((?:^|\\s+)(?i:\\$set)\\s+)((?i:constant)\\s+)([0-9a-zA-Z][a-zA-Z\\-0-9]+\\s*)([a-zA-Z\\-0-9]*)","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.cobol"},"4":{"name":"keyword.control.directive.conditional.cobol"}}},{"match":"((?i:\\$\\s*set\\s+)(ilusing)(\\()(.*)(\\)))","captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}}},{"match":"((?i:\\$\\s*set\\s+)(ilusing)(\")(.*)(\"))","captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}}},{"match":"((?i:\\$set))\\s+(\\w+)\\s*(\")(\\w*)(\")","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}}},{"match":"((?i:\\$set))\\s+(\\w+)\\s*(\\()(.*)(\\))","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}}},{"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)+).*$","captures":{"0":{"name":"keyword.control.directive.conditional.cobol"},"1":{"name":"invalid.illegal.directive"},"2":{"name":"comment.line.set.cobol"}}},{"match":"(\\$region|\\$end-region)(.*$)","captures":{"1":{"name":"keyword.control.directive.cobol"},"2":{"name":"entity.other.attribute-name.preprocessor.cobol"}}},{"name":"invalid.illegal.iscobol","begin":"\\$(?i:doc)(.*$)","end":"\\$(?i:end-doc)(.*$)"},{"name":"invalid.illegal.meta.preprocessor.cobolit","match":"\u003e\u003e\\s*(?i:turn|page|listing|leap-seconds|d)\\s+.*$"},{"match":"((((\u003e\u003e|\\$)[\\s]*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*$))","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.preprocessor.cobol"}}},{"match":"(\\*\u003e)\\s+(@[0-9a-zA-Z][a-zA-Z\\-0-9]+)\\s+(.*$)","captures":{"1":{"name":"comment.line.scantoken.cobol"},"2":{"name":"keyword.cobol"},"3":{"name":"string.cobol"}}},{"name":"comment.line.modern","match":"(\\*\u003e.*$)"},{"name":"strong comment.line.set.acucobol","match":"(\u003e\u003e.*)$"},{"name":"constant.numeric.integer.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])'[[:xdigit:]]*'"},{"name":"invalid.illegal.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])'.*'"},{"name":"constant.numeric.integer.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])\"[[:xdigit:]]*\""},{"name":"invalid.illegal.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])\".*\""},{"name":"constant.numeric.integer.boolean.cobol","match":"[bB]\"[0-1]\""},{"name":"constant.numeric.integer.boolean.cobol","match":"[bB]'[0-1]'"},{"name":"constant.numeric.integer.octal.cobol","match":"[oO]\"[0-7]*\""},{"name":"invalid.illegal.octal.cobol","match":"[oO]\".*\""},{"name":"meta.symbol.cobol.forced","match":"(#)([0-9a-zA-Z][a-zA-Z\\-0-9]+)"},{"name":"comment.block.cobol.remark","begin":"((?\u003c![-_a-zA-Z0-9()-])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\.|$))","end":"(?=((?\u003c![-_])(?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)|^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*]\\*.*$|^\\+$))","patterns":[{"name":"constant.numeric.cobol","match":"(^[0-9 ][0-9 ][0-9 ][0-9 ][0-9 ][0-9 ])"}],"beginCaptures":{"0":{"name":"keyword.identifiers.cobol"}}},{"name":"constant.numeric.cobol","match":"(?\u003c=(\\(|\\[))((\\-\\+)*\\s*[0-9 ,\\.\\+\\-\\*\\/]+)(?=(\\)|\\]))","captures":{"1":{"name":"keyword.start.bracket.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"keyword.end.bracket.cobol"}}},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"name":"constant.language.cobol","match":"(?\u003c![-_])(?i:true|false|null|nulls)(?![0-9A-Za-z_-])"},{"name":"constant.language.figurative.cobol","match":"(?\u003c![-_])(?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+|\\.|,|\\))"},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+sqlims|exec\\s+sql)","end":"(?i:end\\-exec)","patterns":[{"name":"comment.line.sql","match":"(^\\s*\\*.*)$"},{"name":"variable.cobol","match":"(\\:([0-9a-zA-Z\\-_])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.cics","begin":"(?i:exec\\s+cics)","end":"(?i:end\\-exec)","patterns":[{"name":"meta.symbol.cobol","match":"(\\()"},{"include":"#cics-keywords"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"name":"variable.cobol","match":"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.dli","begin":"(?i:exec\\s+dli)","end":"(?i:end\\-exec)","patterns":[{"name":"meta.symbol.cobol","match":"(\\()"},{"include":"#dli-keywords"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"name":"variable.cobol","match":"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+sqlims)","end":"(?i:end\\-exec)","patterns":[{"name":"variable.cobol","match":"(\\:([a-zA-Z\\-])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+ado)","end":"(?i:end\\-exec)","patterns":[{"name":"variable.cobol","match":"(\\:([a-zA-Z\\-])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.html","begin":"(?i:exec\\s+html)","end":"(?i:end\\-exec)","patterns":[{"include":"text.html.basic"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.java","begin":"(?i:exec\\s+java)","end":"(?i:end\\-exec)","patterns":[{"include":"source.java"}]},{"match":"(\")(CBL_.*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\")(PC_.*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\\')(CBL_.*)(\\')","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\\')(PC_.*)(\\')","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"'","end":"('|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"(?\u003c![\\-\\w])[gGzZ]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"(?\u003c![\\-\\w])[gGzZ]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"(?\u003c![\\-\\w])[gGnN]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"(?\u003c![\\-\\w])[gGnN]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.utf8.double.cobol","begin":"(?\u003c![\\-\\w])[uU]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.utf8.single.cobol","begin":"(?\u003c![\\-\\w])[uU]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"keyword.identifiers.cobol","match":"(?\u003c![-_])(?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_-])"},{"match":"(?\u003c![-_])((?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_-]*)","captures":{"1":{"name":"keyword.verb.cobol"},"2":{"name":"entity.name.function.cobol"}}},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:implements|inherits|constraints|constrain)(?=\\s|\\.)"},{"name":"keyword.identifiers.cobol","match":"(?\u003c![-_])(?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|\\.|,|\\))"},{"name":"keyword.identifiers.cobol","match":"\\s+(?i:attach\\s+method|attach\\s+del|attach|detach\\s+del|detach\\s+method|detach|method|del)(?=\\s|\\.|$)"},{"name":"keyword.other.sync.cobol","match":"\\s+(?i:sync\\s+(?i:on))(?=\\s|\\.)"},{"name":"keyword.control.catch-exception.cobol","match":"\\s+(?i:try|finally|catch|end-try|throw)(?=\\s|\\.|$)"},{"name":"keyword.otherverb.cobol","match":"(?\u003c![-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\+\\+include|copy|replace)(?=\\s)"},{"name":"storage.type.dynamiclength.cobol","match":"(?i:dynamic)\\s+(?i:length)(?=\\s|\\.)"},{"name":"keyword.identifers.cobol","match":"(?\u003c![-_])(?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|\\.)"},{"name":"support.function.cobol","match":"(?\u003c![-_])(?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|\\.|\\(|\\))"},{"match":"(?\u003c![-_])(?i:DFHRESP|DFHVALUE)(\\s*\\(\\s*)([a-zA-Z]*)(\\s*\\))","captures":{"0":{"name":"support.function.cics.cobol"},"1":{"name":"punctuation.definition.string.end.cobol"},"2":{"name":"keyword.identifers.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:function)(?=\\s|\\.)"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?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_-])"},{"name":"keyword.other.cobol","match":"(?\u003c![-_])(?:by value|by reference|by content|property-value)(?![0-9A-Za-z_-])"},{"name":"keyword.identifers.cobol","match":"(?\u003c![-_])(?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_-])"},{"match":"(?\u003c![-_])(?i:type|new)\\s+([a-zA-Z][a-zA-Z0-9\\$\\-\\._]*|[a-zA-Z])(?=\\.$)","captures":{"0":{"name":"keyword.verb.cobol"},"1":{"name":"storage.type.cobol"}}},{"name":"storage.type.cobol","match":"(?\u003c![-_])(?i:string)(?=\\s+value|\\.)"},{"name":"storage.type.cobol","match":"(?\u003c![-_])(?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|\\.|,|\\]|\\[)"},{"name":"keyword.operator-id.cobol","match":"(operator-id\\s+[+\\-\\*\\/])","captures":{"1":{"name":"keyword.other.verb.cobol"},"2":{"name":"meta.symbol.cobol"}}},{"match":"(?i:self)(\\:\\:)([0-9a-zA-Z_\\-\\.]*)(?=\\.$)","captures":{"1":{"name":"punctuation.accessor.cobol.b3"},"2":{"name":"entity.name.function.b3"}}},{"match":"(\\:\\:)([0-9a-zA-Z_\\-\\.]*)","captures":{"1":{"name":"punctuation.accessor.cobol"},"2":{"name":"entity.name.function.cobol"}}},{"match":"(?\u003c![-_])(?i:type)\\s+([0-9a-zA-Z\\.]*)","captures":{"0":{"name":"keyword.verb.cobol.aa"},"1":{"name":"storage.type.cobol.bb"}}},{"name":"keyword.control.cobol","match":"(?\u003c![-_])(?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_-])"},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)[-|+]","captures":{"1":{"name":"storage.type.picture10.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture10.cobol"},"4":{"name":"constant.numeric.cobol"}}},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)","captures":{"1":{"name":"storage.type.picture9.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture9.cobol"},"4":{"name":"constant.numeric.cobol"}}},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV\\.][-+s\\*$09aAbBsSnNxXuUzZ/,]*[0-9\\.()])*","captures":{"1":{"name":"storage.type.picture8.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture8.cobol"}}},{"name":"storage.type.picture7.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*"},{"name":"storage.type.picture6.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*"},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxuUXzZ/,.]*)\\(([0-9]*)\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*","captures":{"1":{"name":"storage.type.picture5.cobol"},"2":{"name":"constant.numeric.cobol"}}},{"name":"storage.type.picture4.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpNNxXuUzZ/,.]*\\([0-9]*\\)"},{"name":"storage.type.picture3.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*\\([0-9]*\\)"},{"name":"storage.type.picture2.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*"},{"name":"storage.type.picture1.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+\\*$9aAbBsSnpPNxXuUzZ/,.vV]*"},{"match":"((?\u003c![-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\(([0-9]*)\\)","captures":{"1":{"name":"invalid.illegal.keyword.verb.acu.cobol"},"2":{"name":"invalid.illegal.constant.numeric.integer"}}},{"name":"support.function.cbltypes.cobol","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)"},{"name":"storage.type.picture.cobol","match":"(?\u003c![-_])(?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|\\.|\\))"},{"name":"storage.type.length.cobol","match":"(?i:byte-length)\\s+[0-9]+"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?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_-])"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:thread-local)(?![0-9A-Za-z_-])"},{"name":"keyword.screens.cobol","match":"(\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![0-9A-Za-z_-])"},{"name":"invalid.illegal.screens.acu.cobol","match":"(\\s+|^)(?i:bold|high|lowlight|low|standard|background-high|background-low|background-standard)(?![0-9A-Za-z_-])"},{"name":"storage.modifier.cobol","match":"(?\u003c![-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=\\s|\\.)"},{"name":"keyword.operator.cobol","match":"=|\u003c|\u003e|\u003c=|\u003e=|\u003c\u003e|\\+|\\-|\\*|\\/|(?\u003c![-_])(?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_-])"},{"name":"keyword.verb.cobol","match":"(?i:not\\s+at\\s+end)(?![0-9A-Za-z_-])"},{"name":"keyword.operator.cobol","match":"(?\u003c![-_])(?i:not)(?![0-9A-Za-z_-])"},{"name":"support.type.cobol","match":"(?\u003c![-_])(?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_-])"},{"name":"keyword.xml.cobol","match":"(?\u003c![-_])(?i:end-xml|processing.*procedure|xml\\sparse|xml|xml-information|xml-text|xml-schemal|xml-declaration)(?![0-9A-Za-z_-])"},{"name":"keyword.json.cobol","match":"(?\u003c![-_])(?i:json\\s+generate|json|end-json|name\\sof)(?![0-9A-Za-z_-])"},{"name":"invalid.illegal.acu.cobol","match":"(?\u003c![-_])(?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|\\.|,|;|$)"},{"name":"invalid.illegal.netcobol.cobol","match":"(?\u003c![-_])(?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|\\.|,|;|$)"},{"name":"support.type.cobol.acu strong","match":"(?\u003c![-_])(?i:System-Info|Terminal-Info)(?![0-9A-Za-z_-])"},{"name":"invalid.illegal.cobol","match":"(?\u003c![-_])(?i:alter)(?=\\s|\\.)"},{"name":"keyword.ibmreserved.cobol","match":"(?\u003c![-_])(?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_-])"},{"name":"strong keyword.potential.reserved.cobol","match":"(?\u003c![-_])(?i:active-class|aligned|anycase|boolean|cols|col|condition|ec|eo|system-default|function-pointer)(?![0-9A-Za-z_-])"},{"name":"keyword.filler.cobol","match":"(?i:filler)"},{"name":"variable.language","match":"(?\u003c![-_])(?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)(?![0-9A-Za-z_-])"},{"name":"storage.type.sql.picture.cobol","match":"(?\u003c![-_])(?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|\\.|\\)|\\()"},{"name":"keyword.other.self.cobol","match":"(?\u003c![-_])(?i:self)"},{"name":"keyword.other.super.cobol","match":"(?\u003c![-_])(?i:super)"},{"name":"constant.numeric.cobol","match":"(^[0-9][0-9][0-9][0-9][0-9][0-9])"},{"match":"(\\()([0-9]*)(:)([0-9]*)(\\))","captures":{"1":{"name":"meta.symbol.cobol"},"2":{"name":"constant.numeric.integer"},"3":{"name":"meta.symbol.cobol"},"4":{"name":"constant.numeric.integer"},"5":{"name":"meta.symbol.cobol"}}},{"name":"meta.symbol.cobol","match":"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))"}],"repository":{"cics-keywords":{"name":"keyword.verb.cics","match":"(?\u003c![\\-\\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])"},"dli-keywords":{"name":"keyword.verb.dli","match":"(?\u003c![\\-\\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])"},"number-complex-constant":{"name":"constant.numeric.cobol","match":"(\\-|\\+)?((([0-9]+(\\.[0-9]+))|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?(?=\\s|\\.$|,|\\))"},"number-simple-constant":{"name":"constant.numeric.cobol","match":"(\\-|\\+)?([0-9]+)(?=\\s|\\.$|,|\\))"},"string-double-quoted-constant":{"begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},"string-quoted-constant":{"name":"string.quoted.single.cobol","begin":"'","end":"('|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}}}}
1
+ {"name":"COBOL","scopeName":"source.cobol","patterns":[{"name":"token.info-token.cobol","match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])([dD]\\s.*$)"},{"match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\/.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"match":"(^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*])(\\*.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"match":"(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\/.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"name":"constant.numeric.cobol","match":"^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s]$"},{"match":"(^[0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s][0-9\\s])(\\*.*$)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"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\\$#%\\.@\\- ])(\\*.*$)","captures":{"1":{"name":"constant.cobol"},"2":{"name":"comment.line.cobol.fixed"}}},{"match":"^\\s+(78)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"}}},{"match":"^\\s+([0-9]+)\\s+([0-9a-zA-Z][a-zA-Z\\-0-9_]+)\\s+((?i:constant))","captures":{"1":{"name":"constant.numeric.cobol"},"2":{"name":"variable.other.constant"},"3":{"name":"keyword.identifers.cobol"}}},{"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\\$#%\\.@])(\\/.*$)","captures":{"1":{"name":"constant.cobol"},"2":{"name":"comment.line.cobol.newpage"}}},{"name":"comment.line.cobol.fixed","match":"^\\*.*$"},{"match":"((?:^|\\s+)(?i:\\$set)\\s+)((?i:constant)\\s+)([0-9a-zA-Z][a-zA-Z\\-0-9]+\\s*)([a-zA-Z\\-0-9]*)","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.cobol"},"4":{"name":"keyword.control.directive.conditional.cobol"}}},{"match":"((?i:\\$\\s*set\\s+)(ilusing)(\\()(.*)(\\)))","captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}}},{"match":"((?i:\\$\\s*set\\s+)(ilusing)(\")(.*)(\"))","captures":{"1":{"name":"entity.name.function.preprocessor.cobol"},"2":{"name":"storage.modifier.import.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}}},{"match":"((?i:\\$set))\\s+(\\w+)\\s*(\")(\\w*)(\")","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.definition.string.begin.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.definition.string.begin.cobol"}}},{"match":"((?i:\\$set))\\s+(\\w+)\\s*(\\()(.*)(\\))","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"punctuation.begin.bracket.round.cobol"},"4":{"name":"string.quoted.other.cobol"},"5":{"name":"punctuation.end.bracket.round.cobol"}}},{"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)+).*$","captures":{"0":{"name":"keyword.control.directive.conditional.cobol"},"1":{"name":"invalid.illegal.directive"},"2":{"name":"comment.line.set.cobol"}}},{"match":"(\\$region|\\$end-region)(.*$)","captures":{"1":{"name":"keyword.control.directive.cobol"},"2":{"name":"entity.other.attribute-name.preprocessor.cobol"}}},{"name":"invalid.illegal.iscobol","begin":"\\$(?i:doc)(.*$)","end":"\\$(?i:end-doc)(.*$)"},{"name":"invalid.illegal.meta.preprocessor.cobolit","match":"\u003e\u003e\\s*(?i:turn|page|listing|leap-seconds|d)\\s+.*$"},{"match":"((((\u003e\u003e|\\$)[\\s]*)(?i:if|else|elif|end-if|end-evaluate|end|define|evaluate|when|display|call-convention|set))(.*$))","captures":{"1":{"name":"keyword.control.directive.conditional.cobol"},"2":{"name":"entity.name.function.preprocessor.cobol"},"3":{"name":"entity.name.function.preprocessor.cobol"}}},{"match":"(\\*\u003e)\\s+(@[0-9a-zA-Z][a-zA-Z\\-0-9]+)\\s+(.*$)","captures":{"1":{"name":"comment.line.scantoken.cobol"},"2":{"name":"keyword.cobol"},"3":{"name":"string.cobol"}}},{"name":"comment.line.modern","match":"(\\*\u003e.*$)"},{"name":"strong comment.line.set.acucobol","match":"(\u003e\u003e.*)$"},{"name":"constant.numeric.integer.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])'[[:xdigit:]]*'"},{"name":"invalid.illegal.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])'.*'"},{"name":"constant.numeric.integer.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])\"[[:xdigit:]]*\""},{"name":"invalid.illegal.hexadecimal.cobol","match":"([nNuU][xX]|[hHxX])\".*\""},{"name":"constant.numeric.integer.boolean.cobol","match":"[bB]\"[0-1]\""},{"name":"constant.numeric.integer.boolean.cobol","match":"[bB]'[0-1]'"},{"name":"constant.numeric.integer.octal.cobol","match":"[oO]\"[0-7]*\""},{"name":"invalid.illegal.octal.cobol","match":"[oO]\".*\""},{"name":"meta.symbol.cobol.forced","match":"(#)([0-9a-zA-Z][a-zA-Z\\-0-9]+)"},{"name":"comment.block.cobol.remark","begin":"((?\u003c![-_a-zA-Z0-9()-])(?i:installation|author|source-computer|object-computer|date-written|security|date-compiled)(\\.|$))","end":"(?=((?\u003c![-_])(?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)|^[ \\*][ \\*][ \\*][ \\*][ \\*][ \\*]\\*.*$|^\\+$))","patterns":[{"name":"constant.numeric.cobol","match":"(^[0-9 ][0-9 ][0-9 ][0-9 ][0-9 ][0-9 ])"},{"name":"keyword.identifiers.cobol","match":"(?i:with|debugging|mode)"}],"beginCaptures":{"0":{"name":"keyword.identifiers.cobol"}}},{"name":"constant.numeric.cobol","match":"(?\u003c=(\\(|\\[))((\\-\\+)*\\s*[0-9 ,\\.\\+\\-\\*\\/]+)(?=(\\)|\\]))","captures":{"1":{"name":"keyword.start.bracket.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"keyword.end.bracket.cobol"}}},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"name":"constant.language.cobol","match":"(?\u003c![-_])(?i:true|false|null|nulls)(?![0-9A-Za-z_-])"},{"name":"constant.language.figurative.cobol","match":"(?\u003c![-_])(?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+|\\.|,|\\))"},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+sqlims|exec\\s+sql)","end":"(?i:end\\-exec)","patterns":[{"name":"comment.line.sql","match":"(^\\s*\\*.*)$"},{"name":"variable.cobol","match":"(\\:([0-9a-zA-Z\\-_])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.cics","begin":"(?i:exec\\s+cics)","end":"(?i:end\\-exec)","patterns":[{"name":"meta.symbol.cobol","match":"(\\()"},{"include":"#cics-keywords"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"name":"variable.cobol","match":"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.dli","begin":"(?i:exec\\s+dli)","end":"(?i:end\\-exec)","patterns":[{"name":"meta.symbol.cobol","match":"(\\()"},{"include":"#dli-keywords"},{"include":"#string-double-quoted-constant"},{"include":"#string-quoted-constant"},{"include":"#number-complex-constant"},{"include":"#number-simple-constant"},{"name":"variable.cobol","match":"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+sqlims)","end":"(?i:end\\-exec)","patterns":[{"name":"variable.cobol","match":"(\\:([a-zA-Z\\-])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.sql","begin":"(?i:exec\\s+ado)","end":"(?i:end\\-exec)","patterns":[{"name":"variable.cobol","match":"(\\:([a-zA-Z\\-])*)"},{"include":"source.sql"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.html","begin":"(?i:exec\\s+html)","end":"(?i:end\\-exec)","patterns":[{"include":"text.html.basic"}]},{"name":"keyword.verb.cobol","contentName":"meta.embedded.block.java","begin":"(?i:exec\\s+java)","end":"(?i:end\\-exec)","patterns":[{"include":"source.java"}]},{"match":"(\")(CBL_.*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\")(PC_.*)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\\')(CBL_.*)(\\')","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"match":"(\\')(PC_.*)(\\')","captures":{"1":{"name":"punctuation.definition.string.begin.cobol"},"2":{"name":"support.function.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"'","end":"('|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"(?\u003c![\\-\\w])[gGzZ]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"(?\u003c![\\-\\w])[gGzZ]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.double.cobol","begin":"(?\u003c![\\-\\w])[gGnN]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.single.cobol","begin":"(?\u003c![\\-\\w])[gGnN]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.utf8.double.cobol","begin":"(?\u003c![\\-\\w])[uU]\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"string.quoted.utf8.single.cobol","begin":"(?\u003c![\\-\\w])[uU]'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"keyword.identifiers.cobol","match":"(?\u003c![-_])(?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_-])"},{"match":"(?\u003c![-_])((?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_-]*)","captures":{"1":{"name":"keyword.verb.cobol"},"2":{"name":"entity.name.function.cobol"}}},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:implements|inherits|constraints|constrain)(?=\\s|\\.)"},{"name":"keyword.identifiers.cobol","match":"(?\u003c![-_])(?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|\\.|,|\\))"},{"name":"keyword.identifiers.cobol","match":"\\s+(?i:attach\\s+method|attach\\s+del|attach|detach\\s+del|detach\\s+method|detach|method|del)(?=\\s|\\.|$)"},{"name":"keyword.other.sync.cobol","match":"\\s+(?i:sync\\s+(?i:on))(?=\\s|\\.)"},{"name":"keyword.control.catch-exception.cobol","match":"\\s+(?i:try|finally|catch|end-try|throw)(?=\\s|\\.|$)"},{"name":"keyword.otherverb.cobol","match":"(?\u003c![-_])(?i:select|use|thru|varying|giving|remainder|tallying|through|until|execute|returning|using|chaining|yielding|\\+\\+include|copy|replace)(?=\\s)"},{"name":"storage.type.dynamiclength.cobol","match":"(?i:dynamic)\\s+(?i:length)(?=\\s|\\.)"},{"name":"keyword.identifers.cobol","match":"(?\u003c![-_])(?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|\\.)"},{"name":"support.function.cobol","match":"(?\u003c![-_])(?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|\\.|\\(|\\))"},{"match":"(?\u003c![-_])(?i:DFHRESP|DFHVALUE)(\\s*\\(\\s*)([a-zA-Z]*)(\\s*\\))","captures":{"0":{"name":"support.function.cics.cobol"},"1":{"name":"punctuation.definition.string.end.cobol"},"2":{"name":"keyword.identifers.cobol"},"3":{"name":"punctuation.definition.string.end.cobol"}}},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:function)(?=\\s|\\.)"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?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_-])"},{"name":"keyword.other.cobol","match":"(?\u003c![-_])(?:by value|by reference|by content|property-value)(?![0-9A-Za-z_-])"},{"name":"keyword.identifers.cobol","match":"(?\u003c![-_])(?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_-])"},{"match":"(?\u003c![-_])(?i:type|new)\\s+([a-zA-Z][a-zA-Z0-9\\$\\-\\._]*|[a-zA-Z])(?=\\.$)","captures":{"0":{"name":"keyword.verb.cobol"},"1":{"name":"storage.type.cobol"}}},{"name":"storage.type.cobol","match":"(?\u003c![-_])(?i:string)(?=\\s+value|\\.)"},{"name":"storage.type.cobol","match":"(?\u003c![-_])(?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|\\.|,|\\]|\\[)"},{"name":"keyword.operator-id.cobol","match":"(operator-id\\s+[+\\-\\*\\/])","captures":{"1":{"name":"keyword.other.verb.cobol"},"2":{"name":"meta.symbol.cobol"}}},{"match":"(?i:self)(\\:\\:)([0-9a-zA-Z_\\-\\.]*)(?=\\.$)","captures":{"1":{"name":"punctuation.accessor.cobol.b3"},"2":{"name":"entity.name.function.b3"}}},{"match":"(\\:\\:)([0-9a-zA-Z_\\-\\.]*)","captures":{"1":{"name":"punctuation.accessor.cobol"},"2":{"name":"entity.name.function.cobol"}}},{"match":"(?\u003c![-_])(?i:type)\\s+([0-9a-zA-Z\\.]*)","captures":{"0":{"name":"keyword.verb.cobol.aa"},"1":{"name":"storage.type.cobol.bb"}}},{"name":"keyword.control.cobol","match":"(?\u003c![-_])(?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_-])"},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)[-|+]","captures":{"1":{"name":"storage.type.picture10.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture10.cobol"},"4":{"name":"constant.numeric.cobol"}}},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV][-+sS\\*$09aAbBxXuUpPnNzZ/,\\.]*)\\(([0-9]*)\\)","captures":{"1":{"name":"storage.type.picture9.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture9.cobol"},"4":{"name":"constant.numeric.cobol"}}},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBxXuUpPnNzZ/,.]*)\\(([0-9]*)\\)([vV\\.][-+s\\*$09aAbBsSnNxXuUzZ/,]*[0-9\\.()])*","captures":{"1":{"name":"storage.type.picture8.cobol"},"2":{"name":"constant.numeric.cobol"},"3":{"name":"storage.type.picture8.cobol"}}},{"name":"storage.type.picture7.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*"},{"name":"storage.type.picture6.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxXuUzZ/,.]*\\([0-9]*\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*[Vv\\.][-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*"},{"match":"(?\u003c![-_])((?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpPNxuUXzZ/,.]*)\\(([0-9]*)\\)[-+s\\*0$9aAbBsSnNxpPxXuUzZ/,]*","captures":{"1":{"name":"storage.type.picture5.cobol"},"2":{"name":"constant.numeric.cobol"}}},{"name":"storage.type.picture4.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+sS\\*$09aAbBsSnpNNxXuUzZ/,.]*\\([0-9]*\\)"},{"name":"storage.type.picture3.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*\\([0-9]*\\)"},{"name":"storage.type.picture2.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[sS]?[9aAbBsSnNxXuUzZ]*[Vv][9aAxbXuUzZ]*"},{"name":"storage.type.picture1.cobol","match":"(?\u003c![-_])(?i:picture\\s+is|picture|pic\\s+is|pic)\\s+[-+\\*$9aAbBsSnpPNxXuUzZ/,.vV]*"},{"match":"((?\u003c![-_])(?i:binary|computational-4|comp-4|computational-5|comp-5))\\(([0-9]*)\\)","captures":{"1":{"name":"invalid.illegal.keyword.verb.acu.cobol"},"2":{"name":"invalid.illegal.constant.numeric.integer"}}},{"name":"support.function.cbltypes.cobol","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)"},{"name":"storage.type.picture.cobol","match":"(?\u003c![-_])(?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|\\.|\\))"},{"name":"storage.type.length.cobol","match":"(?i:byte-length)\\s+[0-9]+"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?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_-])"},{"name":"keyword.verb.cobol","match":"(?\u003c![-_])(?i:thread-local)(?![0-9A-Za-z_-])"},{"name":"keyword.screens.cobol","match":"(\\s+|^)(?i:foreground-color|background-color|prompt|underline|reverse-video|no-echo|highlight|blink)(?![0-9A-Za-z_-])"},{"name":"invalid.illegal.screens.acu.cobol","match":"(\\s+|^)(?i:bold|high|lowlight|low|standard|background-high|background-low|background-standard)(?![0-9A-Za-z_-])"},{"name":"storage.modifier.cobol","match":"(?\u003c![-_])(?i:internal|public|protected|final|private|static|new|abstract|override|readonly|property|async-void|async-value|async)(?=\\s|\\.)"},{"name":"keyword.operator.cobol","match":"=|\u003c|\u003e|\u003c=|\u003e=|\u003c\u003e|\\+|\\-|\\*|\\/|(?\u003c![-_])(?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_-])"},{"name":"keyword.verb.cobol","match":"(?i:not\\s+at\\s+end)(?![0-9A-Za-z_-])"},{"name":"keyword.operator.cobol","match":"(?\u003c![-_])(?i:not)(?![0-9A-Za-z_-])"},{"name":"support.type.cobol","match":"(?\u003c![-_])(?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_-])"},{"name":"keyword.xml.cobol","match":"(?\u003c![-_])(?i:end-xml|processing.*procedure|xml\\sparse|xml|xml-information|xml-text|xml-schemal|xml-declaration)(?![0-9A-Za-z_-])"},{"name":"keyword.json.cobol","match":"(?\u003c![-_])(?i:json\\s+generate|json|end-json|name\\sof)(?![0-9A-Za-z_-])"},{"name":"invalid.illegal.acu.cobol","match":"(?\u003c![-_])(?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|\\.|,|;|$)"},{"name":"invalid.illegal.netcobol.cobol","match":"(?\u003c![-_])(?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|\\.|,|;|$)"},{"name":"support.type.cobol.acu strong","match":"(?\u003c![-_])(?i:System-Info|Terminal-Info)(?![0-9A-Za-z_-])"},{"name":"invalid.illegal.cobol","match":"(?\u003c![-_])(?i:alter)(?=\\s|\\.)"},{"name":"keyword.ibmreserved.cobol","match":"(?\u003c![-_])(?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_-])"},{"name":"strong keyword.potential.reserved.cobol","match":"(?\u003c![-_])(?i:active-class|aligned|anycase|boolean|cols|col|condition|ec|eo|system-default|function-pointer)(?![0-9A-Za-z_-])"},{"name":"keyword.filler.cobol","match":"(?i:filler)"},{"name":"variable.language","match":"(?\u003c![-_])(?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)(?![0-9A-Za-z_-])"},{"name":"storage.type.sql.picture.cobol","match":"(?\u003c![-_])(?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|\\.|\\)|\\()"},{"name":"keyword.other.self.cobol","match":"(?\u003c![-_])(?i:self)"},{"name":"keyword.other.super.cobol","match":"(?\u003c![-_])(?i:super)"},{"name":"constant.numeric.cobol","match":"(^[0-9][0-9][0-9][0-9][0-9][0-9])"},{"match":"(\\()([0-9]*)(:)([0-9]*)(\\))","captures":{"1":{"name":"meta.symbol.cobol"},"2":{"name":"constant.numeric.integer"},"3":{"name":"meta.symbol.cobol"},"4":{"name":"constant.numeric.integer"},"5":{"name":"meta.symbol.cobol"}}},{"name":"meta.symbol.cobol","match":"([a-zA-Z-0-9_]*[a-zA-Z0-9]|([#]?[0-9a-zA-Z]+[a-zA-Z-0-9_]*[a-zA-Z0-9]))"}],"repository":{"cics-keywords":{"name":"keyword.verb.cics","match":"(?\u003c![\\-\\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])"},"dli-keywords":{"name":"keyword.verb.dli","match":"(?\u003c![\\-\\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])"},"number-complex-constant":{"name":"constant.numeric.cobol","match":"(\\-|\\+)?((([0-9]+(\\.[0-9]+))|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDd]|UL|ul)?(?=\\s|\\.$|,|\\))"},"number-simple-constant":{"name":"constant.numeric.cobol","match":"(\\-|\\+)?([0-9]+)(?=\\s|\\.$|,|\\))"},"string-double-quoted-constant":{"begin":"\"","end":"(\"|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}},"string-quoted-constant":{"name":"string.quoted.single.cobol","begin":"'","end":"('|$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.cobol"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.cobol"}}}}}