github-linguist 9.6.0 → 9.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/gno.mod.json +1 -0
  3. data/grammars/source.abl.json +1 -1
  4. data/grammars/source.aleo.json +1 -0
  5. data/grammars/source.astro.json +1 -1
  6. data/grammars/source.baml.json +1 -1
  7. data/grammars/source.bird2.json +1 -0
  8. data/grammars/source.blueprint.json +1 -0
  9. data/grammars/source.bnd.json +1 -1
  10. data/grammars/source.bsl.json +1 -1
  11. data/grammars/source.carbon.json +1 -0
  12. data/grammars/source.cl.json +1 -1
  13. data/grammars/source.clar.json +1 -1
  14. data/grammars/source.clarion.json +1 -1
  15. data/grammars/source.cmd.json +1 -1
  16. data/grammars/source.comment-string.wesl.json +1 -1
  17. data/grammars/source.comment-string.wgsl.json +1 -1
  18. data/grammars/source.cs.json +1 -1
  19. data/grammars/source.csswg.json +1 -1
  20. data/grammars/source.curlrc.json +1 -1
  21. data/grammars/source.dart.json +1 -1
  22. data/grammars/source.dds.dspf.json +1 -1
  23. data/grammars/source.dds.icff.json +1 -1
  24. data/grammars/source.dds.lf.json +1 -1
  25. data/grammars/source.dds.pf.json +1 -1
  26. data/grammars/source.dds.prtf.json +1 -1
  27. data/grammars/source.deq.json +1 -0
  28. data/grammars/source.fift.json +1 -0
  29. data/grammars/source.flix.json +1 -1
  30. data/grammars/source.fpp.json +1 -0
  31. data/grammars/source.func.json +1 -0
  32. data/grammars/source.gdscript.json +1 -1
  33. data/grammars/source.gedcom.json +1 -1
  34. data/grammars/source.gitconfig.json +1 -1
  35. data/grammars/source.gno.json +1 -0
  36. data/grammars/source.graphql.json +1 -1
  37. data/grammars/source.hack.json +1 -1
  38. data/grammars/source.hx.json +1 -1
  39. data/grammars/source.hxml.json +1 -1
  40. data/grammars/source.ink.json +1 -1
  41. data/grammars/source.jac.json +1 -1
  42. data/grammars/source.jass.json +1 -0
  43. data/grammars/source.julia.json +1 -1
  44. data/grammars/source.kcl.json +1 -1
  45. data/grammars/source.koka.json +1 -1
  46. data/grammars/source.leo.json +1 -1
  47. data/grammars/source.lobster.json +1 -0
  48. data/grammars/source.logos.json +1 -1
  49. data/grammars/source.luau.json +1 -1
  50. data/grammars/source.m2.json +1 -1
  51. data/grammars/source.mi.json +1 -1
  52. data/grammars/source.mojo.json +1 -1
  53. data/grammars/source.ms.json +1 -0
  54. data/grammars/source.nim.json +1 -1
  55. data/grammars/source.openqasm.json +1 -1
  56. data/grammars/source.opy.json +1 -1
  57. data/grammars/source.paperspecs.json +1 -0
  58. data/grammars/source.pl.json +1 -0
  59. data/grammars/source.pnlgrp.json +1 -1
  60. data/grammars/source.qsharp.json +1 -1
  61. data/grammars/source.rarlist.json +1 -0
  62. data/grammars/source.rascal.json +1 -1
  63. data/grammars/source.rego.json +1 -1
  64. data/grammars/source.rhai.json +1 -0
  65. data/grammars/source.rpg.json +1 -1
  66. data/grammars/source.rpgle.json +1 -1
  67. data/grammars/source.rust.json +1 -1
  68. data/grammars/source.scala.json +1 -1
  69. data/grammars/source.smithy.json +1 -1
  70. data/grammars/source.spicedb.json +1 -1
  71. data/grammars/source.stim.json +1 -0
  72. data/grammars/source.surrealql.json +1 -1
  73. data/grammars/source.swift.json +1 -1
  74. data/grammars/source.tasm.json +1 -0
  75. data/grammars/source.tlb.json +1 -0
  76. data/grammars/source.tolk.json +1 -0
  77. data/grammars/source.ucode-template.json +1 -0
  78. data/grammars/source.ucode.json +1 -0
  79. data/grammars/source.vento.json +1 -1
  80. data/grammars/source.verse.json +1 -0
  81. data/grammars/source.vespaSchema.json +1 -0
  82. data/grammars/source.vhs.json +1 -0
  83. data/grammars/source.wgsl.json +1 -1
  84. data/grammars/source.yaml.salt.json +1 -1
  85. data/grammars/text.bbcode.json +1 -0
  86. data/grammars/text.html.handlebars.json +1 -1
  87. data/grammars/text.recfile.json +1 -0
  88. data/grammars/text.roff.json +1 -1
  89. data/grammars/version +1 -1
  90. data/lib/linguist/VERSION +1 -1
  91. data/lib/linguist/blob_helper.rb +19 -0
  92. data/lib/linguist/generated.rb +24 -0
  93. data/lib/linguist/generic.yml +1 -0
  94. data/lib/linguist/heuristics.yml +80 -5
  95. data/lib/linguist/language.rb +5 -9
  96. data/lib/linguist/languages.yml +231 -27
  97. data/lib/linguist/languages_data.rb +7663 -0
  98. data/lib/linguist/lazy_blob.rb +6 -1
  99. data/lib/linguist/samples.rb +4 -10
  100. data/lib/linguist/samples_data.rb +196100 -0
  101. metadata +31 -19
  102. data/grammars/markdown.bicep.codeblock.json +0 -1
  103. data/grammars/source.baml-jinja.json +0 -1
  104. data/lib/linguist/languages.json +0 -1
  105. data/lib/linguist/samples.json +0 -1
@@ -1 +1 @@
1
- {"name":"Rego","scopeName":"source.rego","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#comparison-operators"},{"include":"#assignment-operators"},{"include":"#term"}],"repository":{"assignment-operators":{"name":"keyword.operator.assignment.rego","match":":\\=|\\="},"call":{"name":"meta.function-call.rego","match":"([a-zA-Z_][a-zA-Z0-9_]*)\\(","captures":{"1":{"name":"support.function.any-method.rego"}}},"comment":{"patterns":[{"name":"comment.line.number-sign.rego","match":"(#)\\s*(METADATA)\\s*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"},"2":{"name":"strong"}}},{"name":"comment.line.number-sign.rego","match":"(#)\\s*(scope|title|description|related_resources|authors|organizations|schemas|entrypoint|custom):.*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"},"2":{"name":"strong"}}},{"name":"comment.line.number-sign.rego","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"}}}]},"comparison-operators":{"name":"keyword.operator.comparison.rego","match":"\\=\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026"},"constant":{"name":"constant.language.rego","match":"\\b(?:true|false|null)\\b"},"interpolated-string-double":{"name":"string.template.rego","begin":"(\\$)(\")","end":"\"","patterns":[{"include":"#interpolation-expression"},{"include":"#string-escape"},{"include":"#interpolation-escape"},{"include":"#string-escape-invalid"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.rego"},"2":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},"interpolated-string-raw":{"name":"string.template.rego","begin":"(\\$)(`)","end":"`","patterns":[{"include":"#interpolation-expression"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.rego"},"2":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},"interpolation-escape":{"name":"constant.character.escape.rego","match":"\\\\[{}]"},"interpolation-expression":{"name":"meta.embedded.expression.rego","begin":"(?\u003c!\\\\)\\{","end":"\\}","patterns":[{"include":"#interpolation-expression-contents"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.rego"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.rego"}}},"interpolation-expression-contents":{"patterns":[{"include":"#comment"},{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#root-document"},{"include":"#variable"},{"include":"#comparison-operators"}]},"keyword":{"name":"keyword.other.rego","match":"(^|\\s+)(?:(default|not|package|import|as|with|else|some|in|every|if|contains))(?=\\s|$)"},"number":{"name":"constant.numeric.rego","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"root-document":{"name":"variable.other.constant.rego support.constant.rego variable.language.rego","match":"(?\u003c!\\.)\\b(?:input|data)\\b"},"string":{"patterns":[{"include":"#interpolated-string-double"},{"include":"#interpolated-string-raw"},{"name":"string.quoted.double.rego","begin":"\"","end":"\"","patterns":[{"include":"#string-escape"},{"include":"#string-escape-invalid"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},{"name":"string.other.raw.rego","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}}]},"string-escape":{"name":"constant.character.escape.rego","match":"(?x: # turn on extended mode\n\t\t\t\\\\ # a literal backslash\n\t\t\t(?: # ...followed by...\n\t\t\t\t[\"\\\\/bfnrt] # one of these characters\n\t\t\t\t| # ...or...\n\t\t\t\tu # a u\n\t\t\t\t[0-9a-fA-F]{4} # and four hex digits\n\t\t\t)\n\t\t\t)"},"string-escape-invalid":{"name":"invalid.illegal.unrecognized-string-escape.rego","match":"\\\\."},"term":{"patterns":[{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#root-document"},{"include":"#variable"}]},"variable":{"name":"meta.identifier.rego","match":"\\b[[:alpha:]_][[:alnum:]_]*\\b"}}}
1
+ {"name":"Rego","scopeName":"source.rego","patterns":[{"include":"#comment"},{"include":"#keyword"},{"include":"#comparison-operators"},{"include":"#assignment-operators"},{"include":"#term"}],"repository":{"assignment-operators":{"name":"keyword.operator.assignment.rego","match":":\\=|\\="},"call":{"name":"meta.function-call.rego","match":"([a-zA-Z_][a-zA-Z0-9_]*)\\(","captures":{"1":{"name":"support.function.any-method.rego"}}},"comment":{"patterns":[{"name":"comment.line.number-sign.rego","match":"(#)\\s*(METADATA)\\s*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"},"2":{"name":"strong"}}},{"name":"comment.line.number-sign.rego","match":"(#)\\s*(scope|title|description|related_resources|authors|organizations|schemas|entrypoint|custom):.*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"},"2":{"name":"strong"}}},{"name":"comment.line.number-sign.rego","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rego"}}}]},"comparison-operators":{"name":"keyword.operator.comparison.rego","match":"\\=\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026"},"constant":{"name":"constant.language.rego","match":"\\b(?:true|false|null)\\b"},"interpolated-string-double":{"name":"string.template.rego","begin":"(\\$)(\")","end":"\"","patterns":[{"include":"#interpolation-expression"},{"include":"#string-escape"},{"include":"#interpolation-escape"},{"include":"#string-escape-invalid"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.rego"},"2":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},"interpolated-string-raw":{"name":"string.template.rego","begin":"(\\$)(`)","end":"`","patterns":[{"include":"#interpolation-expression"}],"beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin.rego"},"2":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},"interpolation-escape":{"name":"constant.character.escape.rego","match":"\\\\[{}]"},"interpolation-expression":{"name":"meta.embedded.expression.rego","begin":"(?\u003c!\\\\)\\{","end":"\\}","patterns":[{"include":"#interpolation-expression-contents"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.rego"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.rego"}}},"interpolation-expression-contents":{"patterns":[{"include":"#comment"},{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#root-document"},{"include":"#variable"},{"include":"#comparison-operators"}]},"keyword":{"name":"keyword.other.rego","match":"(^|\\s+)(?:(default|not|package|import|as|with|else|some|in|every|if|contains|and|or))(?=\\s|$)"},"number":{"name":"constant.numeric.rego","match":"(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"},"root-document":{"name":"variable.other.constant.rego support.constant.rego variable.language.rego","match":"(?\u003c!\\.)\\b(?:input|data)\\b"},"string":{"patterns":[{"include":"#interpolated-string-double"},{"include":"#interpolated-string-raw"},{"name":"string.quoted.double.rego","begin":"\"","end":"\"","patterns":[{"include":"#string-escape"},{"include":"#string-escape-invalid"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}},{"name":"string.other.raw.rego","begin":"`","end":"`","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rego"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rego"}}}]},"string-escape":{"name":"constant.character.escape.rego","match":"(?x: # turn on extended mode\n\t\t\t\\\\ # a literal backslash\n\t\t\t(?: # ...followed by...\n\t\t\t\t[\"\\\\/bfnrt] # one of these characters\n\t\t\t\t| # ...or...\n\t\t\t\tu # a u\n\t\t\t\t[0-9a-fA-F]{4} # and four hex digits\n\t\t\t)\n\t\t\t)"},"string-escape-invalid":{"name":"invalid.illegal.unrecognized-string-escape.rego","match":"\\\\."},"term":{"patterns":[{"include":"#constant"},{"include":"#string"},{"include":"#number"},{"include":"#call"},{"include":"#root-document"},{"include":"#variable"}]},"variable":{"name":"meta.identifier.rego","match":"\\b[[:alpha:]_][[:alnum:]_]*\\b"}}}
@@ -0,0 +1 @@
1
+ {"name":"Rhai","scopeName":"source.rhai","patterns":[{"include":"#core"}],"repository":{"brackets":{"patterns":[{"include":"#round-brackets"},{"include":"#square-brackets"},{"include":"#curly-brackets"}]},"comments":{"patterns":[{"name":"comment.block.documentation.rhai","begin":"/\\*\\*(?![/|\\*])","end":"\\*/","patterns":[{"include":"#comments"}],"captures":{"0":{"name":"punctuation.definition.comment.block.documentation.rhai"}}},{"name":"comment.block.rhai","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"captures":{"0":{"name":"punctuation.definition.comment.block.rhai"}}},{"name":"comment.line.documentation.rhai","match":"(///)[^/].*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.documentation.rhai"}}},{"name":"comment.line.double-slash.rhai","match":"(//).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.double-slash.rhai"}}},{"name":"comment.line.shebang.rhai","match":"^(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.rhai"}}}]},"core":{"patterns":[{"include":"#expression"}]},"curly-brackets":{"patterns":[{"name":"meta.group.braces.curly","begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"meta.brace.curly.rhai"}},"endCaptures":{"0":{"name":"meta.brace.curly.rhai"}}}]},"expression":{"patterns":[{"include":"#literal-closure-labels"},{"include":"#literal-labels"},{"include":"#literal-keywords"},{"include":"#support"},{"include":"#literal-function"},{"include":"#literal-closure"},{"include":"#literal-constant"},{"include":"#literal-template-string"},{"include":"#literal-language-variable"},{"include":"#literal-module"},{"include":"#literal-method-call"},{"include":"#literal-function-call"},{"include":"#comments"},{"include":"#brackets"},{"include":"#literal-operators"},{"include":"#literal-namespace"},{"include":"#literal-variable"},{"include":"#literal-punctuation"}]},"function-declaration-parameters":{"patterns":[{"begin":"\\(","end":"\\)","patterns":[{"name":"variable.parameter.function.rhai","match":"[_a-zA-Z]\\w*"},{"name":"punctuation.separator.parameter.function.rhai","match":"\\,"},{"include":"#parameters-list"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.rhai"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.rhai"}}}]},"literal-closure":{"patterns":[{"name":"meta.function.closure.rhai","begin":"(\\|)(?=\\s*[_a-zA-Z\\|])","end":"(\\|)","patterns":[{"include":"#parameters-list"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.closure.begin.rhai"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.closure.end.rhai"}}},{"name":"meta.function.closure.rhai","begin":"(\\b[_a-zA-Z]\\w*)\\s*(=)\\s*(\\|)(?=\\s*[_a-zA-Z\\|])","end":"(\\|)","patterns":[{"include":"#parameters-list"}],"beginCaptures":{"1":{"name":"entity.name.function.closure.rhai"},"2":{"name":"keyword.operator.assignment.rhai"},"3":{"name":"punctuation.definition.parameters.closure.begin.rhai"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.closure.end.rhai"}}},{"name":"meta.function.closure.rhai","begin":"(=\u003e)\\s*(\\|)(?=\\s*[_a-zA-Z\\|])","end":"(\\|)","patterns":[{"include":"#parameters-list"}],"beginCaptures":{"1":{"name":"punctuation.separator.switch.case.rhai"},"2":{"name":"punctuation.definition.parameters.closure.begin.rhai"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.closure.end.rhai"}}}]},"literal-closure-labels":{"patterns":[{"name":"meta.function.closure.rhai","begin":"(\\b[_a-zA-Z]\\w*)\\s*(\\:)\\s*(\\|)(?=\\s*[_a-zA-Z\\|])","end":"(\\|)","patterns":[{"include":"#parameters-list"}],"beginCaptures":{"1":{"name":"string.unquoted.label.rhai entity.name.function.method.rhai"},"2":{"name":"punctuation.separator.key-value.rhai"},"3":{"name":"punctuation.definition.parameters.closure.begin.rhai"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.closure.end.rhai"}}},{"name":"meta.function.closure.rhai","begin":"((\\\")((?:[^\"]|\\\\\")*)(\\\"))\\s*(:)\\s*(\\|)(?=\\s*[_a-zA-Z\\|])","end":"(\\|)","patterns":[{"include":"#parameters-list"}],"beginCaptures":{"1":{"name":"string.quoted.double.rhai"},"2":{"name":"punctuation.definition.string.begin.rhai"},"3":{"name":"entity.name.function.method.rhai"},"4":{"name":"punctuation.definition.string.end.rhai"},"5":{"name":"punctuation.separator.key-value.rhai"},"6":{"name":"punctuation.definition.parameters.closure.begin.rhai"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.closure.end.rhai"}}}]},"literal-constant":{"patterns":[{"include":"#literal-number"},{"include":"#literal-string"},{"include":"#literal-language-constant"}]},"literal-function":{"patterns":[{"name":"meta.function.rhai","begin":"(?x)\n (?:\\b(private)\\s+)?\n \\s*(fn)\n \\s*([_a-zA-Z]\\w*)\\s*","end":"(?\u003c=\\))","patterns":[{"include":"#parameters-list"}],"beginCaptures":{"1":{"name":"storage.modifier.rhai"},"2":{"name":"storage.type.function.rhai"},"3":{"name":"entity.name.function.rhai"}}},{"name":"keyword.other.function.rhai","match":"\\b(fn)\\b"},{"name":"keyword.other.modifier.rhai","match":"\\b(private)\\b"}]},"literal-function-call":{"patterns":[{"name":"meta.function-call.without-arguments.rhai","match":"(?x)\n ([_a-zA-Z]\\w*)(!)?\\s*\n (\\(\\s*\\))","captures":{"1":{"name":"entity.name.function.rhai"},"2":{"name":"punctuation.function-call.capture.rhai"},"3":{"name":"meta.group.braces.round.function.arguments.rhai"}}},{"name":"meta.function-call.with-arguments.rhai","match":"(?x)\n ([_a-zA-Z]\\w*)(!)?\\s*\n (?=\\()","captures":{"1":{"name":"entity.name.function.rhai"},"2":{"name":"punctuation.function-call.capture.rhai"}}}]},"literal-keyword-storage":{"patterns":[{"name":"storage.type.rhai","match":"\\b(const|let)\\b"}]},"literal-keywords":{"patterns":[{"include":"#literal-keyword-storage"},{"name":"keyword.control.flow.rhai","match":"\\b(return)\\b"},{"name":"keyword.control.conditional.rhai","match":"\\b(if|else|switch)\\b"},{"name":"keyword.control.trycatch.rhai","match":"\\b(throw|try|catch)\\b"},{"name":"keyword.control.loop.rhai","match":"\\b(for|in|loop|do|while|until|break|continue)\\b"}]},"literal-labels":{"patterns":[{"begin":"(?x)\n (?\u003c!\\?)(?\u003c!\\?\\s)\n (?=((\")((?:[^\\:\"]|\\\\\")*)(\"))\\s*:)","end":":","patterns":[{"include":"#literal-string"}],"endCaptures":{"0":{"name":"punctuation.separator.key-value.rhai"}}},{"name":"constant.other.object.key.rhai","match":"(?\u003c!\\.|\\?|\\?\\s)([_a-zA-Z]\\w*)\\s*(:)(?!\\:)","captures":{"1":{"name":"string.unquoted.label.rhai"},"2":{"name":"punctuation.separator.key-value.rhai"}}}]},"literal-language-constant":{"patterns":[{"name":"constant.language.boolean.true.rhai","match":"\\btrue\\b"},{"name":"constant.language.boolean.false.rhai","match":"\\bfalse\\b"}]},"literal-language-namespace":{"patterns":[{"match":"(?\u003c!\\:\\:)\\s*((global)\\s*(\\:\\:))(?!\u003c)","captures":{"1":{"name":"meta.path.rhai"},"2":{"name":"constant.language.namespace.global.rhai entity.name.namespace.rhai"},"3":{"name":"punctuation.separator.namespace.rhai"}}}]},"literal-language-variable":{"patterns":[{"name":"variable.language.this.rhai","match":"\\bthis\\b"}]},"literal-method-call":{"patterns":[{"name":"meta.function-call.method.without-arguments.rhai","match":"(?x)\n (?:(?\u003c=\\.)|(?\u003c=\\?\\.))\n \\s*([_a-zA-Z]\\w*)\\s*\n (\\(\\s*\\))","captures":{"1":{"name":"entity.name.function.rhai"},"2":{"name":"meta.group.braces.round.function.arguments.rhai"}}},{"name":"meta.function-call.method.with-arguments.rhai","match":"(?x)\n (?:(?\u003c=\\.)|(?\u003c=\\?\\.))\n \\s*([_a-zA-Z]\\w*)\\s*\n (?=\\()","captures":{"1":{"name":"entity.name.function.rhai"}}}]},"literal-module":{"patterns":[{"name":"keyword.other.module.rhai","match":"\\b(import|export|as)\\b"}]},"literal-namespace":{"patterns":[{"include":"#literal-language-namespace"},{"name":"meta.path.rhai","match":"([_a-zA-Z]\\w*)\\s*(\\:\\:)(?!\u003c)","captures":{"1":{"name":"entity.name.namespace.rhai"},"2":{"name":"punctuation.separator.namespace.rhai"}}},{"match":"(?\u003c=\\:\\:)(\\s*([_a-zA-Z]\\w*))\\s*(?!\\:\\:)","captures":{"1":{"name":"meta.path.rhai"},"2":{"name":"variable.other.constant.rhai"}}}]},"literal-number":{"patterns":[{"name":"constant.numeric.rhai","match":"(?xi)\n (?:\n \\b0b[0-1][_0-1]*| # binary\n \\b0o[0-7][_0-7]*| # octal\n \\b0x[\\da-f][_\\da-f]*| # hex\n (\\B[+\\-])?\\b\\d[_\\d]*\\.\\d[_\\d]*(e[+\\-]?\\d[_\\d]*)?| # e.g. 999.999, 999.99e+123\n (\\B[+\\-])?\\b\\d[_\\d]*\\.(?!\\.)\\B| # e.g. 999.\n (\\B[+\\-])?\\b\\d[_\\d]*(e[+\\-]?\\d[_\\d]*)? # e.g. 999, 999e+123\n )"}]},"literal-operators":{"patterns":[{"name":"keyword.operator.logical.rhai","match":"(?x)\n !(?!=)| # logical-not right-to-left right\n \u0026\u0026 | # logical-and left-to-right both\n \\|\\| # logical-or left-to-right both"},{"name":"keyword.operator.containment.rhai","match":"(?x)\n \\bin\\b | # in left-to-right both\n \\B!in\\b # not-in left-to-right both"},{"name":"keyword.operator.coalesce.rhai","match":"(?x)\n \\?\\? # null-coalesce left-to-right both"},{"name":"keyword.operator.assignment.rhai","match":"(?x)\n =(?![=\u003e]) # assignment right-to-left both"},{"name":"keyword.operator.assignment.augmented.rhai","match":"(?x)\n %= | # assignment right-to-left both\n \u0026= | # assignment right-to-left both\n \\*\\*=| # assignment right-to-left both\n (?\u003c!\\*)\\*= | # assignment right-to-left both\n \\+= | # assignment right-to-left both\n -= | # assignment right-to-left both\n /= | # assignment right-to-left both\n \\^= | # assignment right-to-left both\n \\|= | # assignment right-to-left both\n \u003c\u003c= | # assignment right-to-left both\n \u003e\u003e= # assignment right-to-left both"},{"name":"keyword.operator.bitwise.rhai","match":"(?x)\n \u003c\u003c | # bitwise-shift left-to-right both\n \u003e\u003e | # bitwise-shift left-to-right both\n \u0026 | # bitwise-and left-to-right both\n \\^ | # bitwise-xor left-to-right both\n \\| # bitwise-or left-to-right both"},{"name":"keyword.operator.relational.rhai","match":"(?x)\n \u003c= | # relational left-to-right both\n \u003e= | # relational left-to-right both\n \u003c(?!-) | # relational left-to-right both\n (?\u003c!-)\u003e # relational left-to-right both"},{"name":"keyword.operator.comparison.rhai","match":"(?x)\n ==(?!=) | # equality left-to-right both\n !=(?!=) # equality left-to-right both"},{"name":"keyword.operator.arithmetic.rhai","match":"(?x)\n / | # division left-to-right both\n % | # modulus left-to-right both\n \\*\\* | # power left-to-right both\n \\*(?!\\)) | # multiplication left-to-right both\n \\+(?!\\+) | # addition left-to-right both\n -(?![\u003e-]) # subtraction left-to-right both"},{"name":"keyword.operator.range.exclusive.rhai","match":"\\.\\.(?![\\.=])"},{"name":"keyword.operator.range.inclusive.rhai","match":"\\.\\.="},{"name":"keyword.operator.accessor.rhai punctuation.accessor.rhai","match":"\\.(?!\\.)|\\?\\."},{"name":"punctuation.separator.switch.case.rhai","match":"=\u003e"},{"name":"invalid.illegal.operator.rhai","match":"(\\(\\*|\\*\\)|\\+\\+|--|\\.\\.\\.+|~|#(?!{)|@|\\?|\\$(?!{)|-\u003e|\u003c-|===|!==|\\:=|\\:\\:\u003c)"}]},"literal-punctuation":{"patterns":[{"name":"punctuation.terminator.statement.rhai","match":"\\;"},{"name":"meta.delimiter.comma.rhai","match":"\\,"}]},"literal-string":{"patterns":[{"name":"string.quoted.single.rhai","match":"('([^'\\\\]|\\\\([tnr'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8}))')","patterns":[{"name":"constant.character.escape.rhai","match":"\\\\([tnr'\\\\]|x[[:xdigit:]]{2}|u[[:xdigit:]]{4}|U[[:xdigit:]]{8})"}]},{"name":"string.quoted.double.rhai","begin":"(\")","end":"(\")","patterns":[{"include":"#string-content"},{"name":"invalid.illegal.newline.rhai","match":"(?\u003c!\\\\)\\n"},{"name":"constant.character.escape.newline.rhai punctuation.separator.continuation","match":"\\\\\\n"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.rhai"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.rhai"}}}]},"literal-template-string":{"patterns":[{"name":"string.interpolated.rhai","begin":"`","end":"`","patterns":[{"include":"#string-content"},{"name":"meta.interpolation.rhai","begin":"\\${","end":"}","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.section.interpolation.begin.rhai"}},"endCaptures":{"0":{"name":"punctuation.section.interpolation.end.rhai"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rhai"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rhai"}}}]},"literal-variable":{"patterns":[{"name":"variable.other.constant.rhai","match":"[A-Z][_\\dA-Z]*\\b"},{"match":"(?\u003c!\\.)\\s*([_a-zA-Z]\\w*)\\s*(?=(\\.|\\?\\.))","captures":{"1":{"name":"variable.other.object.rhai"}}},{"match":"(?:(?\u003c=\\.)|(?\u003c=\\?\\.))\\s*([_a-zA-Z]\\w*)","captures":{"1":{"name":"variable.other.property.rhai entity.name.property.rhai"}}},{"name":"variable.other.readwrite.rhai","match":"[_a-zA-Z]\\w*"}]},"parameters-list":{"patterns":[{"name":"variable.parameter.function.rhai","match":"[_a-zA-Z]\\w*"},{"name":"punctuation.separator.parameter.function.rhai","match":"\\,"},{"include":"#comments"}]},"round-brackets":{"patterns":[{"name":"meta.group.braces.round","begin":"\\((?!\\*)","end":"(?\u003c!\\*)\\)","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.round.rhai"}},"endCaptures":{"0":{"name":"meta.brace.round.rhai"}}}]},"square-brackets":{"patterns":[{"name":"meta.group.braces.square","begin":"\\[|\\?\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"meta.brace.square.rhai"}},"endCaptures":{"0":{"name":"meta.brace.square.rhai"}}}]},"string-content":{"patterns":[{"name":"constant.character.escape.rhai","match":"\\\\(x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|U[\\da-fA-F]{8}|t|r|n|\\\\)"},{"name":"invalid.illegal.escape.rhai","match":"\\\\[^xuUtrn\\\\\\n]"}]},"support":{"patterns":[{"name":"support.function.rhai","match":"\\b(print|debug|Fn|call|curry|eval|type_of|is_def_var|is_def_fn|is_shared)\\b"},{"name":"invalid.illegal.keyword.rhai","match":"\\b(var|static|shared|goto|exit|match|case|public|protected|new|use|with|module|package|super|thread|spawn|go|await|async|sync|yield|default|void|null|nil)\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"RPG","scopeName":"source.rpg","patterns":[{"include":"#ctarrays"},{"include":"#comments"},{"include":"#sql"},{"include":"#constants"},{"include":"#keywords"},{"include":"#gutter"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpg","begin":"(?i)((?\u003c=((?\u003c=^\\s{5}(F|L|I|O)).{68})))|(?\u003c=((?\u003c=^\\s{5}E).{51}))|(?\u003c=((?\u003c=^\\s{5}C).{53}))","end":"\n"},{"name":"comment.line.rpg","begin":"(?i)^.{5}.\\*","end":"\n"},{"name":"comment.line.rpg","begin":"[*]{2}.","end":"\n"}]},"constants":{"patterns":[{"name":"constant.language.rpg.h.datefmt","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{12}))(M|D|Y)"},{"name":"constant.language.rpg.h.datedit","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{13}))(\u0026)"},{"name":"constant.language.rpg.h.invprint","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{14}))(I|J|D)"},{"name":"constant.language.rpg.h.altseq","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{19}))(S|D)"},{"name":"constant.language.rpg.h.filetrans","match":"(?i)(?\u003c=((?\u003c=^.{5}H).{36}))(F)"},{"name":"constant.language.rpg.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{8})))(I|O|U|C)"},{"name":"constant.language.rpg.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{9})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpg.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})).{2})(E)"},{"name":"constant.language.rpg.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{1})(A|D)"},{"name":"constant.language.rpg.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})))(F|E)"},{"name":"constant.language.rpg.f.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{9})([0-9]|\\s){4}"},{"name":"constant.language.rpg.f.mode","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{8})(L)"},{"name":"constant.language.rpg.f.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{9})([0-9]|\\s){2}"},{"name":"constant.language.rpg.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{11})(A|P)"},{"name":"constant.language.rpg.f.organization","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{12})(I|T)"},{"name":"constant.language.rpg.f.ovind","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{13})(O([A-G]|V))"},{"name":"constant.language.rpg.f.extncode","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{19})(E|L)"},{"name":"constant.language.rpg.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{20})(WORKSTN|DISK|PRINTER|SPECIAL|SEQ)"},{"name":"constant.language.rpg.f.continuation","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{33})(K)"},{"name":"constant.language.rpg.f.addition","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{46})(A)"},{"name":"constant.language.rpg.f.condition","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{51})([U]([1-8]|C))"},{"name":"constant.language.rpg.fx.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(E|e).{11})(K)"},{"name":"constant.language.rpg.e.entriesrecord","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{26}))[\\s|0-9]{3}"},{"name":"constant.language.rpg.e.entriestable","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{29}))[\\s|0-9]{4}"},{"name":"constant.language.rpg.e.entrylen","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{33}))[\\s|0-9]{3}"},{"name":"constant.language.rpg.e.pblr","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{36}))(P|B|L|R)"},{"name":"constant.language.rpg.e.dec","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{37}))[0-9]"},{"name":"constant.language.rpg.e.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{38}))(A|D)"},{"name":"constant.language.rpg.e.len","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{45}))[\\s|0-9]{3}"},{"name":"constant.language.rpg.e.pblr","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{48}))(P|B|L|R)"},{"name":"constant.language.rpg.e.dec","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{49}))[0-9]"},{"name":"constant.language.rpg.e.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}E).{50}))(A|D)"},{"name":"constant.language.rpg.l.lineno","match":"(?i)(?\u003c=((?\u003c=^.{5}L).{8}))[0-9]{3}"},{"name":"constant.language.rpg.l.formlen","match":"(?i)(?\u003c=((?\u003c=^.{5}L).{11}))(FL)"},{"name":"constant.language.rpg.l.ovlineno","match":"(?i)(?\u003c=((?\u003c=^.{5}L).{13}))[0-9]{3}"},{"name":"constant.language.rpg.l.ovline","match":"(?i)(?\u003c=((?\u003c=^.{5}L).{16}))(OL)"},{"name":"constant.language.rpg.i.ds","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}I).{12}))(DS))(DS)"},{"name":"constant.language.rpg.i.ds.number","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}I).{9})).{3}(DS)).{1}(E)"},{"name":"constant.language.rpg.i.ds.option","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}I).{11})).{1}(DS))(S|U|I)"},{"name":"constant.language.rpg.i.constant","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{36}))C"},{"name":"constant.language.rpg.i.subfinit","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{0}))\\sI"},{"name":"constant.language.rpg.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{8}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpg.i.num","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))(1|N)"},{"name":"constant.language.rpg.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{11}))O"},{"name":"constant.language.rpg.i.recordid","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{12}))(([0-9]{2})|((L|H)[1-9])|(RT|\\*\\*)|(U[1-8]))"},{"name":"constant.language.rpg.i.id1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{14}))([\\s|0-9]{4})(\\s|1|N)(C|Z|D)(.)"},{"name":"constant.language.rpg.i.id2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{21}))([\\s|0-9]{4})(\\s|1|N)(C|Z|D)(.)"},{"name":"constant.language.rpg.i.id3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{28}))([\\s|0-9]{4})(\\s|1|N)(C|Z|D)(.)"},{"name":"constant.language.rpg.i.pblr","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{36}))(P|B|L|R)"},{"name":"constant.language.rpg.i.from","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{37}))(([0-9]|\\s){4})"},{"name":"constant.language.rpg.i.to","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{41}))(([0-9]|\\s){4})"},{"name":"constant.language.rpg.i.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{45}))([0-9])"},{"name":"constant.language.rpg.i.ctrl","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{52}))(L[1-9]|\\s)"},{"name":"constant.language.rpg.i.matching","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{54}))(M[1-9]|\\s)"},{"name":"constant.language.rpg.i.fldrcdrel","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{56}))((([0-9]|\\s){2})|((L|H)[1-9])|(MR|RT)|(U[1-8]))"},{"name":"constant.language.rpg.i.posfld","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{58}))((([0-9]|\\s){2})|(H[1-9])|(RT)|(U[1-8]))"},{"name":"constant.language.rpg.i.negfield","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{60}))((([0-9]|\\s){2})|(H[1-9])|(RT)|(U[1-8]))"},{"name":"constant.language.rpg.i.zeroblank","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{62}))((([0-9]|\\s){2})|(H[1-9])|(RT)|(U[1-8]))"},{"name":"constant.language.rpg.c.level","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{0}))((L([1-9]|O|R))|SR|AN|OR)"},{"name":"constant.language.rpg.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(L([1-9]|O|R))|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{5}))((N|\\s)(([0-9]{2})|(L([1-9]|O|R))|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{8}))((N|\\s)(([0-9]{2})|(L([1-9]|O|R))|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{42}))(([0-9]|\\s){3})"},{"name":"constant.language.rpg.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{45}))(([0-9]|\\s){1})"},{"name":"constant.language.rpg.c.opext","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{46}))(H|N|P)"},{"name":"constant.language.rpg.c.hi","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{47}))((i?)((([0-9]{2})|(L([1-9]|O|R)))|(K([A-MP-Y]))|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.lo","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{49}))((i?)((([0-9]{2})|(L([1-9]|O|R)))|(K([A-MP-Y]))|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.eq","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{51}))((i?)((([0-9]{2})|(L([1-9]|O|R)))|(K([A-MP-Y]))|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{8}))(H|D|T|E)"},{"name":"constant.language.rpg.o.adddel","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{9}))(ADD|DEL)"},{"name":"constant.language.rpg.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{16}))((\\s|N)?(([0-9]{2})|(K[A-GN-Y])|((H|L)([1-9]|R))|(MR|RT|1P)|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{19}))((\\s|N)?(([0-9]{2})|(K[A-GN-Y])|((H|L)([1-9]|R))|(MR|RT|1P)|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{22}))((\\s|N)?(([0-9]{2})|(K[A-GN-Y])|((H|L)([1-9]|R))|(MR|RT|1P)|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.editcode","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{31}))((([0-9])|A|B|C|D|J|K|L|M|N|O|P|Q|X|Y|Z))"},{"name":"constant.language.rpg.o.blankafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{32}))B"},{"name":"constant.language.rpg.o.endpos","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{33}))(((\\+|N)NNN)|\\s*(K([1-8]))|\\s*([0-9]){3})"},{"name":"constant.language.rpg.o.pblr","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{37}))(P|B|L|R)"},{"name":"constant.language.rpg.indicator","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.numeric.rpg","match":"\\b(([0-9]+)|([0-9]*[.][0-9]))\\b"},{"name":"constant.numeric.rpg","match":"(?i)(?\u003c=((?\u003c=^.{5}[C]).{26}))([0-9]+)"},{"name":"constant.language.rpg","match":"(?i)[*]\\b(INLR|BLANK|BLANKS|ZERO|ZEROS|HIVAL|LOVAL|ALL|ON|OFF|DATE|MONTH|DAY|YEAR|CANCL|DETC|DETL|GETIN|INIT|OFL|TERM|TOTC|TOTL|DEFN|ENTRY|INZSR|LDA|LIKE|LOCK|NAMVAR|OFF|ON|PDA|PSSR|FILE|EQUATE|PLACE)\\b"},{"name":"constant.language.rpg","match":"(?i)(UDATE|UMONTH|UDAY|UYEAR)"}]},"ctarrays":{"patterns":[{"name":"variable.other.rpg.ctarrays","begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpg.ctarray","begin":"(\\*{2})"}]}]},"gutter":{"patterns":[{"name":"comment.gutter","match":"^.{5}"}]},"keywords":{"patterns":[{"name":"keyword.other.rpg.precompiler.title","begin":"(?i)^.{5}(H)?[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpg.precompiler.title","match":".*"}]},{"name":"keyword.other.rpg.precompiler.copy","begin":"(?i)^.{5}(C|\\s)[/](COPY)\\s","end":"\n","patterns":[{"name":"string.other.rpg.precompiler.copy","begin":"\\S","end":"\\s"},{"name":"comment.other.rpg.precompiler.copy","match":".*"}]},{"name":"keyword.other.rpg.precompiler","begin":"(?i)^.{0,5}.(/)(EJECT|COPY|TITLE|SPACE)","end":"\n"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=^.{5})[H|F|E|L|I|C|O]"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=((?\u003c=^.{5}[C|c]).{21}))(IF|WH|DOW|DOU|DO|CAB|CAS|AND|OR)(GT|LT|EQ|NE|GE|LE)"},{"name":"keyword.other.rpg","match":"(:|\\,|\\-|\\+|\\.)"},{"name":"keyword.other.rpg","match":"(?i)(ENDDO|ENDIF|ENDCS|ENDSL)"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=((?\u003c=^.{5}[C|c]).{21}))(Z-SUB|Z-ADD|XLATE|XFOOT|WRITE|WH|UPDAT|UNLCK|TIME|TESTZ|TESTN|TESTB|TAG|SUBST|SUB|SQRT|SORTA|SHTDN|SETON|SETOF|SETLL|SETGT|SELEC|SCAN|ROLBK|RETRN|RESET|REL|REDPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|OCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MLLZO|MLHZO|MHLZO|MHHZO|LOKUP|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FREE|FORCE|FEOD|EXSR|EXFMT|EXCPT|ENDSR|END|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELET|DEFN|DEBUG|COMP|COMIT|CLOSE|CLEAR|CHEKR|CHECK|CHAIN|CAT|CAS|CALL|CAB|BITON|BITOF|BEGSR|AND|ADD|ACQ)"}]},"sql":{"patterns":[{"name":"variable.other.rpg.sql","begin":"(?i)(?=((?\u003c=^.{5}[C]))(\\/EXEC\\sSQL))","end":"(?i)(?=((?\u003c=^.{5}[C]))(\\/END\\-EXEC))","patterns":[{"name":"keyword.other.rpg.sql.precompiler","match":"(?i)((/)(EXEC\\s+SQL))"},{"name":"keyword.other.rpg.sql.c","match":"(?i)^.{5}[C]"},{"name":"variable.parameter.rpg.sql","match":"[:][a-zA-Z_][a-zA-Z0-9_]*"},{"include":"source.sql"},{"name":"variable.other.rpg.sql.identifier","match":"[a-zA-Z_][a-zA-Z0-9_]*"}]},{"name":"keyword.other.rpg.sql.precompiler","match":"(?i)(/END\\-EXEC)"}]},"strings":{"patterns":[{"name":"string.other.rpg.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.rpg","begin":"'","end":"(\n|')","patterns":[{"name":"constant.character.escape.rpg","match":"\\\\."}]}]}}}
1
+ {"name":"RPG","scopeName":"source.rpg","patterns":[{"include":"#ctarrays"},{"include":"#comments"},{"include":"#sql"},{"include":"#gutter"},{"include":"#sqlvariables"},{"include":"#constants"},{"include":"#keywords"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpg","begin":"(?i)(?\u003c=(?\u003c=^.{5}(F|L|I|O)).{68})|(?\u003c=(?\u003c=^.{5}E).{51})|(?\u003c=(?\u003c=^.{5}C).{53})","end":"\n"},{"name":"comment.line.rpg","begin":"(?i)^.{5}.\\*","end":"\n"}]},"constants":{"patterns":[{"name":"constant.language.rpg.h.datefmt","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{12})(M|D|Y)"},{"name":"constant.language.rpg.h.datedit","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{13})[^ ]"},{"name":"constant.language.rpg.h.currency","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{11})[^ 0*,.\u0026\\-CR]"},{"name":"constant.language.rpg.h.decnotation","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{14})(I|J|D)"},{"name":"constant.language.rpg.h.altseq","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{19})S"},{"name":"constant.language.rpg.h.filetrans","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{36})F"},{"name":"constant.language.rpg.h.debug","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{8})1"},{"name":"constant.language.rpg.h.formsalign","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{34})1"},{"name":"constant.language.rpg.h.transparency","match":"(?i)(?\u003c=(?\u003c=^.{5}H).{50})1"},{"name":"constant.language.rpg.f.type","match":"(?i)(?=(?\u003c=(?\u003c=^.{5}F).{8}))(I|O|U|C)"},{"name":"constant.language.rpg.f.designation","match":"(?i)(?=(?\u003c=(?\u003c=^.{5}F).{9}).{3})(P|S|R|T|F)"},{"name":"constant.language.rpg.f.eof","match":"(?i)(?=(?\u003c=(?\u003c=^.{5}F).{10}).{2})E"},{"name":"constant.language.rpg.f.sequence","match":"(?i)(?=(?\u003c=(?\u003c=^.{5}F).{11}).{1})(A|D)"},{"name":"constant.language.rpg.f.format","match":"(?i)(?=(?\u003c=(?\u003c=^.{5}F).{12}))(F|E)"},{"name":"constant.language.rpg.f.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{4})(?=[0-9 ]{0,3}[0-9])[0-9 ]{4}"},{"name":"constant.language.rpg.f.mode","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{8})L"},{"name":"constant.language.rpg.f.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f|E|e).{9})(?=[0-9 ]{0,1}[0-9])[0-9 ]{2}"},{"name":"constant.language.rpg.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{11})(A|P)"},{"name":"constant.language.rpg.f.organization","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{12})(I|T)"},{"name":"constant.language.rpg.f.ovind","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{13})(O([A-G]|V))"},{"name":"constant.language.rpg.f.extncode","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|f).{19})(E|L)"},{"name":"constant.language.rpg.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{20})(WORKSTN|PRINTER|SPECIAL|DISK|SEQ)"},{"name":"constant.language.rpg.f.continuation","match":"(?i)(?\u003c=^.{5}F.{46})K"},{"name":"constant.language.rpg.f.addition","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{46})A"},{"name":"constant.language.rpg.f.condition","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(F|E).{51})(U([1-8]|C))"},{"name":"constant.language.rpg.fx.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{8}).{4}(E|e).{11})K"},{"name":"support.function.rpg.f.option","match":"(?i)(?\u003c=(?\u003c=^.{5}F).{46}K)(COMIT|IGNORE|INFDS|INFSR|PRTCTL|RENAME|RECNO|SAVDS|SFILE|PLIST|PASS|NUM|IND|ID|SLN)"},{"name":"constant.language.rpg.e.entriesrecord","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{26})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpg.e.entriestable","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{29})(?=[0-9 ]{0,3}[0-9])[0-9 ]{4}"},{"name":"constant.language.rpg.e.entrylen","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{33})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpg.e.pblr","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{36})(P|B|L|R)"},{"name":"constant.language.rpg.e.dec","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{37})[0-9]"},{"name":"constant.language.rpg.e.seq","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{38})(A|D)"},{"name":"constant.language.rpg.e.len","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{45})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpg.e.altpblr","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{48})(P|B|L|R)"},{"name":"constant.language.rpg.e.altdec","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{49})[0-9]"},{"name":"constant.language.rpg.e.altseq","match":"(?i)(?\u003c=(?\u003c=^.{5}E).{50})(A|D)"},{"name":"constant.language.rpg.l.lineno","match":"(?i)(?\u003c=(?\u003c=^.{5}L).{8})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpg.l.formlen","match":"(?i)(?\u003c=(?\u003c=^.{5}L).{11})FL"},{"name":"constant.language.rpg.l.ovlineno","match":"(?i)(?\u003c=(?\u003c=^.{5}L).{13})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpg.l.ovline","match":"(?i)(?\u003c=(?\u003c=^.{5}L).{16})OL"},{"name":"constant.language.rpg.i.ds","match":"(?i)(?=(?\u003c=(?\u003c=^.{5}I).{12})(DS))(DS)"},{"name":"constant.language.rpg.i.ds.number","match":"(?i)(?=(?\u003c=(?\u003c=^.{5}I).{9}).{3}(DS)).{1}E"},{"name":"constant.language.rpg.i.ds.option","match":"(?i)(?=(?\u003c=(?\u003c=^.{5}I).{11}).{1}(DS))(S|U|I)"},{"name":"constant.language.rpg.i.constant","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{36})C"},{"name":"constant.language.rpg.i.subfinit","match":"(?i)(?\u003c=^.{5}I)\\sI"},{"name":"constant.language.rpg.i.logical","match":"(?i)(?\u003c=^.{5}I\\s{7})(AND|OR)"},{"name":"constant.language.rpg.i.seq","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{8})[A-Za-z0-9]{2}"},{"name":"constant.language.rpg.i.num","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{10})(1|N)"},{"name":"constant.language.rpg.i.option","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{11})O"},{"name":"constant.language.rpg.i.recordid","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{12})(([0-9]{2})|((L|H)[1-9])|LR|(U[1-8])|RT|(\\*\\*))"},{"name":"constant.language.rpg.i.id1","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{14})([0-9 ]{4})(\\s|1|N)(C|Z|D)(.|$)"},{"name":"constant.language.rpg.i.id2","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{21})([0-9 ]{4})(\\s|1|N)(C|Z|D)(.|$)"},{"name":"constant.language.rpg.i.id3","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{28})([0-9 ]{4})(\\s|1|N)(C|Z|D)(.|$)"},{"name":"constant.language.rpg.i.pblr","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{36})(P|B|L|R)"},{"name":"constant.language.rpg.i.from","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{37})(?=[0-9 ]{0,3}[0-9])[0-9 ]{4}"},{"name":"constant.language.rpg.i.to","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{41})(?=[0-9 ]{0,3}[0-9])[0-9 ]{4}"},{"name":"constant.language.rpg.i.decpos","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{45})[0-9]"},{"name":"constant.language.rpg.i.ctrl","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{52})L[1-9]"},{"name":"constant.language.rpg.i.matching","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{54})M[1-9]"},{"name":"constant.language.rpg.i.fldrcdrel","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{56})(([0-9]{2})|((L|H)[1-9])|MR|RT|(U[1-8]))"},{"name":"constant.language.rpg.i.posfld","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{58})(([0-9]{2})|(H[1-9])|(U[1-8])|RT)"},{"name":"constant.language.rpg.i.negfield","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{60})(([0-9]{2})|(H[1-9])|(U[1-8])|RT)"},{"name":"constant.language.rpg.i.zeroblank","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{62})(([0-9]{2})|(H[1-9])|(U[1-8])|RT)"},{"name":"constant.language.rpg.c.level","match":"(?i)(?\u003c=^.{5}C)((L([0-9]|R))|SR|AN|OR)"},{"name":"constant.language.rpg.c.n01","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{2})((N|\\s)(([0-9]{2})|(L[1-9])|LR|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.n02","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{5})((N|\\s)(([0-9]{2})|(L[1-9])|LR|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.n03","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{8})((N|\\s)(([0-9]{2})|(L[1-9])|LR|(K[A-NP-Y])|MR|RT|(H[1-9])|(O([A-G]|V))|(U[1-8])))"},{"name":"constant.language.rpg.c.len","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{42})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpg.c.decpos","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{45})[0-9]"},{"name":"constant.language.rpg.c.opext","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{46})(H|N|P)"},{"name":"constant.language.rpg.c.hi","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{47})(([0-9]{2})|(L[1-9])|LR|(K[A-NP-Y])|RT|(H[1-9])|(O([A-G]|V))|(U[1-8]))"},{"name":"constant.language.rpg.c.lo","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{49})(([0-9]{2})|(L[1-9])|LR|(K[A-NP-Y])|RT|(H[1-9])|(O([A-G]|V))|(U[1-8]))"},{"name":"constant.language.rpg.c.eq","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{51})(([0-9]{2})|(L[1-9])|LR|(K[A-NP-Y])|RT|(H[1-9])|(O([A-G]|V))|(U[1-8]))"},{"name":"constant.language.rpg.o.logical","match":"(?i)(?\u003c=^.{5}O\\s{7})(AND|OR)"},{"name":"constant.language.rpg.o.type","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{8})(H|D|T|E)"},{"name":"constant.language.rpg.o.adddel","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{9})(ADD|DEL)"},{"name":"constant.language.rpg.o.fetch","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{9})(F|R)"},{"name":"constant.language.rpg.o.n01","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{16})((\\s|N)?(([0-9]{2})|(K[A-NP-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.n02","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{19})((\\s|N)?(([0-9]{2})|(K[A-NP-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.n03","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{22})((\\s|N)?(([0-9]{2})|(K[A-NP-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O([A-G]|V))))"},{"name":"constant.language.rpg.o.editcode","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{31})([1-9]|A|B|C|D|J|K|L|M|N|O|P|Q|X|Y|Z)"},{"name":"constant.language.rpg.o.blankafter","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{32})B"},{"name":"constant.language.rpg.o.endpos","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{33})(([+\\-][0-9 ]{3})|([ ]{0,2}K[1-8])|((?=[0-9 ]{0,3}[0-9])[0-9 ]{4}))"},{"name":"constant.language.rpg.o.pblr","match":"(?i)(?\u003c=(?\u003c=^.{5}O).{37})(P|B|L|R)"},{"name":"constant.language.rpg.indicator","match":"(?i)\\*IN(,?)(([0-9]{2})|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(K[A-NP-Y])|(O([A-G]|V)))?\\b"},{"name":"constant.numeric.rpg","match":"(?i)(?\u003c=^.{5}I\\s{14})[+\\-]?[0-9]+(\\.[0-9]+)?-?"},{"name":"constant.numeric.rpg","match":"\\b[0-9]+(\\.[0-9]+)?\\b"},{"name":"constant.numeric.rpg","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{11})[+\\-]?[0-9]+(\\.[0-9]+)?"},{"name":"constant.numeric.rpg","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{26})[+\\-]?[0-9]+(\\.[0-9]+)?"},{"name":"constant.language.rpg","match":"(?i)\\*(BLANKS|BLANK|ZEROS|ZERO|HIVAL|LOVAL|ALLX|ALL|ON|OFF|DATE|MONTH|DAY|YEAR|CANCL|DETC|DETL|GETIN|INIT|OFL|TERM|TOTC|TOTL|DEFN|ENTRY|INZSR|LDA|LIKE|LOCK|NAMVAR|PDA|PSSR|FILE|OPCODE|PARMS|PROGRAM|RECORD|ROUTINE|STATUS|EQUATE|PLACE|NOKEY|EXT)\\b"},{"name":"constant.language.rpg","match":"(?i)(?:(?\u003c![A-Za-z0-9#@$])|(?\u003c=^.{17})|(?\u003c=^.{31})|(?\u003c=^.{32})|(?\u003c=^.{42}))(UDATE|UMONTH|UDAY|UYEAR|PAGE[1-7]|PAGE)(?![A-Za-z0-9#@$])"}]},"ctarrays":{"patterns":[{"name":"variable.other.rpg.ctarrays","begin":"(?=^(\\*{2})(?!free))","end":"(?!x)x","patterns":[{"name":"string.other.rpg.ctarray","begin":"(\\*{2})"}]}]},"gutter":{"patterns":[{"name":"comment.gutter","match":"^.{5}"}]},"keywords":{"patterns":[{"name":"keyword.other.rpg.precompiler.title","begin":"(?i)(?\u003c=^.{5}.)[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpg.precompiler.title","match":".*"}]},{"name":"keyword.other.rpg.precompiler.copy","begin":"(?i)(?\u003c=^.{5}.)[\\/](COPY)\\s","end":"\n","patterns":[{"name":"string.other.rpg.precompiler.copy","begin":"\\S","end":"\\s"},{"name":"comment.other.rpg.precompiler.copy","match":".*"}]},{"name":"keyword.other.rpg.precompiler","begin":"(?i)(?\u003c=^.{5}.)(/)(SPACE)","end":"\n","patterns":[{"name":"constant.numeric.rpg","match":"[0-9]+"}]},{"name":"keyword.other.rpg.precompiler","begin":"(?i)(?\u003c=^.{5}.)(/)(EJECT|COPY|TITLE|SPACE)","end":"\n"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=^.{5})[HFELICO]"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{21})(IF|WH|DOW|DOU|CAB|CAS|AND|OR)(GT|LT|EQ|NE|GE|LE)"},{"name":"keyword.other.rpg","match":"(:|\\,|\\-|\\+|\\.)"},{"name":"keyword.other.rpg","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{21})(Z-SUB|Z-ADD|XLATE|XFOOT|WRITE|WH|UPDAT|UNLCK|TIME|TESTZ|TESTN|TESTB|TAG|SUBST|SUB|SQRT|SORTA|SHTDN|SETON|SETOF|SETLL|SETGT|SELEC|SCAN|ROLBK|RETRN|RESET|REL|REDPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|OCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MLLZO|MLHZO|MHLZO|MHHZO|LOKUP|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FREE|FORCE|FEOD|EXSR|EXFMT|EXCPT|ENDSR|ENDSL|ENDIF|ENDDO|ENDCS|END|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELET|DEFN|DEBUG|COMP|COMIT|CLOSE|CLEAR|CHEKR|CHECK|CHAIN|CAT|CAS|CALL|CAB|BITON|BITOF|BEGSR|AND|ADD|ACQ)"}]},"sql":{"patterns":[{"name":"variable.other.rpg.sql","begin":"(?i)(?=(?\u003c=^.{5}C)(\\/EXEC\\sSQL))","end":"(?i)(?=(?\u003c=^.{5}C)(\\/END\\-EXEC))","patterns":[{"name":"keyword.other.rpg.sql.precompiler","match":"(?i)(\\/)(EXEC\\s+SQL)"},{"include":"#gutter"},{"name":"keyword.other.rpg.sql.c","match":"(?i)(?\u003c=^.{5})C[+]?"},{"include":"#sqlcommon"}]},{"name":"keyword.other.rpg.sql.precompiler","match":"(?i)(\\/END\\-EXEC)"}]},"sqlcommon":{"patterns":[{"name":"comment.line.rpg.sql","match":"--.*"},{"name":"constant.language.rpg.sql.globals","match":"(?i)\\b(CLIENT_HOST|CLIENT_IPADDR|CLIENT_PORT|JOB_NAME|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PROCESS_ID|ROUTINE_SCHEMA|ROUTINE_SPECIFIC_NAME|ROUTINE_TYPE|SERVER_MODE_JOB_NAME|THREAD_ID)\\b"},{"name":"support.function.rpg.sql","match":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*(?=\\()"},{"name":"constant.language.rpg.sql.schema","match":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*(\\.|\\/)[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*"},{"name":"variable.parameter.rpg.sql","match":"[:][a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*"},{"name":"string.other.rpg.sql.hex","match":"(?i)x'[^']*'"},{"name":"string.quoted.single.rpg.sql","match":"'[^']*'"},{"name":"keyword.operator.rpg.sql.reserved","match":"(?i)\\b(ZONE|YES|YEARS|YEAR|XSROBJECT|XSLTRANSFORM|XMLVALIDATE|XMLTEXT|XMLTABLE|XMLSERIALIZE|XMLROW|XMLPI|XMLPARSE|XMLNAMESPACES|XMLGROUP|XMLFOREST|XMLELEMENT|XMLDOCUMENT|XMLCONCAT|XMLCOMMENT|XMLCAST|XMLATTRIBUTES|XMLAGG|WRKSTNNAME|WRITE|WRAPPER|WRAPPED|WITHOUT|WITHIN|WITH|WHILE|WHERE|WHENEVER|WHEN|WAIT|VOLATILE|VIEW|VERSIONING|VERSION|VCAT|VARIANT|VARIABLE|VALUES|VALUE|USING|USERID|USER|USE|USAGE|URI|UPDATING|UPDATE|UNTIL|UNNEST|UNKNOWN|UNIT|UNIQUE|UNION|UNDO|TYPE|TRY_CAST|TRUNCATE|TRUE|TRIM_ARRAY|TRIM|TRIGGER|TRANSFER|TRANSACTION|TO|TIMESTAMP|TIME|THREADSAFE|THEN|TAG|TABLESPACES|TABLESPACE|TABLE|SYSTEM_USER|SYSTEM_TIME|SYNONYM|SUMMARY|SUBSTRING|STOGROUP|STATIC|STATEMENT|STARTING|START|STACKED|SQLWARNING|SQLIND_UNASSIGNED|SQLIND_DEFAULT|SQLID|SQLERROR|SQL|SPECIFIC|SOURCE|SOME|SNAN|SKIP|SIMPLE|SIGNAL|SET|SESSION_USER|SESSION|SEQUENCE|SENSITIVE|SELECT|SECURED|SECQTY|SECONDS|SECOND|SEARCH|SCROLL|SCRATCHPAD|SCHEMA|SCALAR|SBCS|SAVEPOINT|RUN|RRN|ROW_NUMBER|ROWS|ROWNUMBER|ROW|ROUTINE|ROLLUP|ROLLBACK|RIGHT|RID|REVOKE|RETURNS|RETURNING|RETURN|RESULT_SET_LOCATOR|RESULT|RESTRICT|RESTART|RESIGNAL|RESET|REPEAT|RENAME|RELEASE|REGEXP_LIKE|REFRESH|REFERENCING|REFERENCES|RECOVERY|READS|READ|RCDFMT|RATIO_TO_REPORT|RANK|RANGE|QUERY|PROGRAMID|PROGRAM|PROCEDURE|PRIVILEGES|PRIQTY|PRIOR|PRIMARY|PREVVAL|PREPARE|POSITION|PLAN|PIPE|PIECESIZE|PERMISSION|PERIOD|PERCENT_RANK|PERCENTILE_DISC|PERCENTILE_CONT|PCTFREE|PATH|PASSWORD|PASSING|PARTITIONS|PARTITIONING|PARTITIONED|PARTITION|PART|PARAMETER|PAGESIZE|PAGE|PADDED|PACKAGE|OVERRIDING|OVERLAY|OVER|OUTER|OUT|ORGANIZE|ORDINALITY|ORDER|OR|OPTION|OPTIMIZE|OPEN|ONLY|ON|OMIT|OLD_TABLE|OLD|OFFSET|OFF|OF|OBJECT|OBID|NVARCHAR|NULLS|NULL|NTILE|NTH_VALUE|NOTNULL|NOT|NORMALIZED|NOORDER|NONE|NOMINVALUE|NOMAXVALUE|NODENUMBER|NODENAME|NOCYCLE|NOCACHE|NO|NEXTVAL|NEW_TABLE|NEW|NESTED|NCLOB|NCHAR|NATIONAL|NAN|NAMESPACE|MONTHS|MONTH|MODIFIES|MODE|MIXED|MIRROR|MINVALUE|MINUTES|MINUTE|MINPCTUSED|MICROSECONDS|MICROSECOND|MERGE|MAXVALUE|MATERIALIZED|MATCHED|MASK|MAINTAINED|LOOP|LONG|LOGGED|LOG|LOCKSIZE|LOCK|LOCATOR|LOCATION|LOCALTIMESTAMP|LOCALTIME|LOCALDATE|LOCAL|LISTAGG|LINKTYPE|LIMIT|LIKE|LEVEL2|LEFT|LEAVE|LEAD|LATERAL|LAST_VALUE|LANGUAGE|LAG|LABEL|KEYS|KEY|KEEP|JSON_VALUE|JSON_TABLE|JSON_QUERY|JSON_OBJECTAGG|JSON_OBJECT|JSON_EXISTS|JSON_ARRAYAGG|JSON_ARRAY|JSON|JOIN|JAVA|ITERATE|ISOLATION|ISNULL|IS|INTO|INTERSECT|INTERPRET|INTEGRITY|INSERTING|INSERT|INSENSITIVE|INOUT|INNER|INLINE|INHERIT|INFINITY|INF|INDICATOR|INDEXBP|INDEX|INCREMENT|INCLUSIVE|INCLUDING|INCLUDE|IN|IMPLICITLY|IMMEDIATE|IGNORE|IF|IDENTITY|ID|HOURS|HOUR|HOLD|HINT|HAVING|HASH_ROW|HASHED_VALUE|HASH|HANDLER|GROUP|GRAPHIC|GRANT|GOTO|GO|GLOBAL|GET|GENERATED|GENERAL|GBPCACHE|FUNCTION|FULL|FROM|FREEPAGE|FREE|FOUND|FORMAT|FOREIGN|FOR|FIRST_VALUE|FINAL|FILE|FIELDPROC|FETCH|FENCED|FALSE|EXTRACT|EXTERNAL|EXTEND|EXIT|EXISTS|EXECUTE|EXCLUSIVE|EXCLUDING|EXCEPTION|EXCEPT|EVERY|ESCAPE|ERROR|ENFORCED|ENDING|END|ENCRYPTION|ENCODING|ENABLE|EMPTY|ELSEIF|ELSE|EACH|DYNAMIC|DROP|DOUBLE|DOCUMENT|DO|DISTINCT|DISCONNECT|DISALLOW|DISABLE|DIAGNOSTICS|DETERMINISTIC|DETACH|DESCRIPTOR|DESCRIBE|DESC|DENSE_RANK|DENSERANK|DELETING|DELETE|DEFINITION|DEFINE|DEFER|DEFAULTS|DEFAULT|DECLARE|DEALLOCATE|DEACTIVATE|DBPARTITIONNUM|DBPARTITIONNAME|DBINFO|DB2SQL|DB2GENRL|DB2GENERAL|DAYS|DAY|DATE|DATAPARTITIONNUM|DATAPARTITIONNAME|DATABASE|DATA|CYCLE|CURSOR|CURRENT_USER|CURRENT_TIMEZONE|CURRENT_TIMESTAMP|CURRENT_TIME|CURRENT_SERVER|CURRENT_SCHEMA|CURRENT_PATH|CURRENT_DATE|CURRENT|CUME_DIST|CUBE|CROSS|CREATEIN|CREATE|COUNT_BIG|COUNT|COPY|CONTINUE|CONTENT|CONTAINS|CONSTRAINT|CONSTANT|CONNECT_BY_ROOT|CONNECTION|CONNECT|CONDITION|CONCURRENT|CONCAT|COMPRESS|COMPARISONS|COMPACT|COMMIT|COMMENT|COLUMN|COLLECTION|COLLECT|CLUSTER|CLOSE|CL|CHECK|CHARACTER|CHAR|CCSID|CAST|CASE|CARDINALITY|CALLED|CALL|CACHE|BY|BUFFERPOOL|BSON|BOOLEAN|BIT|BIND|BINARY|BETWEEN|BEGIN|BEFORE|AUTONOMOUS|AUTHORIZATION|ATTRIBUTES|ATTACH|ATOMIC|AT|ASSOCIATE|ASENSITIVE|ASC|AS|ARRAY_TRIM|ARRAY_AGG|ARRAY|APPLNAME|APPEND|ANY|AND|ALTER|ALLOW|ALLOCATE|ALL|ALIAS|ADD|ACTIVATE|ACTION|ACCTNG|ACCORDING|ABSENT)\\b"},{"include":"#sqlvariables"},{"name":"constant.numeric.rpg.sql","match":"\\b[0-9]+(\\.[0-9]+)?\\b"},{"name":"keyword.operator.rpg.sql","match":"(\\|\\||\\*\\*|\u003c\u003e|\u003c=|\u003e=|[¬!][=\u003c\u003e]|[=\u003c\u003e+\\-*/])"}]},"sqlvariables":{"patterns":[{"name":"variable.language.rpg.sql","match":"(?i)(SQLWRN|SQLWNA|SQLWN9|SQLWN8|SQLWN7|SQLWN6|SQLWN5|SQLWN4|SQLWN3|SQLWN2|SQLWN1|SQLWN0|SQLWARN|SQLSTT|SQLSTATE|SQLCODE|SQLCOD|SQLERRP|SQLERRML|SQLERRMC|SQLERRD|SQLERR|SQLERP|SQLERM|SQLERL|SQLER6|SQLER5|SQLER4|SQLER3|SQLER2|SQLER1)"}]},"strings":{"patterns":[{"name":"string.other.rpg.hex","begin":"(?i)(?\u003c=^.{5}I\\s{14})x'","end":"'|(?\u003c=^.{5}I.{36})"},{"name":"string.quoted.single.rpg","begin":"(?\u003c=^.{5}I\\s{14})'","end":"'|(?\u003c=^.{5}I.{36})"},{"name":"string.other.rpg.hex","begin":"(?i)x'","end":"(\\n|')"},{"name":"string.quoted.single.rpg","begin":"'","end":"(\n|')"}]}}}
@@ -1 +1 @@
1
- {"name":"RPGLE","scopeName":"source.rpgle","patterns":[{"name":"rpgle.free.allfree","begin":"(?i)(?=(\\*\\*(FREE)))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"keyword.other.rpgle.free.precompiler.allfree","match":"(?i)^\\*\\*FREE"},{"include":"#ctarrays"},{"include":"#freeSQL"},{"include":"#rpglecommon"},{"include":"#freeformat"}]},{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"include":"#tempfreeformat"},{"include":"#fixedSQL"},{"include":"#freeSQL"},{"include":"#precompiler"},{"include":"#ctarrays"},{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"include":"#fixedformat"},{"include":"#freeformat"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpgle.free","match":"(//).*"}]},"constants":{"patterns":[{"name":"constant.language.rpgle.indicator","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.language.rpgle","match":"[*][a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.numeric.rpgle","match":"\\b\\d+\\.?\\d*?\\b"}]},"ctarrays":{"patterns":[{"begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpgle.ctarray","begin":"^(\\*{2}(\\ |CTDATA))"}]}]},"fixedSQL":{"patterns":[{"begin":"(?i)(?=(^.{5}(C)(\\/EXEC)\\s+(SQL)\\b))","end":"(?i)(?=(^.{5}(C)(\\/END\\-EXEC)\\b))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(C)(\\/EXEC)\\s+(sql)\\b"},{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(C[\\+|\\/])"},{"include":"#sqlcommon"}]},{"name":"keyword.other.rpgle.sql","match":"(?i)(\\/END\\-EXEC)"}]},"fixedcomment":{"patterns":[{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"name":"comment.gutter","match":"^.{5}"},{"name":"comment.block.line.rpgle.fixed","begin":"(?i)(?\u003c=((?\u003c=^.{5}((H|F|D|I|C|O|P))).{74}))","end":"\n"}]},"fixedformat":{"patterns":[{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"},{"name":"rpgle.fixed.h","begin":"(?i)(?\u003c=^.{5}H)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"entity.name.function.rpgle.fixed.h.keywords","match":"\\b(?i)(VALIDATE|USRPRF|TIMFMT|THREAD|TEXT|SRTSEQ|PRFDTA|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECEDIT|DEBUG|DATFMT|DATEDIT|CVTOPT|DCLOPT|CURSYM|COPYRIGHT|CCSIDCVT|CCSID|COPYNEST|BNDDIR|AUT|ALWNULL|ALTSEQ|ALLOC|ACTGRP)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.f","begin":"(?i)(?\u003c=^.{5}F)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})))(I|O|U|C)"},{"name":"constant.language.rpgle.fixed.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpgle.fixed.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})).{2})E"},{"name":"constant.language.rpgle.fixed.f.addition","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{13})).{2})A"},{"name":"constant.language.rpgle.fixed.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{14})).{2})(A|D)"},{"name":"constant.language.rpgle.fixed.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{15})).{2})(E|F)"},{"name":"constant.language.rpgle.fixed.fi.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F)([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.limitproc","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{5})L"},{"name":"constant.language.rpgle.fixed.fi.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F).{6})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{11})(A|D|F|G|K|P|T|Z)"},{"name":"constant.language.rpgle.fixed.fi.fileorg","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F.{12})(?i)(I|T)"},{"name":"constant.language.rpgle.fixed.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{13})(PRINTER|DISK|WORKSTN|SPECIAL|SEQ)"},{"name":"entity.name.function.rpgle.fixed.f","match":"\\b(?i)(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.d","begin":"(?i)(?\u003c=^.{5}D)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"string.quoted.single.rpgle.fixed","begin":"'","end":"'","patterns":[{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"}]},{"name":"variable.other.rpgle.fixed.d.extended.name","match":"(?i)(?\u003c=^.{5}D).[a-zA-Z_][a-zA-Z0-9_]{1,71}[.]{3}"},{"name":"constant.language.rpgle.fixed.d.external","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{15}))E"},{"name":"constant.language.rpgle.fixed.d.dstype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{16}))(S|U)"},{"name":"constant.language.rpgle.fixed.d.dectype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{17}))(DS|PI|PR|(S\\s)|(C\\s))"},{"name":"constant.language.rpgle.fixed.d.from","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{21}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.d.to","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{26}))((\\+|\\-|\\s)(([0-9]|\\s){6}))"},{"name":"constant.language.rpgle.fixed.d.datatype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{33}))(A|B|D|F|G|I|N|P|S|T|U|Z|\\*)"},{"name":"constant.language.rpgle.fixed.d.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{34}))([0-9]|\\s){2}"},{"name":"entity.name.function.rpgle.fixed.d.keywords","match":"\\b(?i)(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|RTNPARM|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PERRCD|PACKEVEN|PACKED|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.i","begin":"(?i)(?\u003c=^.{5}I)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpgle.fixed.i.number","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{12}))N"},{"name":"constant.language.rpgle.fixed.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{13}))O"},{"name":"constant.language.rpgle.fixed.i.recordid","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{14}))(([0-9]{2})|((H|L)([1-9]))|(RT)|((U)([1-8]))|(\\*\\*))"},{"name":"constant.language.rpgle.fixed.i.pos1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{16}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{21}))N"},{"name":"constant.language.rpgle.fixed.i.czd1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{22}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{23}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{24}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{29}))N"},{"name":"constant.language.rpgle.fixed.i.czd2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{30}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{31}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{32}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{37}))N"},{"name":"constant.language.rpgle.fixed.i.czd3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{38}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{39}))([A-Z0-9])"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.c","begin":"(?i)(?\u003c=^.{5}C)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.c.ctrl","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{0}))((L[0-9])|LR|SR|AN)"},{"name":"constant.language.rpgle.fixed.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV))"},{"name":"keyword.other.rpgle.fixed.c.extfactor2","begin":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))((\\s{10})|CALLP|WHEN\\s{2}|RETURN|ON-ERROR|IF\\s{2}|FOR|EVALR|EVAL|ELSEIF|DOW\\s{2}|DOU\\s{2})","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)(AND|COMP|CAB|CAS|DOU|DOW|FOR|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"variable.other","match":"((?i)[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*)|\\(|\\)|\\%"}]},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)\\b(AND|COMP|CAB|CAS|DOU|DOW|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"keyword.other.rpgle.fixed.c.operation","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDUR|SUB|SQRT|SORTA|SND\\-MSG|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-EXCP|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDSR|ENDSL|ENDMON|ENDIF|ENDFOR|ENDDO|ENDCS|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|DATA-GEN|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)"},{"name":"constant.language.rpgle.fixed.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{57}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{62}))([0-9]|\\s){2}"},{"name":"constant.language.rpgle.fixed.c.hi","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{64}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.lo","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{66}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.eq","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{68}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"}]},{"name":"rpgle.fixed.o","begin":"(?i)(?\u003c=^.{5}O)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{10}))(H|D|T|E)"},{"name":"constant.language.rpgle.fixed.o.fetch","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{11}))(F|R)"},{"name":"constant.language.rpgle.fixed.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{14}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{17}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{20}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.spacebefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{33}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.spaceafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{36}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipbefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{39}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{42}))([0-9]|\\s){3}"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.p","begin":"(?i)(?\u003c=^.{5}P)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.p.beginend","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{17}))(B|E)"},{"name":"entity.name.function.rpgle.fixed.p.keywords","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{37}))(SERIALIZE|REQPROTO|PGMINFO|EXPORT)"},{"include":"#rpglecommon"}]}]},"freeSQL":{"patterns":[{"begin":"(?i)(?=(^\\s*(EXEC)\\s+(SQL)\\b))","end":"(?=(;))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(EXEC)\\s+(SQL)\\b"},{"include":"#sqlcommon"}]},{"name":"comment.line.rpgle.sql","match":"(?\u003c=(;))\\s*.*"},{"name":"rpgle.free.sql.end","match":";"}]},"freedefkeywords":{"patterns":[{"name":"entity.name.function.rpgle.free.definition.keywords","match":"(?i)\\b(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|SQLTYPE|SAMEPOS|RTNPARM|REQPROTO|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PGMINFO|PERRCD|PACKEVEN|PACKED|OVERLOAD|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NULLIND|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"}]},"freeformat":{"patterns":[{"name":"rpgle.free.control","begin":"(?i)\\b(?=CTL\\-OPT)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.control","match":"(?i)\\b(CTL\\-OPT)\\b"},{"name":"entity.name.function.rpgle.free.control.keywords","match":"(?i)\\b(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DATFMT|DATEYY|DATEDIT|DCLOPT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CHARCOUNTTYPES|CHARCOUNT|CCSIDCVT|CCSID|BNDDIR|AUT|ALWNULL|ALTSEQ|ACTGRP|ALLOC)\\b"}]},{"name":"rpgle.free.file","begin":"(?i)\\b(?=DCL\\-F)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.file","match":"(?i)\\b(DCL\\-F)\\b"},{"name":"entity.name.function.rpgle.free.file.keywords","match":"(?i)\\b(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"}]},{"name":"storage.type.rpgle.free.definition.subr","match":"(?i)\\b(BEG|END)SR\\b"},{"name":"rpgle.free.definition.simple","begin":"(?i)(?=(\\b(DCL\\-)(S|C|PARM|SUBF)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.simple","match":"(?i)\\b(DCL\\-)(S|C|PARM|SUBF)\\b"},{"include":"#freeidentifiers"},{"name":"comment.line.rpgle.free","match":"(//).*"}]},{"name":"rpgle.free.definition.complex","begin":"(?i)(?=(\\b(DCL\\-)(DS|ENUM|PROC|PR|PI)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(DCL\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"},{"name":"variable.other.rpgle.free.definition.identifier","match":"\\b[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*\\b"}]},{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"name":"keyword.other.rpgle.free","match":"(?i)(?\u003c![A-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ])(ACQ|ADDUR|ALLOC|AND|BEGSR|CALLP|CHAIN|CLEAR|CLOSE|COMMIT|DATA\\-GEN|DATA\\-INTO|DEALLOC|DELETE|DOU|DOW|DSPLY|DUMP|ELSEIF|ELSE|ENDDO|ENDFOR|ENDIF|ENDMON|ENDSL|ENDSR|EVAL\\-CORR|EVALR|EVAL|EXCEPT|EXFMT|EXSR|FEOD|FOR\\-EACH|FOR|FORCE|IF|IN|ITER|LEAVESR|LEAVE|MONITOR|NEXT|ON\\-ERROR|ON\\-EXCP|ON\\-EXIT|OPEN|OR|OTHER|OUT|POST|READC|READE|READP|READPE|READ|REL|RESET|RETURN|ROLBK|SELECT|SETGT|SETLL|SHTDN|SND\\-MSG|SORTA|TEST|UNLOCK|UPDATE|WHEN\\-IN|WHEN\\-IS|WHEN|WRITE|XML\\-INTO|XML\\-SAX)(?![-A-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ])"},{"include":"#freeidentifiers"},{"include":"#rpglecommon"}]},"freeidentifiers":{"patterns":[{"name":"variable.other.rpgle.free.definition.identifier","begin":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*","end":"(?=\n)","patterns":[{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]}]},"keywords":{"patterns":[{"name":"keyword.operator.rpgle","match":"\\*{1,2}(=)?|=|\u003c\u003e|((\u003c|\u003e|\\+|\\-|\\/)(=)?)"},{"name":"keyword.other.rpgle","match":":|\\.|\\,|((\\b(?i)(TO|BY|DOWNTO|IN|AND|OR|NOT)\\b))"},{"name":"support.function.rpgle.bif","match":"[%](?i)(YEARS|XML|XLATE|XFOOT|UPPER|UNSH|UNS|UCS2|TRIMR|TRIML|TRIM|TLOOKUPLT|TLOOKUPLE|TLOOKUPGT|TLOOKUPGE|TLOOKUP|TIMESTAMP|TIME|THIS|TARGET|SUBST|SUBDT|SUBARR|STR|STATUS|SQRT|SPLIT|SIZE|SHTDN|SECONDS|SCANRPL|SCANR|SCAN|RIGHT|REPLACE|REM|REALLOC|RANGE|PROC|PASSED|PARSER|PARMNUM|PARMS|PADDR|OPEN|OMITTED|OCCUR|NULLIND|MSG|MSECONDS|MONTHS|MINUTES|MINARR|MIN|MAXARR|MAX|LOWER|LOVAL|LOOKUPLT|LOOKUPLE|LOOKUPGT|LOOKUPGE|LOOKUP|LIST|LEN|LEFT|KDS|INTH|INT|HOURS|HIVAL|HANDLER|GRAPH|GEN|FOUND|FLOAT|FIELDS|ERROR|EQUAL|EOF|ELEM|EDITW|EDITFLT|EDITC|DIV|DIFF|DECPOS|DECH|DEC|DAYS|DATE|DATA|CONCATARR|CONCAT|CHECKR|CHECK|CHARCOUNT|CHAR|BITXOR|BITOR|BITNOT|BITAND|ALLOC|ADDR|ABS)"}]},"precompiler":{"patterns":[{"name":"rpgle.fixed.precompiler.title","begin":"(?i)(?\u003c=^.{5})(H|F|D|I|C|O|P|\\s)(\\/TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.fixed.precompiler.title","match":".*"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.title"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.title"}}},{"name":"rpgle.free.precompiler.title","begin":"(?i)^\\s*(\\/TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.free.precompiler.title","match":".*"}],"beginCaptures":{"1":{"name":"keyword.control.rpgle.free.precompiler.title"}}},{"name":"rpgle.fixed.precompiler.include","begin":"(?i)(?\u003c=^.{5})(H|F|D|I|C|O|P|\\s)(\\/(INCLUDE|COPY))\\s","end":"\n","patterns":[{"name":"string.other.rpgle.precompiler.include","begin":"\\S","end":"\\s"},{"name":"comment.other.rpgle.precompiler.include","match":".*"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.include"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.include"}}},{"name":"rpgle.free.precompiler.include","begin":"(?i)^\\s*(\\/(INCLUDE|COPY))\\s+(\\S+)(.*)","end":"\n","beginCaptures":{"1":{"name":"keyword.control.rpgle.free.precompiler.include"},"3":{"name":"string.other.rpgle.precompiler.include"},"4":{"name":"comment.other.rpgle.precompiler.include"}}},{"name":"rpgle.fixed.precompiler.conditional","begin":"(?i)(?\u003c=^.{5})(H|F|D|I|C|O|P|\\s)(\\/(ELSEIF|IF))\\b(NOT|UNDEFINED|DEFINED)\\b(.*)","end":"(?i)(?=^.{5})(H|F|D|I|C|O|P|\\s)(\\/ENDIF)","patterns":[{"include":"#fixedformat"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.conditional"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.conditional"},"3":{"name":"keyword.other.rpgle.fixed.precompiler.defcheck"}},"endCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.conditional"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.conditional"}}},{"name":"rpgle.free.precompiler.conditional","begin":"(?i)(?=(^[\\s]*\\/IF))","end":"(?i)(?=(^[\\s]*\\/ENDIF))","patterns":[{"name":"keyword.control.rpgle.precompiler.if","match":"(?i)^[\\s]*\\/(ELSEIF|IF)"},{"name":"keyword.other.rpgle.precompiler.defcheck","match":"(?i)\\s*\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#freeformat"}]},{"name":"rpgle.precompiler.charcount","begin":"(?i)(?=(^[\\s]*\\/CHARCOUNT))","end":"\n","patterns":[{"name":"keyword.control.rpgle.precompiler.charcount","match":"(?i)^[\\s]*\\/CHARCOUNT"},{"name":"keyword.other.rpgle.precompiler.charcount.mode","match":"(?i)\\s*\\b(NATURAL|STDCHARSIZE)\\b"}]},{"name":"rpgle.fixed.precompiler.misc","begin":"(?i)(?\u003c=^.{5})(H|F|D|I|C|O|P|\\s)(\\/(UNDEFINE|SPACE|FREE|EOF|END-FREE|ELSE|EJECT|DEFINE|CHARCOUNT))\\b","end":"\n","patterns":[{"name":"keyword.control.rpgle.precompiler","match":".*"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.misc"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.misc"}}},{"name":"rpgle.free.precompiler.misc","begin":"(?i)^[\\s]*(\\/(UNDEFINE|TITLE|SPACE|INCLUDE|FREE|EOF|ENDIF|END-FREE|ELSE|EJECT|DEFINE|COPY|CHARCOUNT))\\b","end":"\n","patterns":[{"name":"keyword.control.rpgle.precompiler","match":".*"}],"beginCaptures":{"1":{"name":"keyword.control.rpgle.free.precompiler.misc"}}}]},"rpglecommon":{"patterns":[{"include":"#comments"},{"include":"#freedefkeywords"},{"include":"#sqlvariables"},{"include":"#constants"},{"include":"#precompiler"},{"include":"#keywords"},{"include":"#strings"}]},"sqlcommon":{"patterns":[{"name":"comment.line.rpgle.rpgle.sql","match":"//.*"},{"name":"constant.language.rpgle.sql.globals","match":"(?i)\\b(CLIENT_HOST|CLIENT_IPADDR|CLIENT_PORT|JOB_NAME|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PROCESS_ID|ROUTINE_SCHEMA|ROUTINE_SPECIFIC_NAME|ROUTINE_TYPE|SERVER_MODE_JOB_NAME|THREAD_ID)\\b"},{"name":"support.function.rpgle.sql","match":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*(?=\\()"},{"name":"constant.language.rpgle.sql.schema","match":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*(\\.|\\/)[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*"},{"name":"variable.parameter.rpgle.sql","match":"[:][a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ\\.]*"},{"name":"keyword.operator.rpgle.sql.reserved","match":"(?i)\\b(ZONE|YES|YEARS|YEAR|XSROBJECT|XSLTRANSFORM|XMLVALIDATE|XMLTEXT|XMLTABLE|XMLSERIALIZE|XMLROW|XMLPI|XMLPARSE|XMLNAMESPACES|XMLGROUP|XMLFOREST|XMLELEMENT|XMLDOCUMENT|XMLCONCAT|XMLCOMMENT|XMLCAST|XMLATTRIBUTES|XMLAGG|WRKSTNNAME|WRITE|WRAPPER|WRAPPED|WITHOUT|WITHIN|WITH|WHILE|WHERE|WHENEVER|WHEN|WAIT|VOLATILE|VIEW|VERSION|VCAT|VARIANT|VARIABLE|VALUES|VALUE|USING|USERID|USER|USE|USAGE|URI|UPDATING|UPDATE|UNTIL|UNNEST|UNIT|UNIQUE|UNION|UNDO|TYPE|TRUNCATE|TRIM_ARRAY|TRIM|TRIGGER|TRANSFER|TRANSACTION|TO|TIMESTAMP|TIME|THREADSAFE|THEN|TABLESPACES|TABLESPACE|TABLE|SYSTEM_USER|SYNONYM|SUMMARY|SUBSTRING|STOGROUP|STATIC|STATEMENT|STARTING|START|STACKED|SQLID|SQL|SPECIFIC|SOURCE|SOME|SNAN|SKIP|SIMPLE|SIGNAL|SET|SESSION_USER|SESSION|SEQUENCE|SENSITIVE|SELECT|SECURED|SECQTY|SECONDS|SECOND|SEARCH|SCROLL|SCRATCHPAD|SCHEMA|SBCS|SAVEPOINT|RUN|RRN|ROW_NUMBER|ROWS|ROWNUMBER|ROW|ROUTINE|ROLLUP|ROLLBACK|RIGHT|RID|REVOKE|RETURNS|RETURNING|RETURN|RESULT_SET_LOCATOR|RESULT|RESTART|RESIGNAL|RESET|REPEAT|RENAME|RELEASE|REGEXP_LIKE|REFRESH|REFERENCING|REFERENCES|RECOVERY|READS|READ|RCDFMT|RANK|RANGE|QUERY|PROGRAMID|PROGRAM|PROCEDURE|PRIVILEGES|PRIQTY|PRIOR|PRIMARY|PREVVAL|PREPARE|POSITION|PLAN|PIPE|PIECESIZE|PERMISSION|PCTFREE|PATH|PASSWORD|PASSING|PARTITIONS|PARTITIONING|PARTITIONED|PARTITION|PART|PARAMETER|PAGESIZE|PAGE|PADDED|PACKAGE|OVERRIDING|OVERLAY|OVER|OUTER|OUT|ORGANIZE|ORDINALITY|ORDER|OR|OPTION|OPTIMIZE|OPEN|ONLY|ON|OMIT|OLD_TABLE|OLD|OFFSET|OF|OBID|NVARCHAR|NULLS|NULL|NOT|NORMALIZED|NOORDER|NONE|NOMINVALUE|NOMAXVALUE|NODENUMBER|NODENAME|NOCYCLE|NOCACHE|NO|NEXTVAL|NEW_TABLE|NEW|NESTED|NCLOB|NCHAR|NATIONAL|NAN|NAMESPACE|MONTHS|MONTH|MODIFIES|MODE|MIXED|MINVALUE|MINUTES|MINUTE|MINPCTUSED|MICROSECONDS|MICROSECOND|MERGE|MAXVALUE|MATERIALIZED|MATCHED|MASK|MAINTAINED|LOOP|LONG|LOGGED|LOG|LOCKSIZE|LOCK|LOCATOR|LOCATION|LOCALTIMESTAMP|LOCALTIME|LOCALDATE|LOCAL|LISTAGG|LINKTYPE|LIMIT|LIKE|LEVEL2|LEFT|LEAVE|LATERAL|LANGUAGE|LABEL|KEY|KEEP|JSON_VALUE|JSON_TABLE|JSON_QUERY|JSON_OBJECTAGG|JSON_OBJECT|JSON_EXISTS|JSON_ARRAYAGG|JSON_ARRAY|JOIN|JAVA|ITERATE|ISOLATION|IS|INTO|INTERSECT|INTEGRITY|INSERTING|INSERT|INSENSITIVE|INOUT|INNER|INLINE|INHERIT|INFINITY|INF|INDICATOR|INDEXBP|INDEX|INCREMENT|INCLUSIVE|INCLUDING|INCLUDE|IMPLICITLY|IMMEDIATE|IGNORE|IF|IDENTITY|ID|HOURS|HOUR|HOLD|HINT|HAVING|HASHED_VALUE|HASH|HANDLER|GROUP|GRAPHIC|GRANT|GOTO|GO|GLOBAL|GET|GENERATED|GENERAL|GBPCACHE|FUNCTION|FULL|FROM|FREEPAGE|FREE|FORMAT|FOREIGN|FOR|FINAL|FILE|FIELDPROC|FETCH|FENCED|EXTRACT|EXTERNAL|EXTEND|EXIT|EXISTS|EXECUTE|EXCLUSIVE|EXCLUDING|EXCEPTION|EXCEPT|EVERY|ESCAPE|ERROR|ENFORCED|ENDING|END|ENCRYPTION|ENCODING|ENABLE|EMPTY|ELSEIF|ELSE|EACH|DYNAMIC|DROP|DOUBLE|DOCUMENT|DO|DISTINCT|DISCONNECT|DISALLOW|DISABLE|DIAGNOSTICS|DETERMINISTIC|DESCRIPTOR|DESCRIBE|DESC|DENSE_RANK|DENSERANK|DELETING|DELETE|DEFINITION|DEFINE|DEFER|DEFAULTS|DEFAULT|DECLARE|DEALLOCATE|DEACTIVATE|DBPARTITIONNUM|DBPARTITIONNAME|DBINFO|DB2SQL|DB2GENRL|DB2GENERAL|DAYS|DAY|DATE|DATAPARTITIONNUM|DATAPARTITIONNAME|DATABASE|DATA|CYCLE|CURSOR|CURRENT_USER|CURRENT_TIMEZONE|CURRENT_TIMESTAMP|CURRENT_TIME|CURRENT_SERVER|CURRENT_SCHEMA|CURRENT_PATH|CURRENT_DATE|CURRENT|CUBE|CROSS|CREATEIN|CREATE|COUNT_BIG|COUNT|COPY|CONTINUE|CONTENT|CONTAINS|CONSTRAINT|CONSTANT|CONNECT_BY_ROOT|CONNECTION|CONNECT|CONDITION|CONCURRENT|CONCAT|COMPRESS|COMPACT|COMMIT|COMMENT|COLUMN|COLLECTION|COLLECT|CLUSTER|CLOSE|CL|CHECK|CHARACTER|CHAR|CCSID|CAST|CASE|CARDINALITY|CALLED|CALL|CACHE|BY|BUFFERPOOL|BIT|BIND|BINARY|BETWEEN|BEGIN|BEFORE|AUTONOMOUS|AUTHORIZATION|ATTRIBUTES|ATOMIC|AT|ASSOCIATE|ASENSITIVE|ASC|AS|ARRAY_AGG|ARRAY|APPLNAME|APPEND|ANY|AND|ALTER|ALLOW|ALLOCATE|ALL|ALIAS|ADD|ACTIVATE|ACTION|ACCTNG|ACCORDING|ABSENT)\\b"},{"include":"source.sql"}]},"sqlvariables":{"patterns":[{"name":"variable.language.rpgle.sql","match":"(?i)\\b(SQLWRN|SQLWNA|SQLWN9|SQLWN8|SQLWN7|SQLWN6|SQLWN5|SQLWN4|SQLWN3|SQLWN2|SQLWN1|SQLWN0|SQLWARN|SQLSTT|SQLSTATE|SQLCODE|SQLCOD|SQLERRP|SQLERRML|SQLERRMC|SQLERRD|SQLERR|SQLERP|SQLERM|SQLERL|SQLER6|SQLER5|SQLER4|SQLER3|SQLER2|SQLER1)\\b"}]},"strings":{"patterns":[{"name":"string.other.rpgle.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.rpgle","begin":"'","end":"'"}]},"tempfreeformat":{"patterns":[{"begin":"(?i)(?=((\\/FREE\\b)))","end":"(?i)(?=((\\/END-FREE\\b)))","patterns":[{"name":"keyword.control.rpgle.precompiler","match":"(?i)^.*(\\/FREE\\b)"},{"include":"#rpglecommon"},{"include":"#freeformat"},{"include":"#freeSQL"}]},{"name":"keyword.control.rpgle.precompiler","match":"^.*(\\/END-FREE\\b)"}]}}}
1
+ {"name":"RPGLE","scopeName":"source.rpgle","patterns":[{"name":"rpgle.free.allfree","begin":"(?i)(?=(\\*\\*(FREE)))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"keyword.other.rpgle.free.precompiler.allfree","match":"(?i)^\\*\\*FREE"},{"include":"#ctarrays"},{"include":"#freeSQL"},{"include":"#freerpglecommon"},{"include":"#freeformat"}]},{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"include":"#tempfreeformat"},{"include":"#fixedSQL"},{"include":"#fixedfreeSQL"},{"include":"#fixedprecompiler"},{"include":"#ctarrays"},{"include":"#fixedcomment"},{"include":"#fixedformat"},{"include":"#rpglecommon"},{"include":"#fixedfreeformat"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpgle.free","match":"(//).*"}]},"constants":{"patterns":[{"name":"constant.language.rpgle.indicator","match":"(?i)[*]IN([0-9]{2}|K[A-N]|K[P-Y]|[HL][1-9]|LR|MR|RT|U[1-8]|O[A-G]|OV|1P)?(?![A-Z0-9])"},{"name":"constant.language.rpgle","match":"[*][a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.numeric.rpgle","match":"(?\u003c![a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ])\\d+\\.?\\d*?(?![a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ])"},{"name":"constant.language.rpgle","match":"(?i)(?\u003c![a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ])(UDATE|UMONTH|UDAY|UYEAR|PAGE[1-7]|PAGE)(?![a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ])"}]},"ctarrays":{"patterns":[{"begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpgle.ctarray","begin":"^(\\*{2}(\\ |CTDATA))"}]}]},"fixedSQL":{"patterns":[{"begin":"(?i)(?=(^.{5}(C)(\\/EXEC)\\s+(SQL)\\b))","end":"(?i)(?=(^.{5}(C)(\\/END\\-EXEC)\\b))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(C)(\\/EXEC)\\s+(sql)\\b"},{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(C[\\+|\\/])"},{"include":"#sqlcommon"}]},{"name":"keyword.other.rpgle.sql","match":"(?i)(C\\/END\\-EXEC)"}]},"fixedcomment":{"patterns":[{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"name":"comment.gutter","match":"^.{1,5}"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[HFDICOP](?![+/])"},{"name":"comment.block.line.rpgle.fixed","begin":"(?\u003c=^.{80})(?=.)","end":"(?=\\n)"}]},"fixedformat":{"patterns":[{"include":"#fixedprecompiler"},{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"},{"name":"rpgle.fixed.h","begin":"(?i)(?\u003c=^.{5}H)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"entity.name.function.rpgle.fixed.h.keywords","match":"(?i)(?:(?\u003c=^.{5}H)|\\b)(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DCLOPT|DATFMT|DATEYY|DATEDIT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CHARCOUNT|CCSIDCVT|CCSID|BNDDIR|AUT|ASSERT|ALWNULL|ALTSEQ|ALLOC|ACTGRP)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.f","begin":"(?i)(?\u003c=^.{5}F)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})))(I|O|U|C)"},{"name":"constant.language.rpgle.fixed.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpgle.fixed.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})).{2})E"},{"name":"constant.language.rpgle.fixed.f.addition","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{13})).{2})A"},{"name":"constant.language.rpgle.fixed.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{14})).{2})(A|D)"},{"name":"constant.language.rpgle.fixed.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{15})).{2})(E|F)"},{"name":"constant.language.rpgle.fixed.fi.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F)([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.limitproc","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{5})L"},{"name":"constant.language.rpgle.fixed.fi.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F).{6})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{11})(A|D|F|G|K|P|T|Z)"},{"name":"constant.language.rpgle.fixed.fi.fileorg","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F.{12})(?i)(I|T)"},{"name":"constant.language.rpgle.fixed.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{13})(PRINTER|DISK|WORKSTN|SPECIAL|SEQ)"},{"name":"entity.name.function.rpgle.fixed.f","match":"\\b(?i)(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.d","begin":"(?i)(?\u003c=^.{5}D)","end":"(?\u003c=\\n)","patterns":[{"name":"constant.language.rpgle.fixed.d.extfmt","match":"(?i)(?\u003c=EXTFMT\\()[BCILRPSUF](?=\\))"},{"include":"#fixedcomment"},{"name":"string.quoted.single.rpgle.fixed","begin":"'","end":"'|[^-+\\s]\\s*$|[^-+\\s]\\s*(?\u003c=^.{80})","patterns":[{"name":"keyword.other.rpgle.continuation","match":"[-+](?=\\s*$)"},{"match":"([-+])\\s*(?\u003c=^.{80})","captures":{"1":{"name":"keyword.other.rpgle.continuation"}}},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"},{"include":"#fixedcomment"}]},{"name":"variable.other.rpgle.fixed.d.extended.name","match":"(?i)(?\u003c=^.{5}D).[a-zA-Z_][a-zA-Z0-9_]{1,71}[.]{3}"},{"name":"constant.language.rpgle.fixed.d.external","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{15}))E"},{"name":"constant.language.rpgle.fixed.d.dstype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{16}))(S|U)"},{"name":"constant.language.rpgle.fixed.d.dectype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{17}))(DS|PI|PR|(S\\s)|(C\\s))"},{"name":"constant.language.rpgle.fixed.d.from","match":"(?i)(?\u003c=(?\u003c=^.{5}D).{19})(?=[0-9 ]{0,6}[0-9])[0-9 ]{7}"},{"name":"constant.language.rpgle.fixed.d.to","match":"(?i)(?\u003c=(?\u003c=^.{5}D).{26})([+\\-][0-9 ]{6}|(?=[0-9 ]{0,6}[0-9])[0-9 ]{7})"},{"name":"constant.language.rpgle.fixed.d.datatype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{33}))(A|B|C|D|F|G|I|N|O|P|S|T|U|Z|\\*)"},{"name":"constant.language.rpgle.fixed.d.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{34}))([0-9]|\\s){2}"},{"name":"entity.name.function.rpgle.fixed.d.keywords","match":"\\b(?i)(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|SAMEPOS|RTNPARM|REQPROTO|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PERRCD|PACKEVEN|PACKED|OVERLOAD|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NULLIND|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|INT|IND|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DFT|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.i","begin":"(?i)(?\u003c=^.{5}I)","end":"(?\u003c=\\n)","patterns":[{"name":"constant.language.rpgle.fixed.i.attrs","match":"(?i)(?\u003c=^.{5}I\\s{14}.{10})(\\*[A-Z0-9]{3,4})"},{"name":"constant.language.rpgle.fixed.i.sep","match":"(?i)(?\u003c=^.{5}I\\s{14}.{14})[^ ]"},{"name":"constant.language.rpgle.fixed.i.fmt","match":"(?i)(?\u003c=^.{5}I\\s{14}.{15})(A|C|G|B|F|I|L|N|P|R|S|U|D|T|Z)"},{"name":"constant.language.rpgle.fixed.i.from","match":"(?i)(?\u003c=^.{5}I\\s{14}.{16})(?=[0-9 ]{0,4}[0-9])[0-9 ]{5}"},{"name":"constant.language.rpgle.fixed.i.to","match":"(?i)(?\u003c=^.{5}I\\s{14}.{21})(?=[0-9 ]{0,4}[0-9])[0-9 ]{5}"},{"name":"constant.language.rpgle.fixed.i.decpos","match":"(?i)(?\u003c=^.{5}I\\s{14}.{26})(?=[0-9 ]?[0-9])[0-9 ]{2}"},{"name":"constant.language.rpgle.fixed.i.ctrl","match":"(?i)(?\u003c=^.{5}I\\s{14}.{42})L[1-9]"},{"name":"constant.language.rpgle.fixed.i.matching","match":"(?i)(?\u003c=^.{5}I\\s{14}.{44})M[1-9]"},{"name":"constant.language.rpgle.fixed.i.fldrcdrel","match":"(?i)(?\u003c=^.{5}I\\s{14}.{46})(([0-9]{2})|((H|L)[1-9])|MR|RT|(U[1-8]))"},{"name":"constant.language.rpgle.fixed.i.posfld","match":"(?i)(?\u003c=^.{5}I\\s{14}.{48})(([0-9]{2})|(H[1-9])|(U[1-8])|RT)"},{"name":"constant.language.rpgle.fixed.i.negfld","match":"(?i)(?\u003c=^.{5}I\\s{14}.{50})(([0-9]{2})|(H[1-9])|(U[1-8])|RT)"},{"name":"constant.language.rpgle.fixed.i.zerofld","match":"(?i)(?\u003c=^.{5}I\\s{14}.{52})(([0-9]{2})|(H[1-9])|(U[1-8])|RT)"},{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpgle.fixed.i.number","match":"(?i)(?\u003c=(?\u003c=^.{5}I).{12})(1|N)"},{"name":"constant.language.rpgle.fixed.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{13}))O"},{"name":"constant.language.rpgle.fixed.i.recordid","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]))(([0-9]{2})|((H|L)[1-9])|LR|(RT)|((U)([1-8]))|(\\*\\*))"},{"name":"constant.language.rpgle.fixed.i.pos1","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{2})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not1","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{7})N"},{"name":"constant.language.rpgle.fixed.i.czd1","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{8})(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char1","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{9})(.|$)"},{"name":"constant.language.rpgle.fixed.i.pos2","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{10})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not2","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{15})N"},{"name":"constant.language.rpgle.fixed.i.czd2","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{16})(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char2","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{17})(.|$)"},{"name":"constant.language.rpgle.fixed.i.pos3","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{18})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not3","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{23})N"},{"name":"constant.language.rpgle.fixed.i.czd3","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{24})(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char3","match":"(?i)(?\u003c=(?\u003c=^.{5}I)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{25})(.|$)"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.c","begin":"(?i)(?\u003c=^.{5}C)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.c.ctrl","match":"(?i)(?\u003c=^.{5}C)((L[0-9])|LR|SR|AN|OR)"},{"name":"constant.language.rpgle.fixed.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV))"},{"name":"keyword.other.rpgle.fixed.c.extfactor2","begin":"(?i)(?\u003c=(?\u003c=^.{5}C).{19})((\\s{10})|ON\\-ERROR|FOR\\-EACH|WHEN\\-IN|WHEN\\-IS|DATA\\-INTO|DATA\\-GEN|XML\\-INTO|XML\\-SAX|CALLP|RETURN|EVAL\\-CORR|EVALR|EVAL|ELSEIF|WHEN\\s{2}|IF\\s{2}|DOW\\s{2}|DOU\\s{2}|FOR)(\\(\\s*([ADEHMNPRTZC]{1,5})\\s*\\))?(?![A-Za-z\\-])","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle.fixed.c.operation","match":"((?i)(AND|COMP|CAB|CAS|DOU|DOW|FOR|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"variable.other","match":"((?i)[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*)|\\(|\\)|\\%"}],"beginCaptures":{"4":{"name":"constant.language.rpgle.fixed.c.extender"}}},{"name":"keyword.other.rpgle.fixed.c.operation","match":"((?i)\\b(AND|COMP|CAB|CAS|DOU|DOW|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"keyword.other.rpgle.fixed.c.operation","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN\\-IS|WHEN\\-IN|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDUR|SUB|SQRT|SORTA|SND\\-MSG|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-EXCP|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR\\-EACH|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVALR|EVAL\\-CORR|EVAL|ENDSR|ENDSL|ENDMON|ENDIF|ENDFOR|ENDDO|ENDCS|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA\\-INTO|DATA\\-GEN|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|ASSERT\\-T|ASSERT\\-F|AND|ALLOC|ADDDUR|ADD|ACQ)(?![A-Za-z\\-])"},{"name":"constant.language.rpgle.fixed.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{57}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{62}))([0-9]|\\s){2}"},{"name":"constant.language.rpgle.fixed.c.hi","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{64})(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.lo","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{66})(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.eq","match":"(?i)(?\u003c=(?\u003c=^.{5}C).{68})(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV)"},{"captures":{"1":{"name":"constant.language.rpgle.fixed.c.extender"}}},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.o","begin":"(?i)(?\u003c=^.{5}O)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{10}))(H|D|T|E)"},{"name":"constant.language.rpgle.fixed.o.addel","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{11}))(ADD|DEL)"},{"name":"constant.language.rpgle.fixed.o.fetch","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{11}))(F|R)"},{"name":"constant.language.rpgle.fixed.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{14}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{17}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{20}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.spacebefore","match":"(?i)(?\u003c=(?\u003c=^.{5}O)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{19})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpgle.fixed.o.spaceafter","match":"(?i)(?\u003c=(?\u003c=^.{5}O)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{22})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpgle.fixed.o.skipbefore","match":"(?i)(?\u003c=(?\u003c=^.{5}O)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{25})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpgle.fixed.o.skipafter","match":"(?i)(?\u003c=(?\u003c=^.{5}O)(?:[^ ].{13}|\\s{1}[^ ].{12}|\\s{2}[^ ].{11}|\\s{3}[^ ].{10}|\\s{4}[^ ].{9}|\\s{5}[^ ].{8}|\\s{6}[^ ].{7}|\\s{7}[^ ].{6}|\\s{8}[^ ].{5}|\\s{9}[^ ].{4}|\\s{10}[^ ].{3}|\\s{11}[^ ].{2}|\\s{12}[^ ].{1}|\\s{13}[^ ]).{28})(?=[0-9 ]{0,2}[0-9])[0-9 ]{3}"},{"name":"constant.language.rpgle.fixed.o.dataformat","match":"(?i)(?\u003c=(?\u003c=^.{5}O)\\s{14}.{31})[ACGBFILNPRSUDTZ]"},{"name":"constant.language.rpgle.fixed.o.endpos","match":"(?i)(?\u003c=(?\u003c=^.{5}O)\\s{14}.{26})(?=[0-9 ]{0,4}[0-9])[0-9 ]{5}"},{"name":"constant.language.rpgle.fixed.o.blankafter","match":"(?i)(?\u003c=(?\u003c=^.{5}O)\\s{14}.{24})B"},{"name":"constant.language.rpgle.fixed.o.editcode","match":"(?i)(?\u003c=(?\u003c=^.{5}O)\\s{14}.{23})[1-9A-DJ-QXYZ]"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.p","begin":"(?i)(?\u003c=^.{5}P)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"variable.other.rpgle.fixed.p.extended.name","match":"(?i)(?\u003c=^.{5}P).[a-zA-Z_][a-zA-Z0-9_]{1,71}[.]{3}"},{"name":"constant.language.rpgle.fixed.p.beginend","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{17}))(B|E)"},{"name":"entity.name.function.rpgle.fixed.p.keywords","match":"(?i)(?:(?\u003c=(?\u003c=^.{5}P).{37})|\\b)(SERIALIZE|REQPROTO|PGMINFO|EXPORT)"},{"include":"#rpglecommon"}]}]},"fixedfreeSQL":{"patterns":[{"begin":"(?i)(?=(^.{5}\\s*(EXEC)\\s+(SQL)\\b))","end":"(;)","patterns":[{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.sql","match":"(?i)(EXEC)\\s+(SQL)\\b"},{"include":"#sqlcommon"}],"endCaptures":{"1":{"name":"punctuation.terminator.rpgle.sql"}}}]},"fixedfreeformat":{"patterns":[{"name":"rpgle.free.control","begin":"(?i)\\b(?=CTL\\-OPT)\\b","end":";","patterns":[{"include":"#fixedstmtconditional"},{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.control","match":"(?i)\\b(CTL\\-OPT)\\b"},{"name":"entity.name.function.rpgle.free.control.keywords","match":"(?i)\\b(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DATFMT|DATEYY|DATEDIT|DCLOPT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CHARCOUNTTYPES|CHARCOUNT|CCSIDCVT|CCSID|BNDDIR|ASSERT|AUT|ALWNULL|ALTSEQ|ACTGRP|ALLOC)\\b"}]},{"name":"rpgle.free.file","begin":"(?i)\\b(?=DCL\\-F)\\b","end":";","patterns":[{"include":"#fixedstmtconditional"},{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.file","match":"(?i)\\b(DCL\\-F)\\b"},{"name":"entity.name.function.rpgle.free.file.keywords","match":"(?i)\\b(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"}]},{"name":"storage.type.rpgle.free.definition.subr","match":"(?i)\\b(BEG|END)SR\\b"},{"name":"rpgle.free.definition.simple","begin":"(?i)(?=(\\b(DCL\\-)(S|C|PARM|SUBF)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.simple","match":"(?i)\\b(DCL\\-)(S|C|PARM|SUBF)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"},{"include":"#fixedfreeidentifiers"},{"name":"comment.line.rpgle.free","match":"(//).*"}]},{"name":"rpgle.free.definition.complex","begin":"(?i)(?=(\\b(DCL\\-)(DS|ENUM|PROC|PR|PI)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(DCL\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"},{"name":"variable.other.rpgle.free.definition.identifier","match":"\\b[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*\\b"}]},{"name":"rpgle.fixed.calculation.continued","begin":"(?i)(?\u003c=^.{5})(?=[ ]{2}\\s*[A-Za-z#$@][A-Za-z0-9_#$@.]*(\\([^()]*\\))?\\s*(\\*\\*=|\\+=|\\-=|\\*=|/=|=(?!=))[^;]*$)","end":";","patterns":[{"include":"#fixedcomment"},{"include":"#fixedstrings"},{"include":"#comments"},{"include":"#sqlvariables"},{"include":"#constants"},{"include":"#keywords"},{"include":"#freeopcodes"},{"include":"#freedefkeywords"},{"include":"#fixedfreeidentifiers"}]},{"include":"#freeopcodes"},{"include":"#freedefkeywords"},{"include":"#fixedfreeidentifiers"},{"include":"#rpglecommon"}]},"fixedfreeidentifiers":{"patterns":[{"name":"variable.other.rpgle.free.definition.identifier","match":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*"}]},"fixedprecompiler":{"patterns":[{"name":"rpgle.fixed.precompiler.title","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.fixed.precompiler.title","match":".*"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.title"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.title"}}},{"name":"rpgle.fixed.precompiler.include","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/(INCLUDE|COPY))\\s+(\\S+)(.*)","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.include"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.include"},"4":{"name":"string.other.rpgle.precompiler.include"},"5":{"name":"comment.other.rpgle.precompiler.include"}}},{"name":"rpgle.fixed.precompiler.conditional","begin":"(?i)^(.{5})([HFDICOP ] *)(\\/IF)\\b","end":"(?i)^(.{5})([HFDICOP ] *)(\\/ENDIF)\\b","patterns":[{"match":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/(ELSEIF|ELSE))\\b","captures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.conditional"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.conditional"}}},{"name":"keyword.other.rpgle.fixed.precompiler.defcheck","match":"(?i)\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#tempfreeformat"},{"include":"#fixedSQL"},{"include":"#fixedfreeSQL"},{"include":"#fixedformat"},{"include":"#rpglecommon"},{"include":"#fixedfreeformat"}],"beginCaptures":{"1":{"name":"comment.gutter"},"2":{"name":"keyword.other.rpgle.fixed.precompiler.conditional"},"3":{"name":"keyword.control.rpgle.fixed.precompiler.conditional"}},"endCaptures":{"1":{"name":"comment.gutter"},"2":{"name":"keyword.other.rpgle.fixed.precompiler.conditional"},"3":{"name":"keyword.control.rpgle.fixed.precompiler.conditional"}}},{"name":"rpgle.fixed.precompiler.charcount","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/CHARCOUNT)\\b *(NATURAL|STDCHARSIZE)?","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.charcount"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.charcount"},"3":{"name":"keyword.other.rpgle.fixed.precompiler.charcount.mode"}}},{"name":"rpgle.fixed.precompiler.overload","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/OVERLOAD)\\b *(NODETAIL|DETAIL)?","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.overload"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.overload"},"3":{"name":"keyword.other.rpgle.fixed.precompiler.overload.mode"}}},{"name":"rpgle.fixed.precompiler.eject","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/EJECT)\\b(.*)","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.eject"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.eject"},"3":{"name":"comment.other.rpgle.precompiler.eject"}}},{"name":"rpgle.fixed.precompiler.space","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/SPACE)\\b *(\\d*)(.*)","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.space"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.space"},"3":{"name":"constant.numeric.rpgle"},"4":{"name":"comment.other.rpgle.precompiler.space"}}},{"name":"rpgle.fixed.precompiler.define","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/(UNDEFINE|DEFINE))\\b","end":"\n","patterns":[{"include":"#fixedfreeidentifiers"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.define"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.define"}}},{"name":"rpgle.fixed.precompiler.misc","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/(SET|RESTORE|FREE|EOF|ENDIF|END-FREE|ELSE))\\b","end":"\n","patterns":[{"name":"keyword.control.rpgle.precompiler","match":".*"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.misc"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.misc"}}}]},"fixedstmtconditional":{"patterns":[{"name":"rpgle.fixed.precompiler.conditional","begin":"(?i)(?\u003c=^.{5})([HFDICOP ] *)(\\/(ELSEIF|ELSE|ENDIF|IF))\\b","end":"\n","patterns":[{"name":"keyword.other.rpgle.fixed.precompiler.defcheck","match":"(?i)\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#constants"},{"include":"#fixedfreeidentifiers"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.fixed.precompiler.conditional"},"2":{"name":"keyword.control.rpgle.fixed.precompiler.conditional"}}}]},"fixedstrings":{"patterns":[{"name":"string.other.rpgle.hex","begin":"(?i)x'","end":"'|[^-+\\s]\\s*$|[^-+\\s]\\s*(?\u003c=^.{80})","patterns":[{"name":"keyword.other.rpgle.continuation","match":"[-+](?=\\s*$)"},{"match":"([-+])\\s*(?\u003c=^.{80})","captures":{"1":{"name":"keyword.other.rpgle.continuation"}}},{"name":"comment.line.rpgle.free","begin":"^.{5}.\\s*//","end":"\\n"},{"include":"#fixedcomment"}]},{"name":"string.quoted.single.rpgle","begin":"'","end":"'|[^-+\\s]\\s*$|[^-+\\s]\\s*(?\u003c=^.{80})","patterns":[{"name":"keyword.other.rpgle.continuation","match":"[-+](?=\\s*$)"},{"match":"([-+])\\s*(?\u003c=^.{80})","captures":{"1":{"name":"keyword.other.rpgle.continuation"}}},{"name":"comment.line.rpgle.free","begin":"^.{5}.\\s*//","end":"\\n"},{"include":"#fixedcomment"}]}]},"freeSQL":{"patterns":[{"begin":"(?i)(?=(^\\s*(EXEC)\\s+(SQL)\\b))","end":"(;)","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(EXEC)\\s+(SQL)\\b"},{"include":"#sqlcommon"}],"endCaptures":{"1":{"name":"punctuation.terminator.rpgle.sql"}}}]},"freedefkeywords":{"patterns":[{"name":"entity.name.function.rpgle.free.definition.keywords","match":"(?i)\\b(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|SQLTYPE|SERIALIZE|SAMEPOS|RTNPARM|REQPROTO|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PGMINFO|PERRCD|PACKEVEN|PACKED|OVERLOAD|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NULLIND|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DFT|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"}]},"freeformat":{"patterns":[{"name":"rpgle.free.control","begin":"(?i)\\b(?=CTL\\-OPT)\\b","end":";","patterns":[{"include":"#freestmtconditional"},{"name":"storage.type.rpgle.free.control","match":"(?i)\\b(CTL\\-OPT)\\b"},{"name":"entity.name.function.rpgle.free.control.keywords","match":"(?i)\\b(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DATFMT|DATEYY|DATEDIT|DCLOPT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CHARCOUNTTYPES|CHARCOUNT|CCSIDCVT|CCSID|BNDDIR|ASSERT|AUT|ALWNULL|ALTSEQ|ACTGRP|ALLOC)\\b"},{"include":"#freerpglecommon"}]},{"name":"rpgle.free.file","begin":"(?i)\\b(?=DCL\\-F)\\b","end":";","patterns":[{"include":"#freestmtconditional"},{"name":"storage.type.rpgle.free.file","match":"(?i)\\b(DCL\\-F)\\b"},{"name":"entity.name.function.rpgle.free.file.keywords","match":"(?i)\\b(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"},{"include":"#freerpglecommon"}]},{"name":"storage.type.rpgle.free.definition.subr","match":"(?i)\\b(BEG|END)SR\\b"},{"name":"rpgle.free.definition.simple","begin":"(?i)(?=(\\b(DCL\\-)(S|C|PARM|SUBF)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.simple","match":"(?i)\\b(DCL\\-)(S|C|PARM|SUBF)\\b"},{"include":"#freedefkeywords"},{"include":"#freerpglecommon"},{"include":"#freeidentifiers"},{"name":"comment.line.rpgle.free","match":"(//).*"}]},{"name":"rpgle.free.definition.complex","begin":"(?i)(?=(\\b(DCL\\-)(DS|ENUM|PROC|PR|PI)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(DCL\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#freerpglecommon"},{"name":"variable.other.rpgle.free.definition.identifier","match":"\\b[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*\\b"}]},{"name":"rpgle.free.calculation.continued","begin":"(?i)^(?=\\s*[A-Za-z#$@][A-Za-z0-9_#$@.]*(\\([^()]*\\))?\\s*(\\*\\*=|\\+=|\\-=|\\*=|/=|=(?!=))[^;]*$)","end":";","patterns":[{"include":"#strings"},{"include":"#comments"},{"include":"#freedefkeywords"},{"include":"#sqlvariables"},{"include":"#constants"},{"include":"#keywords"},{"include":"#freeopcodes"},{"include":"#freeidentifiers"}]},{"include":"#freeopcodes"},{"include":"#freeidentifiers"},{"include":"#freerpglecommon"}]},"freeidentifiers":{"patterns":[{"name":"variable.other.rpgle.free.definition.identifier","match":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*"}]},"freeopcodes":{"patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"match":"(?i)(?\u003c![A-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ])(ACQ|ASSERT\\-(F|T)|BEGSR|CALLP|CHAIN|CLEAR|CLOSE|COMMIT|DATA\\-GEN|DATA\\-INTO|DEALLOC|DELETE|DOU|DOW|DSPLY|DUMP|ELSEIF|ELSE|ENDDO|ENDFOR|ENDIF|ENDMON|ENDSL|ENDSR|EVAL\\-CORR|EVALR|EVAL|EXCEPT|EXFMT|EXSR|FEOD|FOR\\-EACH|FOR|FORCE|IF|IN|ITER|LEAVESR|LEAVE|MONITOR|NEXT|ON\\-ERROR|ON\\-EXCP|ON\\-EXIT|OPEN|OTHER|OUT|POST|READC|READE|READP|READPE|READ|REL|RESET|RETURN|ROLBK|SELECT|SETGT|SETLL|SND\\-MSG|SORTA|TEST|UNLOCK|UPDATE|WHEN\\-IN|WHEN\\-IS|WHEN|WRITE|XML\\-INTO|XML\\-SAX)(?![-A-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ])(?:(\\s*\\(\\s*)([ADEHMNPRTZC]{1,5})(\\s*\\)))?","captures":{"1":{"name":"keyword.other.rpgle.free"},"4":{"name":"constant.language.rpgle.free.extender"}}}]},"freeprecompiler":{"patterns":[{"name":"rpgle.free.precompiler.title","begin":"(?i)^(\\s*)(\\/TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.free.precompiler.title","match":".*"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.free.precompiler.title"},"2":{"name":"keyword.control.rpgle.free.precompiler.title"}}},{"name":"rpgle.free.precompiler.include","begin":"(?i)^(\\s*)(\\/(INCLUDE|COPY))\\s+(\\S+)(.*)","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.free.precompiler.include"},"2":{"name":"keyword.control.rpgle.free.precompiler.include"},"4":{"name":"string.other.rpgle.precompiler.include"},"5":{"name":"comment.other.rpgle.precompiler.include"}}},{"name":"rpgle.free.precompiler.conditional","begin":"(?i)^(\\s*)(\\/IF)\\b","end":"(?i)^(\\s*)(\\/ENDIF)\\b","patterns":[{"match":"(?i)^(\\s*)(\\/(ELSEIF|ELSE))\\b","captures":{"2":{"name":"keyword.control.rpgle.free.precompiler.conditional"}}},{"name":"keyword.other.rpgle.free.precompiler.defcheck","match":"(?i)\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#freeSQL"},{"include":"#freerpglecommon"},{"include":"#freeformat"}],"beginCaptures":{"2":{"name":"keyword.control.rpgle.free.precompiler.conditional"}},"endCaptures":{"2":{"name":"keyword.control.rpgle.free.precompiler.conditional"}}},{"name":"rpgle.free.precompiler.charcount","begin":"(?i)^(\\s*)(\\/CHARCOUNT)\\b *(NATURAL|STDCHARSIZE)?","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.free.precompiler.charcount"},"2":{"name":"keyword.control.rpgle.free.precompiler.charcount"},"3":{"name":"keyword.other.rpgle.free.precompiler.charcount.mode"}}},{"name":"rpgle.free.precompiler.overload","begin":"(?i)^(\\s*)(\\/OVERLOAD)\\b *(NODETAIL|DETAIL)?","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.free.precompiler.overload"},"2":{"name":"keyword.control.rpgle.free.precompiler.overload"},"3":{"name":"keyword.other.rpgle.free.precompiler.overload.mode"}}},{"name":"rpgle.free.precompiler.eject","begin":"(?i)^(\\s*)(\\/EJECT)\\b(.*)","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.free.precompiler.eject"},"2":{"name":"keyword.control.rpgle.free.precompiler.eject"},"3":{"name":"comment.other.rpgle.precompiler.eject"}}},{"name":"rpgle.free.precompiler.space","begin":"(?i)^(\\s*)(\\/SPACE)\\b *(\\d*)(.*)","end":"\n","beginCaptures":{"1":{"name":"keyword.other.rpgle.free.precompiler.space"},"2":{"name":"keyword.control.rpgle.free.precompiler.space"},"3":{"name":"constant.numeric.rpgle"},"4":{"name":"comment.other.rpgle.precompiler.space"}}},{"name":"rpgle.free.precompiler.define","begin":"(?i)^(\\s*)(\\/(UNDEFINE|DEFINE))\\b","end":"\n","patterns":[{"include":"#freeidentifiers"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.free.precompiler.define"},"2":{"name":"keyword.control.rpgle.free.precompiler.define"}}},{"name":"rpgle.free.precompiler.misc","begin":"(?i)^(\\s*)(\\/(SET|RESTORE|FREE|EOF|ENDIF|END-FREE|ELSE))\\b","end":"\n","patterns":[{"name":"keyword.control.rpgle.precompiler","match":".*"}],"beginCaptures":{"1":{"name":"keyword.other.rpgle.free.precompiler.misc"},"2":{"name":"keyword.control.rpgle.free.precompiler.misc"}}}]},"freerpglecommon":{"patterns":[{"include":"#strings"},{"include":"#comments"},{"include":"#freedefkeywords"},{"include":"#sqlvariables"},{"include":"#constants"},{"include":"#freeprecompiler"},{"include":"#keywords"}]},"freestmtconditional":{"patterns":[{"name":"rpgle.free.precompiler.conditional","begin":"(?i)^(\\s*)(\\/(ELSEIF|ELSE|ENDIF|IF))\\b","end":"\n","patterns":[{"name":"keyword.other.rpgle.free.precompiler.defcheck","match":"(?i)\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#constants"},{"include":"#freeidentifiers"}],"beginCaptures":{"2":{"name":"keyword.control.rpgle.free.precompiler.conditional"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.rpgle","match":"\\*{1,2}(=)?|=|\u003c\u003e|((\u003c|\u003e|\\+|\\-|\\/)(=)?)"},{"name":"keyword.other.rpgle","match":":|\\.|\\,|((\\b(?i)(TO|BY|DOWNTO|IN(?!\\s*\\()|AND|OR|NOT)\\b))"},{"name":"support.function.rpgle.bif","match":"[%](?i)(YEARS|XML|XLATE|XFOOT|UPPER|UNSH|UNS|UCS2|TRIMR|TRIML|TRIM|TLOOKUPNE|TLOOKUPLT|TLOOKUPLE|TLOOKUPGT|TLOOKUPGE|TLOOKUP|TIMESTAMP|TIME|THIS|TARGET|SUBST|SUBDT|SUBARR|STR|STATUS|SQRT|SPLIT|SIZE|SHTDN|SECONDS|SCANRPL|SCANR|SCAN|RIGHT|REPLACE|REM|REALLOC|RANGE|PROC|PASSED|PARSER|PARMNUM|PARMS|PADDR|OPEN|OMITTED|OCCUR|NULLIND|MSG|MSECONDS|MONTHS|MINUTES|MINARR|MIN|MAXARR|MAX|LOWER|LOVAL|LOOKUPNE|LOOKUPLT|LOOKUPLE|LOOKUPGT|LOOKUPGE|LOOKUP|LIST|LEN|LEFT|KDS|INTH|INT|HOURS|HIVAL|HANDLER|GRAPH|GEN|FOUND|FLOAT|FIELDS|ERROR|EQUAL|EOF|ELEM|EDITW|EDITFLT|EDITC|DIV|DIFF|DECPOS|DECH|DEC|DAYS|DATE|DATA|CONCATARR|CONCAT|CHECKR|CHECK|CHARCOUNT|CHAR|BITXOR|BITOR|BITNOT|BITAND|ALLOC|ADDR|ABS)"}]},"rpglecommon":{"patterns":[{"include":"#fixedcomment"},{"include":"#fixedstrings"},{"include":"#comments"},{"include":"#sqlvariables"},{"include":"#constants"},{"include":"#fixedprecompiler"},{"include":"#keywords"}]},"sqlcommon":{"patterns":[{"name":"comment.line.rpgle.sql","match":"(--|//).*"},{"name":"comment.block.rpgle.sql","begin":"/\\*","end":"\\*/"},{"name":"constant.language.rpgle.sql.globals","match":"(?i)\\b(CLIENT_HOST|CLIENT_IPADDR|CLIENT_PORT|JOB_NAME|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PROCESS_ID|ROUTINE_SCHEMA|ROUTINE_SPECIFIC_NAME|ROUTINE_TYPE|SERVER_MODE_JOB_NAME|THREAD_ID)\\b"},{"name":"storage.type.rpgle.sql","match":"(?i)\\b(XML|VARYING|VARGRAPHIC|VARCHAR|VARBINARY|TIMESTAMP|TIME|SMALLINT|ROWID|REAL|PRECISION|OBJECT|NVARCHAR|NUMERIC|NCLOB|NCHAR|LARGE|INTEGER|INT|GRAPHIC|FLOAT|DOUBLE|DECIMAL|DECFLOAT|DEC|DBCLOB|DATE|DATALINK|CLOB|CHARACTER|CHAR|BOOLEAN|BLOB|BINARY|BIGINT)\\b"},{"name":"support.function.rpgle.sql","match":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*(?=\\()"},{"name":"constant.language.rpgle.sql.schema","match":"[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*(\\.|\\/)[a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ]*"},{"name":"variable.parameter.rpgle.sql","match":"[:][a-zA-Z_#@$§ÆØÅÄ֣ѥàÐŞİ][a-zA-Z0-9_#@$§ÆØÅÄ֣ѥàÐŞİ\\.]*"},{"name":"string.other.rpgle.sql.hex","match":"(?i)x'[^']*'"},{"name":"string.quoted.single.rpgle.sql","match":"'[^']*'"},{"name":"constant.language.rpgle.sql","match":"(?i)\\*[A-Z][A-Z0-9]*"},{"name":"keyword.operator.rpgle.sql.reserved","match":"(?i)\\b(ZONE|YES|YEARS|YEAR|XSROBJECT|XSLTRANSFORM|XMLVALIDATE|XMLTEXT|XMLTABLE|XMLSERIALIZE|XMLROW|XMLPI|XMLPARSE|XMLNAMESPACES|XMLGROUP|XMLFOREST|XMLELEMENT|XMLDOCUMENT|XMLCONCAT|XMLCOMMENT|XMLCAST|XMLATTRIBUTES|XMLAGG|WRKSTNNAME|WRITE|WRAPPER|WRAPPED|WITHOUT|WITHIN|WITH|WHILE|WHERE|WHENEVER|WHEN|WAIT|VOLATILE|VIEW|VERSIONING|VERSION|VCAT|VARIANT|VARIABLE|VALUES|VALUE|USING|USERID|USER|USE|USAGE|URI|UPDATING|UPDATE|UNTIL|UNNEST|UNKNOWN|UNIT|UNIQUE|UNION|UNDO|TYPE|TRY_CAST|TRUNCATE|TRUE|TRIM_ARRAY|TRIM|TRIGGER|TRANSFER|TRANSACTION|TO|TIMESTAMP|TIME|THREADSAFE|THEN|TAG|TABLESPACES|TABLESPACE|TABLE|SYSTEM_USER|SYSTEM_TIME|SYNONYM|SUMMARY|SUBSTRING|STOGROUP|STATIC|STATEMENT|STARTING|START|STACKED|SQLWARNING|SQLIND_UNASSIGNED|SQLIND_DEFAULT|SQLID|SQLERROR|SQL|SPECIFIC|SOURCE|SOME|SNAN|SKIP|SIMPLE|SIGNAL|SET|SESSION_USER|SESSION|SEQUENCE|SENSITIVE|SELECT|SECURED|SECQTY|SECONDS|SECOND|SEARCH|SCROLL|SCRATCHPAD|SCHEMA|SCALAR|SBCS|SAVEPOINT|RUN|RRN|ROW_NUMBER|ROWS|ROWNUMBER|ROW|ROUTINE|ROLLUP|ROLLBACK|RIGHT|RID|REVOKE|RETURNS|RETURNING|RETURN|RESULT_SET_LOCATOR|RESULT|RESTRICT|RESTART|RESIGNAL|RESET|REPEAT|RENAME|RELEASE|REGEXP_LIKE|REFRESH|REFERENCING|REFERENCES|RECOVERY|READS|READ|RCDFMT|RATIO_TO_REPORT|RANK|RANGE|QUERY|PROGRAMID|PROGRAM|PROCEDURE|PRIVILEGES|PRIQTY|PRIOR|PRIMARY|PREVVAL|PREPARE|POSITION|PLAN|PIPE|PIECESIZE|PERMISSION|PERIOD|PERCENT_RANK|PERCENTILE_DISC|PERCENTILE_CONT|PCTFREE|PATH|PASSWORD|PASSING|PARTITIONS|PARTITIONING|PARTITIONED|PARTITION|PART|PARAMETER|PAGESIZE|PAGE|PADDED|PACKAGE|OVERRIDING|OVERLAY|OVER|OUTER|OUT|ORGANIZE|ORDINALITY|ORDER|OR|OPTION|OPTIMIZE|OPEN|ONLY|ON|OMIT|OLD_TABLE|OLD|OFFSET|OFF|OF|OBJECT|OBID|NVARCHAR|NULLS|NULL|NTILE|NTH_VALUE|NOTNULL|NOT|NORMALIZED|NOORDER|NONE|NOMINVALUE|NOMAXVALUE|NODENUMBER|NODENAME|NOCYCLE|NOCACHE|NO|NEXTVAL|NEW_TABLE|NEW|NESTED|NCLOB|NCHAR|NATIONAL|NAN|NAMESPACE|MONTHS|MONTH|MODIFIES|MODE|MIXED|MIRROR|MINVALUE|MINUTES|MINUTE|MINPCTUSED|MICROSECONDS|MICROSECOND|MERGE|MAXVALUE|MATERIALIZED|MATCHED|MASK|MAINTAINED|LOOP|LONG|LOGGED|LOG|LOCKSIZE|LOCK|LOCATOR|LOCATION|LOCALTIMESTAMP|LOCALTIME|LOCALDATE|LOCAL|LISTAGG|LINKTYPE|LIMIT|LIKE|LEVEL2|LEFT|LEAVE|LEAD|LATERAL|LAST_VALUE|LANGUAGE|LAG|LABEL|KEYS|KEY|KEEP|JSON_VALUE|JSON_TABLE|JSON_QUERY|JSON_OBJECTAGG|JSON_OBJECT|JSON_EXISTS|JSON_ARRAYAGG|JSON_ARRAY|JSON|JOIN|JAVA|ITERATE|ISOLATION|ISNULL|IS|INTO|INTERSECT|INTERPRET|INTEGRITY|INSERTING|INSERT|INSENSITIVE|INOUT|INNER|INLINE|INHERIT|INFINITY|INF|INDICATOR|INDEXBP|INDEX|INCREMENT|INCLUSIVE|INCLUDING|INCLUDE|IN|IMPLICITLY|IMMEDIATE|IGNORE|IF|IDENTITY|ID|HOURS|HOUR|HOLD|HINT|HAVING|HASH_ROW|HASHED_VALUE|HASH|HANDLER|GROUP|GRAPHIC|GRANT|GOTO|GO|GLOBAL|GET|GENERATED|GENERAL|GBPCACHE|FUNCTION|FULL|FROM|FREEPAGE|FREE|FOUND|FORMAT|FOREIGN|FOR|FIRST_VALUE|FINAL|FILE|FIELDPROC|FETCH|FENCED|FALSE|EXTRACT|EXTERNAL|EXTEND|EXIT|EXISTS|EXECUTE|EXCLUSIVE|EXCLUDING|EXCEPTION|EXCEPT|EVERY|ESCAPE|ERROR|ENFORCED|ENDING|END|ENCRYPTION|ENCODING|ENABLE|EMPTY|ELSEIF|ELSE|EACH|DYNAMIC|DROP|DOUBLE|DOCUMENT|DO|DISTINCT|DISCONNECT|DISALLOW|DISABLE|DIAGNOSTICS|DETERMINISTIC|DETACH|DESCRIPTOR|DESCRIBE|DESC|DENSE_RANK|DENSERANK|DELETING|DELETE|DEFINITION|DEFINE|DEFER|DEFAULTS|DEFAULT|DECLARE|DEALLOCATE|DEACTIVATE|DBPARTITIONNUM|DBPARTITIONNAME|DBINFO|DB2SQL|DB2GENRL|DB2GENERAL|DAYS|DAY|DATE|DATAPARTITIONNUM|DATAPARTITIONNAME|DATABASE|DATA|CYCLE|CURSOR|CURRENT_USER|CURRENT_TIMEZONE|CURRENT_TIMESTAMP|CURRENT_TIME|CURRENT_SERVER|CURRENT_SCHEMA|CURRENT_PATH|CURRENT_DATE|CURRENT|CUME_DIST|CUBE|CROSS|CREATEIN|CREATE|COUNT_BIG|COUNT|COPY|CONTINUE|CONTENT|CONTAINS|CONSTRAINT|CONSTANT|CONNECT_BY_ROOT|CONNECTION|CONNECT|CONDITION|CONCURRENT|CONCAT|COMPRESS|COMPARISONS|COMPACT|COMMIT|COMMENT|COLUMN|COLLECTION|COLLECT|CLUSTER|CLOSE|CL|CHECK|CHARACTER|CHAR|CCSID|CAST|CASE|CARDINALITY|CALLED|CALL|CACHE|BY|BUFFERPOOL|BSON|BOOLEAN|BIT|BIND|BINARY|BETWEEN|BEGIN|BEFORE|AUTONOMOUS|AUTHORIZATION|ATTRIBUTES|ATTACH|ATOMIC|AT|ASSOCIATE|ASENSITIVE|ASC|AS|ARRAY_TRIM|ARRAY_AGG|ARRAY|APPLNAME|APPEND|ANY|AND|ALTER|ALLOW|ALLOCATE|ALL|ALIAS|ADD|ACTIVATE|ACTION|ACCTNG|ACCORDING|ABSENT)\\b"},{"include":"#sqlvariables"},{"name":"constant.numeric.rpgle.sql","match":"\\b[0-9]+(\\.[0-9]+)?\\b"},{"name":"keyword.operator.rpgle.sql","match":"(\\|\\||\\*\\*|\u003c\u003e|\u003c=|\u003e=|[¬!][=\u003c\u003e]|[=\u003c\u003e+\\-*/])"},{"include":"source.sql"}]},"sqlvariables":{"patterns":[{"name":"variable.language.rpgle.sql","match":"(?i)\\b(SQLWRN|SQLWNA|SQLWN9|SQLWN8|SQLWN7|SQLWN6|SQLWN5|SQLWN4|SQLWN3|SQLWN2|SQLWN1|SQLWN0|SQLWARN|SQLSTT|SQLSTATE|SQLCODE|SQLCOD|SQLERRP|SQLERRML|SQLERRMC|SQLERRD|SQLERR|SQLERP|SQLERM|SQLERL|SQLER6|SQLER5|SQLER4|SQLER3|SQLER2|SQLER1)\\b"}]},"strings":{"patterns":[{"name":"string.other.rpgle.hex","begin":"(?i)x'","end":"'|[^-+\\s]\\s*$|[^-+\\s]\\s*(?\u003c=^.{80})","patterns":[{"name":"keyword.other.rpgle.continuation","match":"[-+](?=\\s*$)"},{"match":"([-+])\\s*(?\u003c=^.{80})","captures":{"1":{"name":"keyword.other.rpgle.continuation"}}},{"name":"comment.line.rpgle.free","match":"^\\s*//.*"}]},{"name":"string.quoted.single.rpgle","begin":"'","end":"'|[^-+\\s]\\s*$|[^-+\\s]\\s*(?\u003c=^.{80})","patterns":[{"name":"keyword.other.rpgle.continuation","match":"[-+](?=\\s*$)"},{"match":"([-+])\\s*(?\u003c=^.{80})","captures":{"1":{"name":"keyword.other.rpgle.continuation"}}},{"name":"comment.line.rpgle.free","match":"^\\s*//.*"}]}]},"tempfreeformat":{"patterns":[{"begin":"(?i)(?=((\\/FREE\\b)))","end":"(?i)(?=((\\/END-FREE\\b)))","patterns":[{"name":"keyword.control.rpgle.precompiler","match":"(?i)^.*(\\/FREE\\b)"},{"include":"#rpglecommon"},{"include":"#fixedfreeformat"},{"include":"#fixedfreeSQL"}]},{"name":"keyword.control.rpgle.precompiler","match":"(?i)\\/END-FREE\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"(\u003c)(\\[)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"meta.macro.metavariable.type.rust","match":"(\\$)((crate)|([A-Z]\\w*))(\\s*(:)\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\b)?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.metavariable.rust","match":"(\\$)([a-z]\\w*)(\\s*(:)\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\b)?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.rules.rust","match":"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)","captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}}},{"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}}},{"name":"meta.import.rust","begin":"\\b(extern)\\s+(crate)","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"name":"meta.use.rust","begin":"\\b(use)\\s","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}],"beginCaptures":{"1":{"name":"keyword.other.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"name":"meta.attribute.rust","begin":"(#)(\\!?)(\\[)","end":"\\]","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}}},"block-comments":{"patterns":[{"name":"comment.block.rust","match":"/\\*\\*/"},{"name":"comment.block.documentation.rust","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.rust","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"name":"comment.line.documentation.rust","match":"(///).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}},{"name":"comment.line.double-slash.rust","match":"(//).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}}]},"constants":{"patterns":[{"name":"constant.other.caps.rust","match":"\\b[A-Z]{2}[A-Z0-9_]*\\b"},{"match":"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.hex.rust","match":"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.oct.rust","match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.bin.rust","match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.language.bool.rust","match":"\\b(true|false)\\b"}]},"escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"functions":{"patterns":[{"match":"\\b(pub)(\\()","captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.definition.rust","begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(\u003c))","end":"(\\{)|(;)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::\u003c.*\u003e\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}}]},"gtypes":{"patterns":[{"name":"entity.name.type.option.rust","match":"\\b(Some|None)\\b"},{"name":"entity.name.type.result.rust","match":"\\b(Ok|Err)\\b"}]},"interpolations":{"name":"meta.interpolation.rust","match":"({)[^\"{}]*(})","captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}}},"keywords":{"patterns":[{"name":"keyword.control.rust","match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b"},{"name":"keyword.other.rust storage.type.rust","match":"\\b(extern|let|macro|mod)\\b"},{"name":"storage.modifier.rust","match":"\\b(const)\\b"},{"name":"keyword.declaration.type.rust storage.type.rust","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.rust storage.type.rust","match":"\\b(enum)\\b"},{"name":"keyword.declaration.trait.rust storage.type.rust","match":"\\b(trait)\\b"},{"name":"keyword.declaration.struct.rust storage.type.rust","match":"\\b(struct)\\b"},{"name":"storage.modifier.rust","match":"\\b(abstract|static)\\b"},{"name":"keyword.other.rust","match":"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b"},{"name":"keyword.other.fn.rust","match":"\\bfn\\b"},{"name":"keyword.other.crate.rust","match":"\\bcrate\\b"},{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},{"name":"keyword.operator.logical.rust","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.rust","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.rust","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.rust","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"match":"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([\u003c\u003e])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))","captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}}},{"name":"keyword.operator.namespace.rust","match":"::"},{"match":"(\\*)(?=\\w+)","captures":{"1":{"name":"keyword.operator.dereference.rust"}}},{"name":"keyword.operator.subpattern.rust","match":"@"},{"name":"keyword.operator.access.dot.rust","match":"\\.(?!\\.)"},{"name":"keyword.operator.range.rust","match":"\\.{2}(=|\\.)?"},{"name":"keyword.operator.key-value.rust","match":":(?!:)"},{"name":"keyword.operator.arrow.skinny.rust","match":"-\u003e|\u003c-"},{"name":"keyword.operator.arrow.fat.rust","match":"=\u003e"},{"name":"keyword.operator.macro.dollar.rust","match":"\\$"},{"name":"keyword.operator.question.rust","match":"\\?"}]},"lifetimes":{"patterns":[{"match":"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}}},{"match":"(\\\u0026)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}}}]},"lvariables":{"patterns":[{"name":"variable.language.self.rust","match":"\\b[Ss]elf\\b"},{"name":"variable.language.super.rust","match":"\\bsuper\\b"}]},"macros":{"patterns":[{"name":"meta.macro.rust","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}}}]},"namespaces":{"patterns":[{"match":"(?\u003c![A-Za-z0-9_])([A-Za-z0-9_]+)((?\u003c!super|self)::)","captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}}}]},"punctuation":{"patterns":[{"name":"punctuation.comma.rust","match":","},{"name":"punctuation.brackets.curly.rust","match":"[{}]"},{"name":"punctuation.brackets.round.rust","match":"[()]"},{"name":"punctuation.semi.rust","match":";"},{"name":"punctuation.brackets.square.rust","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.rust","match":"(?\u003c!=)[\u003c\u003e]"}]},"strings":{"patterns":[{"name":"string.quoted.double.rust","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"},{"include":"#interpolations"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?r)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.single.char.rust","begin":"(b)?(')","end":"'","patterns":[{"include":"#escapes"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.char.rust"}}}]},"types":{"patterns":[{"match":"(?\u003c![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"begin":"\\b(_?[A-Z][A-Za-z0-9_]*)(\u003c)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"entity.name.type.primitive.rust","match":"\\b(bool|char|str)\\b"},{"match":"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}}},{"match":"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}}},{"match":"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}}},{"match":"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}}},{"name":"entity.name.type.rust","match":"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"}]},"variables":{"patterns":[{"name":"variable.other.rust","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
1
+ {"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"(\u003c)(\\[)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"meta.macro.metavariable.type.rust","match":"(\\$)((crate)|([A-Z]\\w*))(\\s*(:)\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\b)?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.metavariable.rust","match":"(\\$)([a-z]\\w*)(\\s*(:)\\s*(block|expr(?:_2021)?|ident|item|lifetime|literal|meta|pat(?:_param)?|path|stmt|tt|ty|vis)\\b)?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.rules.rust","match":"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)","captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}}},{"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}}},{"name":"meta.import.rust","begin":"\\b(extern)\\s+(crate)","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"name":"meta.use.rust","begin":"\\b(use)\\s","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}],"beginCaptures":{"1":{"name":"keyword.other.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"name":"meta.attribute.rust","begin":"(#)(\\!?)(\\[)","end":"\\]","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}}},"block-comments":{"patterns":[{"name":"comment.block.rust","match":"/\\*\\*/"},{"name":"comment.block.documentation.rust","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.rust","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"c-string-escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[\\da-fA-F]{2})|(u(\\{)(?:[\\da-fA-F]_*){1,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"comments":{"patterns":[{"name":"comment.line.documentation.rust","match":"(///).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}},{"name":"comment.line.double-slash.rust","match":"(//).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}}]},"constants":{"patterns":[{"name":"constant.other.caps.rust","match":"\\b[A-Z]{2}[A-Z0-9_]*\\b"},{"match":"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b(\\d[\\d_]*(?:(\\.)[\\d_]*)?)(E|e)([+-]?)([\\d_]+)(f16|f32|f64|f128)?\\b","captures":{"1":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"2":{"name":"punctuation.separator.dot.decimal.rust"},"3":{"name":"keyword.operator.exponent.rust"},"4":{"name":"keyword.operator.exponent.sign.rust"},"6":{"name":"storage.type.numeric.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b(?=[\\d_]*(?:\\.[\\d_]+|f(?:16|32|64|128)\\b))\\d[\\d_]*(\\.?)[\\d_]*(f16|f32|f64|f128)?\\b","captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"storage.type.numeric.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b\\d[\\d_]*(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"storage.type.numeric.rust"}}},{"name":"constant.numeric.hex.rust","match":"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"storage.type.numeric.rust"}}},{"name":"constant.numeric.oct.rust","match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"storage.type.numeric.rust"}}},{"name":"constant.numeric.bin.rust","match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"storage.type.numeric.rust"}}},{"name":"constant.language.bool.rust","match":"\\b(true|false)\\b"}]},"escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"functions":{"patterns":[{"match":"\\b(pub)\\b","captures":{"1":{"name":"storage.modifier.visibility.rust"}}},{"match":"\\b(pub)(\\()","captures":{"1":{"name":"storage.modifier.visibility.rust"},"2":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.definition.rust","begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(\u003c))","end":"(\\{)|(;)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.rust"},"2":{"name":"punctuation.semi.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::\u003c.*\u003e\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}}]},"gtypes":{"patterns":[{"name":"entity.name.type.option.rust","match":"\\b(Some|None)\\b"},{"name":"entity.name.type.result.rust","match":"\\b(Ok|Err)\\b"}]},"interpolations":{"name":"meta.interpolation.rust","match":"({)[^\"{}]*(})","captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}}},"keywords":{"patterns":[{"name":"keyword.control.rust","match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b"},{"name":"keyword.other.rust storage.type.rust","match":"\\b(extern|let|macro|mod)\\b"},{"name":"storage.modifier.rust","match":"\\b(const)\\b"},{"name":"keyword.declaration.type.rust storage.type.rust","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.rust storage.type.rust","match":"\\b(enum)\\b"},{"name":"keyword.declaration.trait.rust storage.type.rust","match":"\\b(trait)\\b"},{"name":"keyword.declaration.struct.rust storage.type.rust","match":"\\b(struct)\\b"},{"name":"storage.modifier.rust","match":"\\b(abstract|static)\\b"},{"name":"keyword.other.rust","match":"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b"},{"name":"keyword.other.fn.rust","match":"\\bfn\\b"},{"name":"keyword.other.crate.rust","match":"\\bcrate\\b"},{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},{"name":"keyword.operator.logical.rust","match":"(\\|\\||\u0026\u0026|!)(?!=)"},{"name":"keyword.operator.bitwise.rust","match":"(\u003c\u003c|\u003e\u003e|\\^|\\|(?!\\|))(?!=)"},{"name":"keyword.operator.borrow.and.rust","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.rust","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.rust","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"match":"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([\u003c\u003e])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))","captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}}},{"name":"keyword.operator.namespace.rust","match":"::"},{"match":"(\\*)(?=\\w+)","captures":{"1":{"name":"keyword.operator.dereference.rust"}}},{"name":"keyword.operator.subpattern.rust","match":"@"},{"name":"keyword.operator.access.dot.rust","match":"\\.(?!\\.)"},{"name":"keyword.operator.range.rust","match":"\\.{2}(=|\\.)?"},{"name":"keyword.operator.key-value.rust","match":":(?!:)"},{"name":"keyword.operator.arrow.skinny.rust","match":"-\u003e|\u003c-"},{"name":"keyword.operator.arrow.fat.rust","match":"=\u003e"},{"name":"keyword.operator.macro.dollar.rust","match":"\\$"},{"name":"keyword.operator.question.rust","match":"\\?"}]},"lifetimes":{"patterns":[{"match":"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}}},{"match":"(\\\u0026)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}}}]},"lvariables":{"patterns":[{"name":"variable.language.self.rust","match":"\\b[Ss]elf\\b"},{"name":"variable.language.super.rust","match":"\\bsuper\\b"}]},"macros":{"patterns":[{"name":"meta.macro.rust","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}}}]},"namespaces":{"patterns":[{"match":"(?\u003c![A-Za-z0-9_])([A-Za-z0-9_]+)((?\u003c!super|self)::)","captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}}}]},"punctuation":{"patterns":[{"name":"punctuation.comma.rust","match":","},{"name":"punctuation.brackets.curly.rust","match":"[{}]"},{"name":"punctuation.brackets.round.rust","match":"[()]"},{"name":"punctuation.semi.rust","match":";"},{"name":"punctuation.brackets.square.rust","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.rust","match":"(?\u003c!=)[\u003c\u003e]"}]},"strings":{"patterns":[{"name":"string.quoted.double.c.rust","begin":"(c)(\")","end":"\"","patterns":[{"include":"#c-string-escapes"}],"beginCaptures":{"1":{"name":"string.quoted.c.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.c.raw.rust","begin":"(cr)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.c.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"},{"include":"#interpolations"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?r)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.single.char.rust","begin":"(b)?(')","end":"'","patterns":[{"include":"#escapes"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.char.rust"}}}]},"types":{"patterns":[{"match":"(?\u003c![A-Za-z])(f16|f32|f64|f128|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b","captures":{"1":{"name":"storage.type.numeric.rust"}}},{"begin":"\\b(_?[A-Z][A-Za-z0-9_]*)(\u003c)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"storage.type.primitive.rust","match":"\\b(bool|char|str)\\b"},{"match":"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}}},{"match":"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}}},{"match":"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}}},{"match":"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}}},{"name":"entity.name.type.rust","match":"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"}]},"variables":{"patterns":[{"name":"variable.other.rust","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}