github-linguist 9.0.0 → 9.1.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.
- checksums.yaml +4 -4
- data/grammars/liquid.injection.json +1 -1
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.answersetprogramming.json +1 -0
- data/grammars/source.apacheconf.json +1 -0
- data/grammars/source.assembly.json +1 -1
- data/grammars/source.ats.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bst.json +1 -0
- data/grammars/source.c.linker.json +1 -0
- data/grammars/source.cairo0.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curry.json +1 -1
- data/grammars/source.dds.dspf.json +1 -1
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.git-revlist.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hcl.json +1 -1
- data/grammars/source.ice.json +1 -1
- data/grammars/source.ispc.json +1 -0
- data/grammars/source.jai.json +1 -0
- data/grammars/source.json.comments.json +1 -0
- data/grammars/source.just.json +1 -1
- data/grammars/source.kdl.json +1 -0
- data/grammars/source.lean.markdown.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.mzn.json +1 -0
- data/grammars/source.nr.json +1 -1
- data/grammars/source.openesql.json +1 -1
- data/grammars/source.overpassql.json +1 -0
- data/grammars/source.polar.json +1 -1
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.purescript.json +1 -1
- data/grammars/source.ql.json +1 -1
- data/grammars/source.qsharp.json +1 -1
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.scm.json +1 -0
- data/grammars/source.slang.json +1 -0
- data/grammars/source.slice.json +1 -1
- data/grammars/source.sourcepawn.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.tact.json +1 -1
- data/grammars/source.talon.json +1 -1
- data/grammars/source.templ.json +1 -1
- data/grammars/source.textgrid.json +1 -1
- data/grammars/source.toc.json +1 -1
- data/grammars/source.ts.prismaClientRawSQL.json +1 -1
- data/grammars/source.tsp.json +1 -1
- data/grammars/source.typst.json +1 -1
- data/grammars/source.vue.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.xmake.json +1 -0
- data/grammars/text.html.liquid.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -1
- data/grammars/text.rtf.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +1 -1
- data/lib/linguist/heuristics.yml +57 -17
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +155 -23
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/shebang.rb +1 -1
- metadata +16 -6
- data/grammars/source.apache-config.json +0 -1
- data/grammars/source.apache-config.mod_perl.json +0 -1
- data/grammars/text.html.erlang.yaws.json +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"name":"PureScript","scopeName":"source.purescript","patterns":[{"name":"keyword.operator.function.infix.purescript","match":"(`)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(`)","captures":{"1":{"name":"punctuation.definition.entity.purescript"},"2":{"name":"punctuation.definition.entity.purescript"}}},{"name":"meta.declaration.module.purescript","begin":"^\\s*\\b(module)(?!')\\b","end":"(where)","patterns":[{"include":"#comments"},{"include":"#module_name"},{"include":"#module_exports"},{"name":"invalid.purescript","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.typeclass.purescript","begin":"^\\s*\\b(class)(?!')\\b","end":"\\b(where)\\b|$","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"storage.type.class.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.instance.purescript","contentName":"meta.type-signature.purescript","begin":"^\\s*\\b(else\\s+)?(derive\\s+)?(newtype\\s+)?(instance)(?!')\\b","end":"\\b(where)\\b|$","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"},"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.foreign.data.purescript","contentName":"meta.kind-signature.purescript","begin":"^(\\s*)(foreign)\\s+(import)\\s+(data)\\s+([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#kind_signature"}],"beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"},"5":{"name":"entity.name.type.purescript"},"6":{"name":"keyword.other.double-colon.purescript"}}},{"name":"meta.foreign.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)(foreign)\\s+(import)\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"entity.name.function.purescript"}}},{"name":"meta.import.purescript","begin":"^\\s*\\b(import)(?!')\\b","end":"($|(?=--))","patterns":[{"include":"#module_name"},{"include":"#module_exports"},{"match":"\\b(as|hiding)\\b","captures":{"1":{"name":"keyword.other.purescript"}}}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}}},{"name":"meta.declaration.type.data.purescript","begin":"^(\\s)*(data|newtype)\\s+(.+?)\\s*(?=\\=|$)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#comments"},{"match":"=","captures":{"0":{"name":"keyword.operator.assignment.purescript"}}},{"match":"(?:(?:\\b([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cctorArgs\u003e(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|-\u003e|=\u003e)+\\s*)+))(?:\\s*(?:\\s+)\\s*\\g\u003cctorArgs\u003e)?)?))","captures":{"1":{"patterns":[{"include":"#data_ctor"}]},"2":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"match":"\\|","captures":{"0":{"name":"punctuation.separator.pipe.purescript"}}},{"include":"#record_types"}],"beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"name":"meta.declaration.type.type.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s)*(type)\\s+(.+?)\\s*(?=\\=|$)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"match":"=","captures":{"0":{"name":"keyword.operator.assignment.purescript"}}},{"include":"#type_signature"},{"include":"#record_types"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"name":"keyword.other.purescript","match":"^\\s*\\b(derive|where|data|type|newtype|infix[lr]?|foreign(\\s+import)?(\\s+data)?)(?!')\\b"},{"name":"entity.name.function.typed-hole.purescript","match":"\\?(?:[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)"},{"name":"storage.type.purescript","match":"^\\s*\\b(data|type|newtype)(?!')\\b"},{"name":"keyword.control.purescript","match":"\\b(do|ado|if|then|else|case|of|let|in)(?!('|\\s*(:|=)))\\b"},{"name":"constant.numeric.hex.purescript","match":"\\b(?\u003c!\\$)0(x|X)[0-9a-fA-F]+\\b(?!\\$)"},{"name":"constant.numeric.decimal.purescript","match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.purescript"},"1":{"name":"meta.delimiter.decimal.period.purescript"},"2":{"name":"meta.delimiter.decimal.period.purescript"},"3":{"name":"meta.delimiter.decimal.period.purescript"},"4":{"name":"meta.delimiter.decimal.period.purescript"},"5":{"name":"meta.delimiter.decimal.period.purescript"},"6":{"name":"meta.delimiter.decimal.period.purescript"}}},{"name":"constant.language.boolean.purescript","match":"\\b(true|false)\\b"},{"name":"constant.numeric.purescript","match":"\\b(([0-9]+_?)*[0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.triple.purescript","begin":"\"\"\"","end":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}}},{"name":"string.quoted.double.purescript","begin":"\"","end":"\"","patterns":[{"include":"#characters"},{"begin":"\\\\\\s","end":"\\\\","patterns":[{"name":"invalid.illegal.character-not-allowed-here.purescript","match":"\\S+"}],"beginCaptures":{"0":{"name":"markup.other.escape.newline.begin.purescript"}},"endCaptures":{"0":{"name":"markup.other.escape.newline.end.purescript"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}}},{"name":"markup.other.escape.newline.purescript","match":"\\\\$"},{"name":"string.quoted.single.purescript","match":"(')((?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_])))(')","captures":{"1":{"name":"punctuation.definition.string.begin.purescript"},"2":{"patterns":[{"include":"#characters"}]},"7":{"name":"punctuation.definition.string.end.purescript"}}},{"include":"#function_type_declaration"},{"match":"\\((?\u003cparen\u003e(?:[^()]|\\(\\g\u003cparen\u003e\\))*)(::|∷)(?\u003cparen2\u003e(?:[^()]|\\(\\g\u003cparen2\u003e\\))*)\\)","captures":{"1":{"patterns":[{"include":"$self"}]},"2":{"name":"keyword.other.double-colon.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"begin":"^(\\s*)(?:(::|∷))","end":"^(?!\\1[ \\t]*|[ \\t]*$)","patterns":[{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"keyword.other.double-colon.purescript"}}},{"include":"#data_ctor"},{"include":"#comments"},{"include":"#infix_op"},{"name":"keyword.other.arrow.purescript","match":"\\\u003c-|-\\\u003e"},{"name":"keyword.operator.purescript","match":"[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+"},{"name":"punctuation.separator.comma.purescript","match":","}],"repository":{"block_comment":{"patterns":[{"name":"comment.block.documentation.purescript","begin":"\\{-\\s*\\|","end":"-\\}","patterns":[{"include":"#block_comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"applyEndPatternLast":true},{"name":"comment.block.purescript","begin":"\\{-","end":"-\\}","patterns":[{"include":"#block_comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}},"applyEndPatternLast":true}]},"characters":{"patterns":[{"match":"(?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))","captures":{"1":{"name":"constant.character.escape.purescript"},"2":{"name":"constant.character.escape.octal.purescript"},"3":{"name":"constant.character.escape.hexadecimal.purescript"},"4":{"name":"constant.character.escape.control.purescript"}}}]},"class_constraint":{"patterns":[{"name":"meta.class-constraint.purescript","match":"(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?)))","captures":{"1":{"patterns":[{"name":"entity.name.type.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"2":{"patterns":[{"include":"#type_name"},{"include":"#generic_type"}]}}}]},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=--+\\s+\\|)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.documentation.purescript","begin":"(--+)\\s+(\\|)","end":"\\n","beginCaptures":{"1":{"name":"punctuation.definition.comment.purescript"},"2":{"name":"punctuation.definition.comment.documentation.purescript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.purescript"}}},{"begin":"(^[ \\t]+)?(?=--+(?![\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]))","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.purescript","begin":"--","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.purescript"}}},{"include":"#block_comment"}]},"data_ctor":{"patterns":[{"name":"entity.name.tag.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"double_colon":{"patterns":[{"name":"keyword.other.double-colon.purescript","match":"(?:::|∷)"}]},"function_type_declaration":{"patterns":[{"name":"meta.function.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(?:(::|∷)(?!.*\u003c-))","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"entity.name.function.purescript"},"3":{"name":"keyword.other.double-colon.purescript"}}}]},"generic_type":{"patterns":[{"name":"variable.other.generic-type.purescript","match":"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},"infix_op":{"patterns":[{"name":"entity.name.function.infix.purescript","match":"(?:\\((?!--+\\))[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+\\))"}]},"kind_signature":{"patterns":[{"name":"keyword.other.star.purescript","match":"\\*"},{"name":"keyword.other.exclaimation-point.purescript","match":"!"},{"name":"keyword.other.pound-sign.purescript","match":"#"},{"name":"keyword.other.arrow.purescript","match":"-\u003e|→"}]},"module_exports":{"patterns":[{"name":"meta.declaration.exports.purescript","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"entity.name.function.purescript","match":"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"},{"include":"#type_name"},{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#infix_op"},{"name":"meta.other.constructor-list.purescript","match":"\\(.*?\\)"}]}]},"module_name":{"patterns":[{"name":"support.other.module.purescript","match":"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)*[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.?"}]},"record_field_declaration":{"patterns":[{"name":"meta.record-field.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)","end":"(?=([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)|})","patterns":[{"include":"#type_signature"},{"include":"#record_types"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.other.attribute-name.purescript","match":"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},"2":{"name":"keyword.other.double-colon.purescript"}}}]},"record_types":{"patterns":[{"name":"meta.type.record.purescript","begin":"\\{","end":"\\}","patterns":[{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#record_field_declaration"},{"include":"#comments"}],"beginCaptures":{"0":{"name":"keyword.operator.type.record.begin.purescript"}},"endCaptures":{"0":{"name":"keyword.operator.type.record.end.purescript"}}}]},"type_name":{"patterns":[{"name":"entity.name.type.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"type_signature":{"patterns":[{"name":"meta.class-constraints.purescript","match":"(?:(?:\\()(?:(?\u003cclassConstraints\u003e(?:(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?))))(?:\\s*(?:,)\\s*\\g\u003cclassConstraints\u003e)?))(?:\\))(?:\\s*(=\u003e|\u003c=|⇐|⇒)))","captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"4":{"name":"keyword.other.big-arrow.purescript"}}},{"name":"meta.class-constraints.purescript","match":"((?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g\u003cclassConstraint\u003e)?))))\\s*(=\u003e|\u003c=|⇐|⇒)","captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"4":{"name":"keyword.other.big-arrow.purescript"}}},{"name":"keyword.other.arrow.purescript","match":"-\u003e|→"},{"name":"keyword.other.big-arrow.purescript","match":"=\u003e|⇒"},{"name":"keyword.other.big-arrow-left.purescript","match":"\u003c=|⇐"},{"name":"keyword.other.forall.purescript","match":"forall|∀"},{"include":"#generic_type"},{"include":"#type_name"},{"include":"#comments"}]}}}
|
1
|
+
{"name":"PureScript","scopeName":"source.purescript","patterns":[{"include":"#module_declaration"},{"include":"#module_import"},{"include":"#type_synonym_declaration"},{"include":"#data_type_declaration"},{"include":"#typeclass_declaration"},{"include":"#instance_declaration"},{"include":"#derive_declaration"},{"include":"#infix_op_declaration"},{"include":"#foreign_import_data"},{"include":"#foreign_import"},{"include":"#function_type_declaration"},{"include":"#function_type_declaration_arrow_first"},{"include":"#typed_hole"},{"include":"#keywords_orphan"},{"include":"#control_keywords"},{"include":"#function_infix"},{"include":"#data_ctor"},{"include":"#infix_op"},{"include":"#constants_numeric_decimal"},{"include":"#constant_numeric"},{"include":"#constant_boolean"},{"include":"#string_triple_quoted"},{"include":"#string_single_quoted"},{"include":"#string_double_quoted"},{"include":"#markup_newline"},{"include":"#string_double_colon_parens"},{"include":"#double_colon_parens"},{"include":"#double_colon_inlined"},{"include":"#comments"},{"name":"keyword.other.arrow.purescript","match":"\\\u003c-|-\\\u003e"},{"name":"keyword.operator.purescript","match":"[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+"},{"name":"punctuation.separator.comma.purescript","match":","}],"repository":{"block_comment":{"patterns":[{"name":"comment.block.documentation.purescript","begin":"\\{-\\s*\\|","end":"-\\}","patterns":[{"include":"#block_comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.documentation.purescript"}},"applyEndPatternLast":true},{"name":"comment.block.purescript","begin":"\\{-","end":"-\\}","patterns":[{"include":"#block_comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}},"applyEndPatternLast":true}]},"characters":{"patterns":[{"match":"(?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))","captures":{"1":{"name":"constant.character.escape.purescript"},"2":{"name":"constant.character.escape.octal.purescript"},"3":{"name":"constant.character.escape.hexadecimal.purescript"},"4":{"name":"constant.character.escape.control.purescript"}}}]},"class_constraint":{"patterns":[{"name":"meta.class-constraint.purescript","match":"(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))*)))","captures":{"1":{"patterns":[{"name":"entity.name.type.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"2":{"patterns":[{"include":"#type_name"},{"include":"#generic_type"}]}}}]},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=--+)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.purescript","begin":"--","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.purescript"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.purescript"}}},{"include":"#block_comment"}]},"constant_boolean":{"patterns":[{"name":"constant.language.boolean.purescript","match":"\\b(true|false)(?!')\\b"}]},"constant_numeric":{"patterns":[{"name":"constant.numeric.purescript","match":"\\b(([0-9]+_?)*[0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"}]},"constants_numeric_decimal":{"patterns":[{"name":"constant.numeric.decimal.purescript","match":"(?x)\n(?\u003c!\\$)(?:\n (?:\\b[0-9]+(\\.)[0-9]+[eE][+-]?[0-9]+\\b)| # 1.1E+3\n (?:\\b[0-9]+[eE][+-]?[0-9]+\\b)| # 1E+3\n (?:\\b[0-9]+(\\.)[0-9]+\\b)| # 1.1\n (?:\\b[0-9]+\\b(?!\\.)) # 1\n)(?!\\$)","captures":{"0":{"name":"constant.numeric.decimal.purescript"},"1":{"name":"meta.delimiter.decimal.period.purescript"},"2":{"name":"meta.delimiter.decimal.period.purescript"},"3":{"name":"meta.delimiter.decimal.period.purescript"},"4":{"name":"meta.delimiter.decimal.period.purescript"},"5":{"name":"meta.delimiter.decimal.period.purescript"},"6":{"name":"meta.delimiter.decimal.period.purescript"}}}]},"control_keywords":{"patterns":[{"name":"keyword.control.purescript","match":"\\b(do|ado|if|then|else|case|of|let|in)(?!('|\\s*(:|=)))\\b"}]},"data_ctor":{"patterns":[{"name":"entity.name.tag.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"data_type_declaration":{"patterns":[{"name":"meta.declaration.type.data.purescript","begin":"^(\\s)*(data|newtype)\\s+(.+?)\\s*(?=\\=|$)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#comments"},{"captures":{"2":{"patterns":[{"include":"#data_ctor"}]}}},{"match":"\\|","captures":{"0":{"name":"keyword.operator.pipe.purescript"}}},{"include":"#record_types"},{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}}]},"derive_declaration":{"patterns":[{"name":"meta.declaration.derive.purescript","contentName":"meta.type-signature.purescript","begin":"^\\s*\\b(derive)(\\s+newtype)?(\\s+instance)?(?!')\\b","end":"^(?=\\S)","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"},"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}}]},"double_colon":{"patterns":[{"name":"keyword.other.double-colon.purescript","match":"(?:::|∷)"}]},"double_colon_inlined":{"patterns":[{"patterns":[{"match":"((?:::|∷))(.*?)(?=\u003c-| \"\"\")","captures":{"1":{"name":"keyword.other.double-colon.purescript"},"2":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}}]},{"patterns":[{"begin":"((?:::|∷))","end":"(?=^(\\s|\\S))","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"keyword.other.double-colon.purescript"}}}]}]},"double_colon_orphan":{"patterns":[{"begin":"(\\s*)(?:(::|∷))(\\s*)$","end":"^(?!\\1[ \\t]*|[ \\t]*$)","patterns":[{"include":"#type_signature"}],"beginCaptures":{"2":{"name":"keyword.other.double-colon.purescript"}}}]},"double_colon_parens":{"patterns":[{"match":"\\((?\u003cparen\u003e(?:[^()]|\\(\\g\u003cparen\u003e\\))*)(::|∷)(?\u003cparen2\u003e(?:[^()}]|\\(\\g\u003cparen2\u003e\\))*)\\)","captures":{"1":{"patterns":[{"include":"$self"}]},"2":{"name":"keyword.other.double-colon.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}}]},"foreign_import":{"patterns":[{"name":"meta.foreign.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)(foreign)\\s+(import)\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_types"}],"beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"entity.name.function.purescript"}}}]},"foreign_import_data":{"patterns":[{"name":"meta.foreign.data.purescript","contentName":"meta.kind-signature.purescript","begin":"^(\\s*)(foreign)\\s+(import)\\s+(data)\\s(?:\\s+([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*((?:::|∷)))?","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#comments"},{"include":"#type_signature"},{"include":"#record_types"}],"beginCaptures":{"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"},"5":{"name":"entity.name.type.purescript"},"6":{"name":"keyword.other.double-colon.purescript"}}}]},"function_infix":{"patterns":[{"name":"keyword.operator.function.infix.purescript","match":"(`)(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*.*(`)","captures":{"1":{"name":"punctuation.definition.entity.purescript"},"2":{"name":"punctuation.definition.entity.purescript"}}}]},"function_type_declaration":{"patterns":[{"name":"meta.function.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(?:(::|∷)(?!.*\u003c-))","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_types"},{"include":"#row_types"}],"beginCaptures":{"2":{"name":"entity.name.function.purescript"},"3":{"name":"keyword.other.double-colon.purescript"}}}]},"function_type_declaration_arrow_first":{"patterns":[{"name":"meta.function.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s*)(?:\\s(::|∷)(?!.*\u003c-))","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"include":"#double_colon"},{"include":"#type_signature"},{"include":"#record_types"},{"include":"#row_types"}],"beginCaptures":{"2":{"name":"keyword.other.double-colon.purescript"}}}]},"generic_type":{"patterns":[{"name":"variable.other.generic-type.purescript","match":"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"}]},"infix_op":{"patterns":[{"name":"entity.name.function.infix.purescript","match":"(?:\\((?!--+\\))[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+\\))"}]},"infix_op_declaration":{"patterns":[{"name":"meta.infix.declaration.purescript","begin":"^\\b(infix[l|r]?)(?!')\\b","end":"($)","patterns":[{"include":"#comments"},{"include":"#data_ctor"},{"name":"constant.numeric.purescript","match":" \\d+ "},{"match":"([\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+)","captures":{"1":{"name":"keyword.other.purescript"}}},{"match":"\\b(type)\\s+([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\b","captures":{"1":{"name":"keyword.other.purescript"},"2":{"name":"entity.name.type.purescript"}}},{"match":"\\b(as|type)\\b","captures":{"1":{"name":"keyword.other.purescript"}}}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}}}]},"instance_declaration":{"patterns":[{"name":"meta.declaration.instance.purescript","contentName":"meta.type-signature.purescript","begin":"^\\s*\\b(else\\s+)?(newtype\\s+)?(instance)(?!')\\b","end":"(\\bwhere\\b|(?=^\\S))","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"},"2":{"name":"keyword.other.purescript"},"3":{"name":"keyword.other.purescript"},"4":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}}]},"keywords_orphan":{"patterns":[{"name":"keyword.other.purescript","match":"^\\s*\\b(derive|where|data|type|newtype|foreign(\\s+import)?(\\s+data)?)(?!')\\b"}]},"kind_signature":{"patterns":[{"name":"keyword.other.star.purescript","match":"\\*"},{"name":"keyword.other.exclaimation-point.purescript","match":"!"},{"name":"keyword.other.pound-sign.purescript","match":"#"},{"name":"keyword.other.arrow.purescript","match":"-\u003e|→"}]},"markup_newline":{"patterns":[{"name":"markup.other.escape.newline.purescript","match":"\\\\$"}]},"module_declaration":{"patterns":[{"name":"meta.declaration.module.purescript","begin":"^\\s*\\b(module)(?!')\\b","end":"(\\bwhere\\b)","patterns":[{"include":"#comments"},{"include":"#module_name"},{"include":"#module_exports"},{"name":"invalid.purescript","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}}]},"module_exports":{"patterns":[{"name":"meta.declaration.exports.purescript","begin":"\\(","end":"\\)","patterns":[{"include":"#comments"},{"name":"entity.name.function.purescript","match":"\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"},{"include":"#type_name"},{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#infix_op"},{"name":"meta.other.constructor-list.purescript","match":"\\(.*?\\)"}]}]},"module_import":{"patterns":[{"name":"meta.import.purescript","begin":"^\\s*\\b(import)(?!')\\b","end":"^(?=\\S)","patterns":[{"include":"#module_name"},{"include":"#string_double_quoted"},{"include":"#comments"},{"include":"#module_exports"},{"match":"\\b(as|hiding)\\b","captures":{"1":{"name":"keyword.other.purescript"}}}],"beginCaptures":{"1":{"name":"keyword.other.purescript"}}}]},"module_name":{"patterns":[{"name":"support.other.module.purescript","match":"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)*[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.?"}]},"record_field_declaration":{"patterns":[{"name":"meta.record-field.type-declaration.purescript","contentName":"meta.type-signature.purescript","begin":"((?:[ ,])(?:\"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\")|[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)","end":"(?=((?:[ ,])(?:\"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\")|[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)|}| \\)|^(?!\\1[ \\t]|[ \\t]*$))","patterns":[{"include":"#record_types"},{"include":"#type_signature"},{"include":"#comments"}],"beginCaptures":{"1":{"patterns":[{"name":"entity.other.attribute-name.purescript","match":"(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"},{"name":"string.quoted.double.purescript","match":"\\\"([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\\""}]},"2":{"name":"keyword.other.double-colon.purescript"}}}]},"record_types":{"patterns":[{"name":"meta.type.record.purescript","begin":"\\{(?!-)","end":"\\}","patterns":[{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#comments"},{"include":"#record_field_declaration"},{"include":"#type_signature"}],"beginCaptures":{"0":{"name":"keyword.operator.type.record.begin.purescript"}},"endCaptures":{"0":{"name":"keyword.operator.type.record.end.purescript"}}}]},"row_types":{"patterns":[{"name":"meta.type.row.purescript","begin":"\\((?=\\s*([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|\"[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*\"|\"[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*\")\\s*(::|∷))","end":"(?=^\\S)","patterns":[{"name":"punctuation.separator.comma.purescript","match":","},{"include":"#comments"},{"include":"#record_field_declaration"},{"include":"#type_signature"}]}]},"string_double_colon_parens":{"patterns":[{"match":"\\((.*?)(\"(?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))*(::|∷)((?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_])))*\")","captures":{"1":{"patterns":[{"include":"$self"}]},"2":{"patterns":[{"include":"$self"}]}}}]},"string_double_quoted":{"patterns":[{"name":"string.quoted.double.purescript","begin":"\"","end":"\"","patterns":[{"include":"#characters"},{"begin":"\\\\\\s","end":"\\\\","patterns":[{"name":"invalid.illegal.character-not-allowed-here.purescript","match":"\\S+"}],"beginCaptures":{"0":{"name":"markup.other.escape.newline.begin.purescript"}},"endCaptures":{"0":{"name":"markup.other.escape.newline.end.purescript"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}}}]},"string_single_quoted":{"patterns":[{"name":"string.quoted.single.purescript","match":"(')((?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_])))(')","captures":{"1":{"name":"punctuation.definition.string.begin.purescript"},"2":{"patterns":[{"include":"#characters"}]},"7":{"name":"punctuation.definition.string.end.purescript"}}}]},"string_triple_quoted":{"patterns":[{"name":"string.quoted.triple.purescript","begin":"\"\"\"","end":"\"\"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.purescript"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.purescript"}}}]},"type_kind_signature":{"patterns":[{"name":"meta.declaration.type.data.signature.purescript","begin":"^(data|newtype)\\s+([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*((?:::|∷))","end":"(?=^\\S)","patterns":[{"include":"#type_signature"},{"match":"=","captures":{"0":{"name":"keyword.operator.assignment.purescript"}}},{"match":"(?:(?:\\b([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cctorArgs\u003e(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|-\u003e|=\u003e)+\\s*)+))(?:\\s*(?:\\s+)\\s*(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|-\u003e|=\u003e)+\\s*)+)))*)?))","captures":{"1":{"patterns":[{"include":"#data_ctor"}]},"2":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}},{"match":"\\|","captures":{"0":{"name":"keyword.operator.pipe.purescript"}}},{"include":"#record_types"}],"beginCaptures":{"1":{"name":"storage.type.data.purescript"},"2":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]},"3":{"name":"keyword.other.double-colon.purescript"}}}]},"type_name":{"patterns":[{"name":"entity.name.type.purescript","match":"\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"}]},"type_signature":{"patterns":[{"include":"#record_types"},{"name":"meta.class-constraints.purescript","match":"(?:(?:\\()(?:(?\u003cclassConstraints\u003e(?:(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))*))))(?:\\s*(?:,)\\s*(?:(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))*)))))*))(?:\\))(?:\\s*(=\u003e|\u003c=|⇐|⇒)))","captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"6":{"name":"keyword.other.big-arrow.purescript"}}},{"name":"meta.class-constraints.purescript","match":"((?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?\u003cclassConstraint\u003e(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*))*))))\\s*(=\u003e|\u003c=|⇐|⇒)","captures":{"1":{"patterns":[{"include":"#class_constraint"}]},"4":{"name":"keyword.other.big-arrow.purescript"}}},{"name":"keyword.other.arrow.purescript","match":"(?\u003c![\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']])(-\u003e|→)"},{"name":"keyword.other.big-arrow.purescript","match":"(?\u003c![\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']])(=\u003e|⇒)"},{"name":"keyword.other.big-arrow-left.purescript","match":"\u003c=|⇐"},{"name":"keyword.other.forall.purescript","match":"forall|∀"},{"include":"#string_double_quoted"},{"include":"#generic_type"},{"include":"#type_name"},{"include":"#comments"},{"name":"keyword.other.purescript","match":"[\\p{S}\\p{P}\u0026\u0026[^(),;\\[\\]`{}_\"']]+"}]},"type_synonym_declaration":{"patterns":[{"name":"meta.declaration.type.type.purescript","contentName":"meta.type-signature.purescript","begin":"^(\\s)*(type)\\s+(.+?)\\s*(?=\\=|$)","end":"^(?!\\1[ \\t]|[ \\t]*$)","patterns":[{"match":"=","captures":{"0":{"name":"keyword.operator.assignment.purescript"}}},{"include":"#type_signature"},{"include":"#record_types"},{"include":"#row_types"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"storage.type.data.purescript"},"3":{"name":"meta.type-signature.purescript","patterns":[{"include":"#type_signature"}]}}}]},"typeclass_declaration":{"patterns":[{"name":"meta.declaration.typeclass.purescript","begin":"^\\s*\\b(class)(?!')\\b","end":"(\\bwhere\\b|(?=^\\S))","patterns":[{"include":"#type_signature"}],"beginCaptures":{"1":{"name":"storage.type.class.purescript"}},"endCaptures":{"1":{"name":"keyword.other.purescript"}}}]},"typed_hole":{"patterns":[{"name":"entity.name.function.typed-hole.purescript","match":"\\?(?:[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)"}]}}}
|
data/grammars/source.ql.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"QL","scopeName":"source.ql","patterns":[{"include":"#module-member"}],"repository":{"abstract":{"name":"storage.modifier.abstract.ql","match":"(?x)\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_])))"},"additional":{"name":"storage.modifier.additional.ql","match":"(?x)\\b(?:additional)(?:(?!(?:[0-9A-Za-z_])))"},"and":{"name":"keyword.other.and.ql","match":"(?x)\\b(?:and)(?:(?!(?:[0-9A-Za-z_])))"},"annotation":{"patterns":[{"include":"#bindingset-annotation"},{"include":"#language-annotation"},{"include":"#pragma-annotation"},{"include":"#annotation-keyword"}]},"annotation-keyword":{"patterns":[{"include":"#abstract"},{"include":"#additional"},{"include":"#bindingset"},{"include":"#cached"},{"include":"#default"},{"include":"#deprecated"},{"include":"#external"},{"include":"#final"},{"include":"#language"},{"include":"#library"},{"include":"#override"},{"include":"#pragma"},{"include":"#private"},{"include":"#query"},{"include":"#signature"},{"include":"#transient"}]},"any":{"name":"keyword.quantifier.any.ql","match":"(?x)\\b(?:any)(?:(?!(?:[0-9A-Za-z_])))"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.ql","match":"(?x)\\+|-|\\*|/|%"},"as":{"name":"keyword.other.as.ql","match":"(?x)\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))"},"asc":{"name":"keyword.order.asc.ql","match":"(?x)\\b(?:asc)(?:(?!(?:[0-9A-Za-z_])))"},"at-lower-id":{"match":"(?x)@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"avg":{"name":"keyword.aggregate.avg.ql","match":"(?x)\\b(?:avg)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset":{"name":"storage.modifier.bindingset.ql","match":"(?x)\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset-annotation":{"name":"meta.block.bindingset-annotation.ql","begin":"(?x)((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#bindingset-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#bindingset"}]}}},"bindingset-annotation-body":{"name":"meta.block.bindingset-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"boolean":{"name":"keyword.type.boolean.ql","match":"(?x)\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_])))"},"by":{"name":"keyword.order.by.ql","match":"(?x)\\b(?:by)(?:(?!(?:[0-9A-Za-z_])))"},"cached":{"name":"storage.modifier.cached.ql","match":"(?x)\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))"},"class":{"name":"keyword.other.class.ql","match":"(?x)\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))"},"class-body":{"name":"meta.block.class-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#class-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"class-declaration":{"name":"meta.block.class-declaration.ql","begin":"(?x)((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c= \\} | ; )","patterns":[{"include":"#class-body"},{"include":"#extends-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.class.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}}},"class-member":{"patterns":[{"include":"#predicate-or-field-declaration"},{"include":"#annotation"},{"include":"#non-context-sensitive"}]},"close-angle":{"name":"punctuation.anglebracket.close.ql","match":"(?x)\u003e"},"close-brace":{"name":"punctuation.curlybrace.close.ql","match":"(?x)\\}"},"close-bracket":{"name":"punctuation.squarebracket.close.ql","match":"(?x)\\]"},"close-paren":{"name":"punctuation.parenthesis.close.ql","match":"(?x)\\)"},"comma":{"name":"punctuation.separator.comma.ql","match":"(?x),"},"comment":{"patterns":[{"name":"comment.block.documentation.ql","begin":"(?x)/\\*\\*","end":"(?x)\\*/","patterns":[{"begin":"(?x)(?\u003c=/\\*\\*)([^*]|\\*(?!/))*$","while":"(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)","patterns":[{"name":"keyword.tag.ql","match":"(?x)\\G\\s* (@\\S+)"}]}]},{"name":"comment.block.ql","begin":"(?x)/\\*","end":"(?x)\\*/"},{"name":"comment.line.double-slash.ql","match":"(?x)//.*$"}]},"comment-start":{"match":"(?x)// | /\\*"},"comparison-operator":{"name":"keyword.operator.comparison.ql","match":"(?x)=|\\!\\="},"concat":{"name":"keyword.aggregate.concat.ql","match":"(?x)\\b(?:concat)(?:(?!(?:[0-9A-Za-z_])))"},"count":{"name":"keyword.aggregate.count.ql","match":"(?x)\\b(?:count)(?:(?!(?:[0-9A-Za-z_])))"},"date":{"name":"keyword.type.date.ql","match":"(?x)\\b(?:date)(?:(?!(?:[0-9A-Za-z_])))"},"default":{"name":"storage.modifier.default.ql","match":"(?x)\\b(?:default)(?:(?!(?:[0-9A-Za-z_])))"},"deprecated":{"name":"storage.modifier.deprecated.ql","match":"(?x)\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))"},"desc":{"name":"keyword.order.desc.ql","match":"(?x)\\b(?:desc)(?:(?!(?:[0-9A-Za-z_])))"},"dont-care":{"name":"variable.language.dont-care.ql","match":"(?x)\\b(?:_)(?:(?!(?:[0-9A-Za-z_])))"},"dot":{"name":"punctuation.accessor.ql","match":"(?x)\\."},"dotdot":{"name":"punctuation.operator.range.ql","match":"(?x)\\.\\."},"else":{"name":"keyword.other.else.ql","match":"(?x)\\b(?:else)(?:(?!(?:[0-9A-Za-z_])))"},"end-of-as-clause":{"match":"(?x)(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))))"},"end-of-id":{"match":"(?x)(?!(?:[0-9A-Za-z_]))"},"exists":{"name":"keyword.quantifier.exists.ql","match":"(?x)\\b(?:exists)(?:(?!(?:[0-9A-Za-z_])))"},"expr-as-clause":{"name":"meta.block.expr-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"extends":{"name":"keyword.other.extends.ql","match":"(?x)\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))"},"extends-clause":{"name":"meta.block.extends-clause.ql","begin":"(?x)((?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#extends"}]}}},"external":{"name":"storage.modifier.external.ql","match":"(?x)\\b(?:external)(?:(?!(?:[0-9A-Za-z_])))"},"false":{"name":"constant.language.boolean.false.ql","match":"(?x)\\b(?:false)(?:(?!(?:[0-9A-Za-z_])))"},"final":{"name":"storage.modifier.final.ql","match":"(?x)\\b(?:final)(?:(?!(?:[0-9A-Za-z_])))"},"float":{"name":"keyword.type.float.ql","match":"(?x)\\b(?:float)(?:(?!(?:[0-9A-Za-z_])))"},"float-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+\\.[0-9]+(?![0-9])"},"forall":{"name":"keyword.quantifier.forall.ql","match":"(?x)\\b(?:forall)(?:(?!(?:[0-9A-Za-z_])))"},"forex":{"name":"keyword.quantifier.forex.ql","match":"(?x)\\b(?:forex)(?:(?!(?:[0-9A-Za-z_])))"},"from":{"name":"keyword.other.from.ql","match":"(?x)\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))"},"from-section":{"name":"meta.block.from-section.ql","begin":"(?x)((?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= (?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))) | (?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))) )","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|$))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#from"}]}}},"id-character":{"match":"(?x)[0-9A-Za-z_]"},"if":{"name":"keyword.other.if.ql","match":"(?x)\\b(?:if)(?:(?!(?:[0-9A-Za-z_])))"},"implements":{"name":"keyword.other.implements.ql","match":"(?x)\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))"},"implements-clause":{"name":"meta.block.implements-clause.ql","begin":"(?x)((?:\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#implements"}]}}},"implies":{"name":"keyword.other.implies.ql","match":"(?x)\\b(?:implies)(?:(?!(?:[0-9A-Za-z_])))"},"import":{"name":"keyword.other.import.ql","match":"(?x)\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))"},"import-as-clause":{"name":"meta.block.import-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"import-directive":{"name":"meta.block.import-directive.ql","begin":"(?x)((?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c!\\bimport)(?\u003c=(?:\\\u003e)|[A-Za-z0-9_]) (?!\\s*(\\.|\\:\\:|\\,|(?:\u003c)))","patterns":[{"include":"#instantiation-args"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#import"}]}}},"in":{"name":"keyword.other.in.ql","match":"(?x)\\b(?:in)(?:(?!(?:[0-9A-Za-z_])))"},"instanceof":{"name":"keyword.other.instanceof.ql","match":"(?x)\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_])))"},"instantiation-args":{"name":"meta.type.parameters.ql","begin":"(?x)((?:\u003c))","end":"(?x)((?:\u003e))","patterns":[{"include":"#instantiation-args"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-angle"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-angle"}]}}},"int":{"name":"keyword.type.int.ql","match":"(?x)\\b(?:int)(?:(?!(?:[0-9A-Za-z_])))"},"int-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+(?![0-9])"},"keyword":{"patterns":[{"include":"#dont-care"},{"include":"#and"},{"include":"#any"},{"include":"#as"},{"include":"#asc"},{"include":"#avg"},{"include":"#boolean"},{"include":"#by"},{"include":"#class"},{"include":"#concat"},{"include":"#count"},{"include":"#date"},{"include":"#desc"},{"include":"#else"},{"include":"#exists"},{"include":"#extends"},{"include":"#false"},{"include":"#float"},{"include":"#forall"},{"include":"#forex"},{"include":"#from"},{"include":"#if"},{"include":"#implies"},{"include":"#import"},{"include":"#in"},{"include":"#instanceof"},{"include":"#int"},{"include":"#max"},{"include":"#min"},{"include":"#module"},{"include":"#newtype"},{"include":"#none"},{"include":"#not"},{"include":"#or"},{"include":"#order"},{"include":"#predicate"},{"include":"#rank"},{"include":"#result"},{"include":"#select"},{"include":"#strictconcat"},{"include":"#strictcount"},{"include":"#strictsum"},{"include":"#string"},{"include":"#sum"},{"include":"#super"},{"include":"#then"},{"include":"#this"},{"include":"#true"},{"include":"#unique"},{"include":"#where"}]},"language":{"name":"storage.modifier.language.ql","match":"(?x)\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))"},"language-annotation":{"name":"meta.block.language-annotation.ql","begin":"(?x)((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#language-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#language"}]}}},"language-annotation-body":{"name":"meta.block.language-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"storage.modifier.ql","match":"(?x)\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"library":{"name":"storage.modifier.library.ql","match":"(?x)\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))"},"literal":{"patterns":[{"include":"#float-literal"},{"include":"#int-literal"},{"include":"#string-literal"}]},"lower-id":{"match":"(?x)\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"max":{"name":"keyword.aggregate.max.ql","match":"(?x)\\b(?:max)(?:(?!(?:[0-9A-Za-z_])))"},"min":{"name":"keyword.aggregate.min.ql","match":"(?x)\\b(?:min)(?:(?!(?:[0-9A-Za-z_])))"},"module":{"name":"keyword.other.module.ql","match":"(?x)\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))"},"module-body":{"name":"meta.block.module-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#module-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"module-declaration":{"name":"meta.block.module-declaration.ql","begin":"(?x)((?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#module-body"},{"include":"#implements-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#module"}]}}},"module-member":{"patterns":[{"include":"#import-directive"},{"include":"#import-as-clause"},{"include":"#module-declaration"},{"include":"#newtype-declaration"},{"include":"#newtype-branch-name-with-prefix"},{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#class-declaration"},{"include":"#select-clause"},{"include":"#predicate-or-field-declaration"},{"include":"#non-context-sensitive"},{"include":"#annotation"}]},"module-qualifier":{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?=\\s*\\:\\:)"},"newtype":{"name":"keyword.other.newtype.ql","match":"(?x)\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))"},"newtype-branch-name-with-prefix":{"name":"meta.block.newtype-branch-name-with-prefix.ql","begin":"(?x)\\= | (?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"0":{"patterns":[{"include":"#or"},{"include":"#comparison-operator"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"newtype-declaration":{"name":"meta.block.newtype-declaration.ql","begin":"(?x)((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#newtype"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"non-context-sensitive":{"patterns":[{"include":"#comment"},{"include":"#literal"},{"include":"#operator-or-punctuation"},{"include":"#keyword"}]},"none":{"name":"keyword.quantifier.none.ql","match":"(?x)\\b(?:none)(?:(?!(?:[0-9A-Za-z_])))"},"not":{"name":"keyword.other.not.ql","match":"(?x)\\b(?:not)(?:(?!(?:[0-9A-Za-z_])))"},"open-angle":{"name":"punctuation.anglebracket.open.ql","match":"(?x)\u003c"},"open-brace":{"name":"punctuation.curlybrace.open.ql","match":"(?x)\\{"},"open-bracket":{"name":"punctuation.squarebracket.open.ql","match":"(?x)\\["},"open-paren":{"name":"punctuation.parenthesis.open.ql","match":"(?x)\\("},"operator-or-punctuation":{"patterns":[{"include":"#relational-operator"},{"include":"#comparison-operator"},{"include":"#arithmetic-operator"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#dot"},{"include":"#dotdot"},{"include":"#pipe"},{"include":"#open-paren"},{"include":"#close-paren"},{"include":"#open-brace"},{"include":"#close-brace"},{"include":"#open-bracket"},{"include":"#close-bracket"},{"include":"#open-angle"},{"include":"#close-angle"}]},"or":{"name":"keyword.other.or.ql","match":"(?x)\\b(?:or)(?:(?!(?:[0-9A-Za-z_])))"},"order":{"name":"keyword.order.order.ql","match":"(?x)\\b(?:order)(?:(?!(?:[0-9A-Za-z_])))"},"override":{"name":"storage.modifier.override.ql","match":"(?x)\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))"},"pipe":{"name":"punctuation.separator.pipe.ql","match":"(?x)\\|"},"pragma":{"name":"storage.modifier.pragma.ql","match":"(?x)\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))"},"pragma-annotation":{"name":"meta.block.pragma-annotation.ql","begin":"(?x)((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#pragma-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#pragma"}]}}},"pragma-annotation-body":{"name":"meta.block.pragma-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"name":"storage.modifier.ql","match":"(?x)\\b(?:inline|noinline|nomagic|noopt)\\b"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"predicate":{"name":"keyword.other.predicate.ql","match":"(?x)\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_])))"},"predicate-body":{"name":"meta.block.predicate-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"predicate-body-contents":{"patterns":[{"include":"#expr-as-clause"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()"},{"name":"variable.other.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-or-field-declaration":{"name":"meta.block.predicate-or-field-declaration.ql","begin":"(?x)(?:(?=(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))(?!(?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))|(?:(?:(?:\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:additional)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:default)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:external)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:final)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:library)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:override)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:private)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:query)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:signature)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))))))) | (?=(?:(?:(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))))) | (?=(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"variable.field.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-parameter-list":{"name":"meta.block.predicate-parameter-list.ql","begin":"(?x)((?:\\())","end":"(?x)((?:\\)))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-paren"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-paren"}]}}},"predicate-start-keyword":{"patterns":[{"include":"#boolean"},{"include":"#date"},{"include":"#float"},{"include":"#int"},{"include":"#predicate"},{"include":"#string"}]},"private":{"name":"storage.modifier.private.ql","match":"(?x)\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))"},"query":{"name":"storage.modifier.query.ql","match":"(?x)\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))"},"rank":{"name":"keyword.aggregate.rank.ql","match":"(?x)\\b(?:rank)(?:(?!(?:[0-9A-Za-z_])))"},"relational-operator":{"name":"keyword.operator.relational.ql","match":"(?x)\u003c=|\u003c|\u003e=|\u003e"},"result":{"name":"variable.language.result.ql","match":"(?x)\\b(?:result)(?:(?!(?:[0-9A-Za-z_])))"},"select":{"name":"keyword.query.select.ql","match":"(?x)\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))"},"select-as-clause":{"match":"(?x)meta.block.select-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=(?:[0-9A-Za-z_])(?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"select-clause":{"name":"meta.block.select-clause.ql","begin":"(?x)(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#from-section"},{"include":"#where-section"},{"include":"#select-section"}]},"select-section":{"name":"meta.block.select-section.ql","begin":"(?x)((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=\\n)","patterns":[{"include":"#predicate-body-contents"},{"include":"#select-as-clause"}],"beginCaptures":{"1":{"patterns":[{"include":"#select"}]}}},"semicolon":{"name":"punctuation.separator.statement.ql","match":"(?x);"},"signature":{"name":"storage.modifier.signature.ql","match":"(?x)\\b(?:signature)(?:(?!(?:[0-9A-Za-z_])))"},"simple-id":{"match":"(?x)\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"strictconcat":{"name":"keyword.aggregate.strictconcat.ql","match":"(?x)\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_])))"},"strictcount":{"name":"keyword.aggregate.strictcount.ql","match":"(?x)\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_])))"},"strictsum":{"name":"keyword.aggregate.strictsum.ql","match":"(?x)\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_])))"},"string":{"name":"keyword.type.string.ql","match":"(?x)\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))"},"string-escape":{"name":"constant.character.escape.ql","match":"(?x)\\\\[\"\\\\nrt]"},"string-literal":{"name":"string.quoted.double.ql","begin":"(?x)\"","end":"(?x)(\") | ((?:[^\\\\\\n])$)","patterns":[{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ql"},"2":{"name":"invalid.illegal.newline.ql"}}},"sum":{"name":"keyword.aggregate.sum.ql","match":"(?x)\\b(?:sum)(?:(?!(?:[0-9A-Za-z_])))"},"super":{"name":"variable.language.super.ql","match":"(?x)\\b(?:super)(?:(?!(?:[0-9A-Za-z_])))"},"then":{"name":"keyword.other.then.ql","match":"(?x)\\b(?:then)(?:(?!(?:[0-9A-Za-z_])))"},"this":{"name":"variable.language.this.ql","match":"(?x)\\b(?:this)(?:(?!(?:[0-9A-Za-z_])))"},"transient":{"name":"storage.modifier.transient.ql","match":"(?x)\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))"},"true":{"name":"constant.language.boolean.true.ql","match":"(?x)\\b(?:true)(?:(?!(?:[0-9A-Za-z_])))"},"unique":{"name":"keyword.aggregate.unique.ql","match":"(?x)\\b(?:unique)(?:(?!(?:[0-9A-Za-z_])))"},"upper-id":{"match":"(?x)\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"where":{"name":"keyword.query.where.ql","match":"(?x)\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))"},"where-section":{"name":"meta.block.where-section.ql","begin":"(?x)((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#where"}]}}},"whitespace-or-comment-start":{"match":"(?x)\\s | $ | (?:// | /\\*)"}}}
|
1
|
+
{"name":"QL","scopeName":"source.ql","patterns":[{"include":"#module-member"}],"repository":{"abstract":{"name":"storage.modifier.abstract.ql","match":"(?x)\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_])))"},"additional":{"name":"storage.modifier.additional.ql","match":"(?x)\\b(?:additional)(?:(?!(?:[0-9A-Za-z_])))"},"and":{"name":"keyword.other.and.ql","match":"(?x)\\b(?:and)(?:(?!(?:[0-9A-Za-z_])))"},"annotation":{"patterns":[{"include":"#bindingset-annotation"},{"include":"#language-annotation"},{"include":"#pragma-annotation"},{"include":"#annotation-keyword"}]},"annotation-keyword":{"patterns":[{"include":"#abstract"},{"include":"#additional"},{"include":"#bindingset"},{"include":"#cached"},{"include":"#default"},{"include":"#deprecated"},{"include":"#external"},{"include":"#final"},{"include":"#language"},{"include":"#library"},{"include":"#override"},{"include":"#pragma"},{"include":"#private"},{"include":"#query"},{"include":"#signature"},{"include":"#transient"}]},"any":{"name":"keyword.quantifier.any.ql","match":"(?x)\\b(?:any)(?:(?!(?:[0-9A-Za-z_])))"},"arithmetic-operator":{"name":"keyword.operator.arithmetic.ql","match":"(?x)\\+|-|\\*|/|%"},"as":{"name":"keyword.other.as.ql","match":"(?x)\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))"},"asc":{"name":"keyword.order.asc.ql","match":"(?x)\\b(?:asc)(?:(?!(?:[0-9A-Za-z_])))"},"at-lower-id":{"match":"(?x)@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"avg":{"name":"keyword.aggregate.avg.ql","match":"(?x)\\b(?:avg)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset":{"name":"storage.modifier.bindingset.ql","match":"(?x)\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))"},"bindingset-annotation":{"name":"meta.block.bindingset-annotation.ql","begin":"(?x)((?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#bindingset-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#bindingset"}]}}},"bindingset-annotation-body":{"name":"meta.block.bindingset-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"boolean":{"name":"keyword.type.boolean.ql","match":"(?x)\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_])))"},"by":{"name":"keyword.order.by.ql","match":"(?x)\\b(?:by)(?:(?!(?:[0-9A-Za-z_])))"},"cached":{"name":"storage.modifier.cached.ql","match":"(?x)\\b(?:cached)(?:(?!(?:[0-9A-Za-z_])))"},"class":{"name":"keyword.other.class.ql","match":"(?x)\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))"},"class-body":{"name":"meta.block.class-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#class-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"class-declaration":{"name":"meta.block.class-declaration.ql","begin":"(?x)((?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c= \\} | ; )","patterns":[{"include":"#class-body"},{"include":"#extends-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.class.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#class"}]}}},"class-member":{"patterns":[{"include":"#predicate-or-field-declaration"},{"include":"#annotation"},{"include":"#non-context-sensitive"}]},"close-angle":{"name":"punctuation.anglebracket.close.ql","match":"(?x)\u003e"},"close-brace":{"name":"punctuation.curlybrace.close.ql","match":"(?x)\\}"},"close-bracket":{"name":"punctuation.squarebracket.close.ql","match":"(?x)\\]"},"close-paren":{"name":"punctuation.parenthesis.close.ql","match":"(?x)\\)"},"comma":{"name":"punctuation.separator.comma.ql","match":"(?x),"},"comment":{"patterns":[{"name":"comment.block.documentation.ql","begin":"(?x)/\\*\\*","end":"(?x)\\*/","patterns":[{"begin":"(?x)(?\u003c=/\\*\\*)([^*]|\\*(?!/))*$","while":"(?x)(^|\\G)\\s*([^*]|\\*(?!/))(?=([^*]|[*](?!/))*$)","patterns":[{"name":"keyword.tag.ql","match":"(?x)\\G\\s* (@\\S+)"}]}]},{"name":"comment.block.ql","begin":"(?x)/\\*","end":"(?x)\\*/"},{"name":"comment.line.double-slash.ql","match":"(?x)//.*$"}]},"comment-start":{"match":"(?x)// | /\\*"},"comparison-operator":{"name":"keyword.operator.comparison.ql","match":"(?x)=|\\!\\="},"concat":{"name":"keyword.aggregate.concat.ql","match":"(?x)\\b(?:concat)(?:(?!(?:[0-9A-Za-z_])))"},"count":{"name":"keyword.aggregate.count.ql","match":"(?x)\\b(?:count)(?:(?!(?:[0-9A-Za-z_])))"},"date":{"name":"keyword.type.date.ql","match":"(?x)\\b(?:date)(?:(?!(?:[0-9A-Za-z_])))"},"default":{"name":"storage.modifier.default.ql","match":"(?x)\\b(?:default)(?:(?!(?:[0-9A-Za-z_])))"},"deprecated":{"name":"storage.modifier.deprecated.ql","match":"(?x)\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_])))"},"desc":{"name":"keyword.order.desc.ql","match":"(?x)\\b(?:desc)(?:(?!(?:[0-9A-Za-z_])))"},"dont-care":{"name":"variable.language.dont-care.ql","match":"(?x)\\b(?:_)(?:(?!(?:[0-9A-Za-z_])))"},"dot":{"name":"punctuation.accessor.ql","match":"(?x)\\."},"dotdot":{"name":"punctuation.operator.range.ql","match":"(?x)\\.\\."},"else":{"name":"keyword.other.else.ql","match":"(?x)\\b(?:else)(?:(?!(?:[0-9A-Za-z_])))"},"end-of-as-clause":{"match":"(?x)(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))))"},"end-of-id":{"match":"(?x)(?!(?:[0-9A-Za-z_]))"},"exists":{"name":"keyword.quantifier.exists.ql","match":"(?x)\\b(?:exists)(?:(?!(?:[0-9A-Za-z_])))"},"expr-as-clause":{"name":"meta.block.expr-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"extends":{"name":"keyword.other.extends.ql","match":"(?x)\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))"},"extends-clause":{"name":"meta.block.extends-clause.ql","begin":"(?x)((?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#extends"}]}}},"external":{"name":"storage.modifier.external.ql","match":"(?x)\\b(?:external)(?:(?!(?:[0-9A-Za-z_])))"},"false":{"name":"constant.language.boolean.false.ql","match":"(?x)\\b(?:false)(?:(?!(?:[0-9A-Za-z_])))"},"final":{"name":"storage.modifier.final.ql","match":"(?x)\\b(?:final)(?:(?!(?:[0-9A-Za-z_])))"},"float":{"name":"keyword.type.float.ql","match":"(?x)\\b(?:float)(?:(?!(?:[0-9A-Za-z_])))"},"float-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+\\.[0-9]+(?![0-9])"},"forall":{"name":"keyword.quantifier.forall.ql","match":"(?x)\\b(?:forall)(?:(?!(?:[0-9A-Za-z_])))"},"forex":{"name":"keyword.quantifier.forex.ql","match":"(?x)\\b(?:forex)(?:(?!(?:[0-9A-Za-z_])))"},"from":{"name":"keyword.other.from.ql","match":"(?x)\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))"},"from-section":{"name":"meta.block.from-section.ql","begin":"(?x)((?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= (?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))) | (?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))) )","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|$))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#from"}]}}},"id-character":{"match":"(?x)[0-9A-Za-z_]"},"if":{"name":"keyword.other.if.ql","match":"(?x)\\b(?:if)(?:(?!(?:[0-9A-Za-z_])))"},"implements":{"name":"keyword.other.implements.ql","match":"(?x)\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))"},"implements-clause":{"name":"meta.block.implements-clause.ql","begin":"(?x)((?:\\b(?:implements)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?= \\{ )","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#implements"}]}}},"implies":{"name":"keyword.other.implies.ql","match":"(?x)\\b(?:implies)(?:(?!(?:[0-9A-Za-z_])))"},"import":{"name":"keyword.other.import.ql","match":"(?x)\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))"},"import-as-clause":{"name":"meta.block.import-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:(?: (?\u003c=(?:[0-9A-Za-z_])) (?!(?:[0-9A-Za-z_])) (?\u003c!(?\u003c!(?:[0-9A-Za-z_]))as)) | (?=\\s* (?!(?:// | /\\*) | (?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))) \\S) | (?=\\s* (?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))))","patterns":[{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"import-directive":{"name":"meta.block.import-directive.ql","begin":"(?x)((?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c!\\bimport)(?\u003c=(?:\\\u003e)|[A-Za-z0-9_]) (?!\\s*(\\.|\\:\\:|\\,|(?:\u003c)))","patterns":[{"include":"#instantiation-args"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#import"}]}}},"in":{"name":"keyword.other.in.ql","match":"(?x)\\b(?:in)(?:(?!(?:[0-9A-Za-z_])))"},"instanceof":{"name":"keyword.other.instanceof.ql","match":"(?x)\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_])))"},"instantiation-args":{"name":"meta.type.parameters.ql","begin":"(?x)((?:\u003c))","end":"(?x)((?:\u003e))","patterns":[{"include":"#instantiation-args"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-angle"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-angle"}]}}},"int":{"name":"keyword.type.int.ql","match":"(?x)\\b(?:int)(?:(?!(?:[0-9A-Za-z_])))"},"int-literal":{"name":"constant.numeric.decimal.ql","match":"(?x)-?[0-9]+(?![0-9])"},"keyword":{"patterns":[{"include":"#dont-care"},{"include":"#and"},{"include":"#any"},{"include":"#as"},{"include":"#asc"},{"include":"#avg"},{"include":"#boolean"},{"include":"#by"},{"include":"#class"},{"include":"#concat"},{"include":"#count"},{"include":"#date"},{"include":"#desc"},{"include":"#else"},{"include":"#exists"},{"include":"#extends"},{"include":"#false"},{"include":"#float"},{"include":"#forall"},{"include":"#forex"},{"include":"#from"},{"include":"#if"},{"include":"#implies"},{"include":"#import"},{"include":"#in"},{"include":"#instanceof"},{"include":"#int"},{"include":"#max"},{"include":"#min"},{"include":"#module"},{"include":"#newtype"},{"include":"#none"},{"include":"#not"},{"include":"#or"},{"include":"#order"},{"include":"#predicate"},{"include":"#rank"},{"include":"#result"},{"include":"#select"},{"include":"#strictconcat"},{"include":"#strictcount"},{"include":"#strictsum"},{"include":"#string"},{"include":"#sum"},{"include":"#super"},{"include":"#then"},{"include":"#this"},{"include":"#true"},{"include":"#unique"},{"include":"#where"}]},"language":{"name":"storage.modifier.language.ql","match":"(?x)\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))"},"language-annotation":{"name":"meta.block.language-annotation.ql","begin":"(?x)((?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#language-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#language"}]}}},"language-annotation-body":{"name":"meta.block.language-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"include":"#non-context-sensitive"},{"name":"storage.modifier.ql","match":"(?x)\\b(?:monotonicAggregates)(?:(?!(?:[0-9A-Za-z_])))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"library":{"name":"storage.modifier.library.ql","match":"(?x)\\b(?:library)(?:(?!(?:[0-9A-Za-z_])))"},"literal":{"patterns":[{"include":"#float-literal"},{"include":"#int-literal"},{"include":"#string-literal"}]},"lower-id":{"match":"(?x)\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"max":{"name":"keyword.aggregate.max.ql","match":"(?x)\\b(?:max)(?:(?!(?:[0-9A-Za-z_])))"},"min":{"name":"keyword.aggregate.min.ql","match":"(?x)\\b(?:min)(?:(?!(?:[0-9A-Za-z_])))"},"module":{"name":"keyword.other.module.ql","match":"(?x)\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))"},"module-body":{"name":"meta.block.module-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#module-member"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"module-declaration":{"name":"meta.block.module-declaration.ql","begin":"(?x)((?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#module-body"},{"include":"#implements-clause"},{"include":"#non-context-sensitive"},{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#module"}]}}},"module-member":{"patterns":[{"include":"#import-directive"},{"include":"#import-as-clause"},{"include":"#module-declaration"},{"include":"#newtype-declaration"},{"include":"#newtype-branch-name-with-prefix"},{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#class-declaration"},{"include":"#select-clause"},{"include":"#predicate-or-field-declaration"},{"include":"#non-context-sensitive"},{"include":"#annotation"}]},"module-qualifier":{"name":"entity.name.type.namespace.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))) (?=\\s*\\:\\:)"},"newtype":{"name":"keyword.other.newtype.ql","match":"(?x)\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))"},"newtype-branch-name-with-prefix":{"name":"meta.block.newtype-branch-name-with-prefix.ql","begin":"(?x)\\= | (?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"0":{"patterns":[{"include":"#or"},{"include":"#comparison-operator"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"newtype-declaration":{"name":"meta.block.newtype-declaration.ql","begin":"(?x)((?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))","patterns":[{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#newtype"}]}},"endCaptures":{"0":{"name":"entity.name.type.ql"}}},"non-context-sensitive":{"patterns":[{"include":"#comment"},{"include":"#literal"},{"include":"#operator-or-punctuation"},{"include":"#keyword"}]},"none":{"name":"keyword.quantifier.none.ql","match":"(?x)\\b(?:none)(?:(?!(?:[0-9A-Za-z_])))"},"not":{"name":"keyword.other.not.ql","match":"(?x)\\b(?:not)(?:(?!(?:[0-9A-Za-z_])))"},"open-angle":{"name":"punctuation.anglebracket.open.ql","match":"(?x)\u003c"},"open-brace":{"name":"punctuation.curlybrace.open.ql","match":"(?x)\\{"},"open-bracket":{"name":"punctuation.squarebracket.open.ql","match":"(?x)\\["},"open-paren":{"name":"punctuation.parenthesis.open.ql","match":"(?x)\\("},"operator-or-punctuation":{"patterns":[{"include":"#relational-operator"},{"include":"#comparison-operator"},{"include":"#arithmetic-operator"},{"include":"#comma"},{"include":"#semicolon"},{"include":"#dot"},{"include":"#dotdot"},{"include":"#pipe"},{"include":"#open-paren"},{"include":"#close-paren"},{"include":"#open-brace"},{"include":"#close-brace"},{"include":"#open-bracket"},{"include":"#close-bracket"},{"include":"#open-angle"},{"include":"#close-angle"}]},"or":{"name":"keyword.other.or.ql","match":"(?x)\\b(?:or)(?:(?!(?:[0-9A-Za-z_])))"},"order":{"name":"keyword.order.order.ql","match":"(?x)\\b(?:order)(?:(?!(?:[0-9A-Za-z_])))"},"override":{"name":"storage.modifier.override.ql","match":"(?x)\\b(?:override)(?:(?!(?:[0-9A-Za-z_])))"},"pipe":{"name":"punctuation.separator.pipe.ql","match":"(?x)\\|"},"pragma":{"name":"storage.modifier.pragma.ql","match":"(?x)\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))"},"pragma-annotation":{"name":"meta.block.pragma-annotation.ql","begin":"(?x)((?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?! (?:\\s | $ | (?:// | /\\*)) | \\[ ) | (?\u003c=\\])","patterns":[{"include":"#pragma-annotation-body"},{"include":"#non-context-sensitive"}],"beginCaptures":{"1":{"patterns":[{"include":"#pragma"}]}}},"pragma-annotation-body":{"name":"meta.block.pragma-annotation-body.ql","begin":"(?x)((?:\\[))","end":"(?x)((?:\\]))","patterns":[{"name":"storage.modifier.ql","match":"(?x)\\b(?:inline|noinline|nomagic|noopt)\\b"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-bracket"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-bracket"}]}}},"predicate":{"name":"keyword.other.predicate.ql","match":"(?x)\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_])))"},"predicate-body":{"name":"meta.block.predicate-body.ql","begin":"(?x)((?:\\{))","end":"(?x)((?:\\}))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-brace"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-brace"}]}}},"predicate-body-contents":{"patterns":[{"include":"#expr-as-clause"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))\\s*(?:\\*|\\+)?\\s*(?=\\()"},{"name":"variable.other.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-or-field-declaration":{"name":"meta.block.predicate-or-field-declaration.ql","begin":"(?x)(?:(?=(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))(?!(?:(?:(?:\\b(?:_)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:and)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:any)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:asc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:avg)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:by)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:class)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:concat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:count)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:desc)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:else)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:exists)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:extends)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:false)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forall)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:forex)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:if)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:implies)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:import)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:in)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:instanceof)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:max)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:min)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:module)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:newtype)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:none)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:not)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:or)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:order)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:rank)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:result)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:sum)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:super)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:then)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:this)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:true)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:unique)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))))|(?:(?:(?:\\b(?:abstract)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:additional)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:bindingset)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:cached)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:default)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:deprecated)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:external)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:final)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:language)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:library)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:override)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:pragma)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:private)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:query)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:signature)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))))))) | (?=(?:(?:(?:\\b(?:boolean)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:date)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:float)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:int)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:predicate)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:string)(?:(?!(?:[0-9A-Za-z_]))))))) | (?=(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=\\}|;)","patterns":[{"include":"#predicate-parameter-list"},{"include":"#predicate-body"},{"include":"#non-context-sensitive"},{"include":"#module-qualifier"},{"name":"variable.field.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*;)"},{"name":"entity.name.function.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}]},"predicate-parameter-list":{"name":"meta.block.predicate-parameter-list.ql","begin":"(?x)((?:\\())","end":"(?x)((?:\\)))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))(?=\\s*(?:,|\\)))"},{"include":"#module-qualifier"},{"name":"entity.name.type.ql","match":"(?x)(?:\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))|(?:@[a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"},{"name":"variable.parameter.ql","match":"(?x)(?:\\b [a-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#open-paren"}]}},"endCaptures":{"1":{"patterns":[{"include":"#close-paren"}]}}},"predicate-start-keyword":{"patterns":[{"include":"#boolean"},{"include":"#date"},{"include":"#float"},{"include":"#int"},{"include":"#predicate"},{"include":"#string"}]},"private":{"name":"storage.modifier.private.ql","match":"(?x)\\b(?:private)(?:(?!(?:[0-9A-Za-z_])))"},"query":{"name":"storage.modifier.query.ql","match":"(?x)\\b(?:query)(?:(?!(?:[0-9A-Za-z_])))"},"rank":{"name":"keyword.aggregate.rank.ql","match":"(?x)\\b(?:rank)(?:(?!(?:[0-9A-Za-z_])))"},"relational-operator":{"name":"keyword.operator.relational.ql","match":"(?x)\u003c=|\u003c|\u003e=|\u003e"},"result":{"name":"variable.language.result.ql","match":"(?x)\\b(?:result)(?:(?!(?:[0-9A-Za-z_])))"},"select":{"name":"keyword.query.select.ql","match":"(?x)\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))"},"select-as-clause":{"match":"(?x)meta.block.select-as-clause.ql","begin":"(?x)((?:\\b(?:as)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?\u003c=(?:[0-9A-Za-z_]))(?:(?!(?:[0-9A-Za-z_])))","patterns":[{"include":"#non-context-sensitive"},{"name":"variable.other.ql","match":"(?x)(?:\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_]))))"}],"beginCaptures":{"1":{"patterns":[{"include":"#as"}]}}},"select-clause":{"name":"meta.block.select-clause.ql","begin":"(?x)(?=(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?!(?:\\b(?:from)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_]))))|(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#from-section"},{"include":"#where-section"},{"include":"#select-section"}]},"select-section":{"name":"meta.block.select-section.ql","begin":"(?x)((?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=\\n)","patterns":[{"include":"#predicate-body-contents"},{"include":"#select-as-clause"}],"beginCaptures":{"1":{"patterns":[{"include":"#select"}]}}},"semicolon":{"name":"punctuation.separator.statement.ql","match":"(?x);"},"signature":{"name":"storage.modifier.signature.ql","match":"(?x)\\b(?:signature)(?:(?!(?:[0-9A-Za-z_])))"},"simple-id":{"match":"(?x)\\b [A-Za-z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"strictconcat":{"name":"keyword.aggregate.strictconcat.ql","match":"(?x)\\b(?:strictconcat)(?:(?!(?:[0-9A-Za-z_])))"},"strictcount":{"name":"keyword.aggregate.strictcount.ql","match":"(?x)\\b(?:strictcount)(?:(?!(?:[0-9A-Za-z_])))"},"strictsum":{"name":"keyword.aggregate.strictsum.ql","match":"(?x)\\b(?:strictsum)(?:(?!(?:[0-9A-Za-z_])))"},"string":{"name":"keyword.type.string.ql","match":"(?x)\\b(?:string)(?:(?!(?:[0-9A-Za-z_])))"},"string-escape":{"name":"constant.character.escape.ql","match":"(?x)\\\\[\"\\\\nrt]"},"string-literal":{"name":"string.quoted.double.ql","begin":"(?x)\"","end":"(?x)(\") | ((?:[^\\\\\\n])$)","patterns":[{"include":"#string-escape"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.ql"},"2":{"name":"invalid.illegal.newline.ql"}}},"sum":{"name":"keyword.aggregate.sum.ql","match":"(?x)\\b(?:sum)(?:(?!(?:[0-9A-Za-z_])))"},"super":{"name":"variable.language.super.ql","match":"(?x)\\b(?:super)(?:(?!(?:[0-9A-Za-z_])))"},"then":{"name":"keyword.other.then.ql","match":"(?x)\\b(?:then)(?:(?!(?:[0-9A-Za-z_])))"},"this":{"name":"variable.language.this.ql","match":"(?x)\\b(?:this)(?:(?!(?:[0-9A-Za-z_])))"},"transient":{"name":"storage.modifier.transient.ql","match":"(?x)\\b(?:transient)(?:(?!(?:[0-9A-Za-z_])))"},"true":{"name":"constant.language.boolean.true.ql","match":"(?x)\\b(?:true)(?:(?!(?:[0-9A-Za-z_])))"},"unique":{"name":"keyword.aggregate.unique.ql","match":"(?x)\\b(?:unique)(?:(?!(?:[0-9A-Za-z_])))"},"upper-id":{"match":"(?x)\\b [A-Z][0-9A-Za-z_]* (?:(?!(?:[0-9A-Za-z_])))"},"where":{"name":"keyword.query.where.ql","match":"(?x)\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))"},"where-section":{"name":"meta.block.where-section.ql","begin":"(?x)((?:\\b(?:where)(?:(?!(?:[0-9A-Za-z_])))))","end":"(?x)(?=(?:\\b(?:select)(?:(?!(?:[0-9A-Za-z_])))))","patterns":[{"include":"#predicate-body-contents"}],"beginCaptures":{"1":{"patterns":[{"include":"#where"}]}}},"whitespace-or-comment-start":{"match":"(?x)\\s | $ | (?:// | /\\*)"}}}
|
data/grammars/source.qsharp.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"qsharp","scopeName":"source.qsharp","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#operators"},{"include":"#types"},{"include":"#constants"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-slash","match":"\\/\\/.*$"},{"name":"comment.documentation","match":"\\/\\/\\/.*$"}]},"constants":{"patterns":[{"name":"constant.language.qsharp","match":"\\b(true|false|Pauli(I|X|Y|Z))\\b"},{"name":"constant.other.result.qsharp","match":"\\b(One|Zero)\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.qsharp","match":"\\b(use|borrow|mutable|let|set|if|elif|else|repeat|until|fixup|for|in|while|return|fail|within|apply)\\b"},{"name":"keyword.other.qsharp","match":"\\b(namespace|open|import|export|as|internal|newtype|struct|operation|function|new|body|(a|A)djoint|(c|C)ontrolled|self|auto|distribute|invert|intrinsic)\\b"}]},"operators":{"patterns":[{"name":"keyword.other.operator.qsharp","match":"\\b(not|and|or)\\b|\\b(w/)|(=)|(!)|(\u003c)|(\u003e)|(\\+)|(-)|(\\*)|(\\/)|(\\^)|(%)|(\\|)|(\\\u0026\\\u0026\\\u0026)|(\\~\\~\\~)|(\\.\\.\\.)|(\\.\\.)|(\\?)"}]},"strings":{"patterns":[{"name":"string.quoted.double.qsharp","begin":"(\\$|)\"","end":"\"","patterns":[{"name":"constant.character.escape.qsharp","match":"\\\\."}]}]},"types":{"patterns":[{"name":"storage.type.qsharp","match":"\\b(Int|BigInt|Double|Bool|Qubit|Pauli|Result|Range|String|Unit|Ctl|Adj|is)\\b"}]}}}
|
1
|
+
{"name":"qsharp","scopeName":"source.qsharp","patterns":[{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#operators"},{"include":"#types"},{"include":"#constants"},{"include":"#strings"},{"include":"#variables"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-slash","match":"\\/\\/.*$"},{"name":"comment.documentation","match":"\\/\\/\\/.*$"}]},"constants":{"patterns":[{"name":"constant.language.qsharp","match":"\\b(true|false|Pauli(I|X|Y|Z))\\b"},{"name":"constant.other.result.qsharp","match":"\\b(One|Zero)\\b"},{"name":"constant.numeric.qsharp","match":"\\b[\\d_]*\\.?[\\d_]\\b"}]},"functions":{"patterns":[{"name":"meta.function.definition.qsharp","begin":"\\b(function)\\s+([A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#operators"},{"include":"#types"},{"include":"#constants"},{"include":"#strings"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.qsharp"},"2":{"name":"entity.name.function.qsharp"},"3":{"name":"punctuation.brackets.round.qsharp"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.qsharp"}}},{"name":"meta.function.call.qsharp","begin":"\\b(?\u003c!@)([A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#operators"},{"include":"#types"},{"include":"#constants"},{"include":"#strings"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.qsharp"},"2":{"name":"punctuation.brackets.round.qsharp"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.qsharp"}}}]},"keywords":{"patterns":[{"name":"keyword.control.qsharp","match":"\\b(use|borrow|mutable|let|set|if|elif|else|repeat|until|fixup|for|in|while|return|fail|within|apply)\\b"},{"name":"keyword.other.qsharp","match":"\\b(namespace|open|import|export|as|internal|newtype|struct|operation|function|new|body|(a|A)djoint|(c|C)ontrolled|self|auto|distribute|invert|intrinsic)\\b"}]},"operators":{"patterns":[{"name":"keyword.other.operator.qsharp","match":"\\b(not|and|or)\\b|\\b(w/)|(=)|(!)|(\u003c)|(\u003e)|(\\+)|(-)|(\\*)|(\\/)|(\\^)|(%)|(\\|)|(\\\u0026\\\u0026\\\u0026)|(\\~\\~\\~)|(\\.\\.\\.)|(\\.\\.)|(\\?)"}]},"strings":{"patterns":[{"name":"string.quoted.double.qsharp","begin":"(\\$|)\"","end":"\"","patterns":[{"name":"constant.character.escape.qsharp","match":"\\\\."}]}]},"types":{"patterns":[{"name":"storage.type.qsharp","match":"\\b(Int|BigInt|Double|Bool|Qubit|Pauli|Result|Range|String|Unit|Ctl|Adj|is)\\b"}]},"variables":{"patterns":[{"name":"variable.other.qsharp","match":"\\b(?\u003c!@)[A-Za-z0-9_]+\\b"}]}}}
|
data/grammars/source.rascal.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Rascal","scopeName":"source.rascal","patterns":[{"include":"#top_level"}],"repository":{"annotation":{"patterns":[{"name":"comment.block.annotation.rascal","begin":"(@[^ {]+)({)","end":"(})","beginCaptures":{"1":{"name":"storage.type.annotation.block.rascal"},"2":{"name":"punctuation.annotation-argument.begin.rascal"}},"endCaptures":{"1":{"name":"punctuation.annotation-argument.end.rascal"}}},{"name":"meta.annotation.inline.rascal","match":"(@[A-Za-z_0-9]+)","captures":{"1":{"name":"storage.type.annotation.inline.rascal"}}}]},"char_set":{"patterns":[{"name":"punctuation.other.lexicalcharset.rascal","begin":"\\[","end":"\\]","patterns":[{"include":"#string_escape"}]}]},"comment":{"patterns":[{"name":"comment.line.double-slash.rascal","match":"//.*$\\n?"},{"name":"comment.block.rascal","begin":"/\\*","end":"\\*/"}]},"regex":{"patterns":[{"name":"string.regexp.rascal","
|
1
|
+
{"name":"Rascal","scopeName":"source.rascal","patterns":[{"include":"#top_level"}],"repository":{"annotation":{"patterns":[{"name":"comment.block.annotation.rascal","begin":"(@[^ {]+)({)","end":"(})","beginCaptures":{"1":{"name":"storage.type.annotation.block.rascal"},"2":{"name":"punctuation.annotation-argument.begin.rascal"}},"endCaptures":{"1":{"name":"punctuation.annotation-argument.end.rascal"}}},{"name":"meta.annotation.inline.rascal","match":"(@[A-Za-z_0-9]+)","captures":{"1":{"name":"storage.type.annotation.inline.rascal"}}}]},"char_set":{"patterns":[{"name":"punctuation.other.lexicalcharset.rascal","begin":"\\[","end":"\\]","patterns":[{"include":"#string_escape"}]}]},"comment":{"patterns":[{"name":"comment.line.double-slash.rascal","match":"//.*$\\n?"},{"name":"comment.block.rascal","begin":"/\\*","end":"\\*/"}]},"regex":{"patterns":[{"name":"string.regexp.rascal","end":"/([dims]*)","patterns":[{"include":"#regex_escape"},{"include":"#string_interpolation"}],"endCaptures":{"1":{"name":"storage.modifier.regex.rascal"}}}]},"regex_escape":{"patterns":[{"name":"constant.character.escape.regex.rascal","match":"\\\\(/|\u003c|\u003e|\\\\)"}]},"string":{"patterns":[{"name":"string.quoted.single.rascal","begin":"'","end":"'","patterns":[{"include":"#string_escape"}]},{"name":"string.quoted.double.rascal","begin":"\"","end":"\"","patterns":[{"include":"#string_escape"},{"include":"#string_interpolation"}]},{"name":"string.interpolated.rascal","begin":"`","end":"`","patterns":[{"include":"#string_interpolation"},{"include":"#syntax_escape"}]}]},"string_escape":{"patterns":[{"name":"constant.character.escape.ordinary.rascal","match":"\\\\(\\\"|\\'|\u003c|\u003e|\\\\|[bnfrt])"},{"name":"constant.character.escape.unicode.rascal","match":"\\\\(u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f] |U(0[0-9 A-F a-f]|10)[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f] |a[0-7][0-9A-Fa-f] )"}]},"string_interpolation":{"patterns":[{"name":"support.interpolated-string.rascal","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"#top_level"}],"beginCaptures":{"1":{"name":"punctuation.interpolation.begin.rascal"}},"endCaptures":{"2":{"name":"punctuation.interpolation.end.rascal"}}}]},"syntax_escape":{"patterns":[{"name":"constant.character.escape.syntax.rascal","match":"\\\\(\\\\|\u003c|\u003e|`)"}]},"top_level":{"patterns":[{"name":"punctuation.other.syntactic.rascal","begin":"(lexical|syntax)\\s+([a-zA-Z][A-Za-z_0-9]*)","end":";","patterns":[{"include":"#char_set"},{"include":"#string"},{"include":"#comment"},{"include":"#regex"},{"include":"#annotation"}],"captures":{"1":{"name":"keyword.control.rascal"},"2":{"name":"entity.name.type.rascal"}}},{"name":"constant.numeric.decimal.rascal","match":"(?\u003c![A-Za-z_])(0(?![0-9a-z_A-Z])|[1-9][0-9]*(?![0-9a-z_A-Z]))"},{"name":"constant.numeric.hex.rascal","match":"(?\u003c![A-Za-z_])0[Xx][0-9A-Fa-f]+(?![0-9a-z_A-Z])"},{"name":"constant.numeric.octal.rascal","match":"(?\u003c![A-Za-z_])0[0-7]+(?![0-9a-z_A-Z])"},{"name":"string.other.datetime.rascal","begin":"\\\\$","end":"\\\\$"},{"name":"constant.numeric.real.rascal","match":"(?\u003c![A-Za-z_]) ([0-9]+[dDfF] |[0-9]+[eE][+\\-]?[0-9]+[dDfF]? |[0-9]+\\.(?!\\.)[0-9]*[dDfF]? |[0-9]+\\.[0-9]*[eE][+\\-]?[0-9]+[dDfF]? |\\.(?!\\.)[0-9]+[dDfF]? |\\.(?!\\.)[0-9]+[eE][+\\-]?[0-9]+[dDfF]? )"},{"name":"constant.language.bool.rascal","match":"\\b(true|false)\\b"},{"name":"constant.numeric.rational.rascal","match":"(?\u003c![A-Za-z_])([0-9][0-9]*r|[1-9][0-9]*r[0-9][0-9]*(?![0-9a-z_A-Z]))"},{"name":"keyword.control.rascal","match":"\\b(syntax|keyword|lexical|break|continue|finally|private|fail|filter|if|tag|extend|append|non-assoc|assoc|test|anno|layout|data|join|it|bracket|in|import|all|solve|try|catch|notin|else|insert|switch|return|case|while|throws|visit|for|assert|default|map|alias|any|module|mod|public|one|throw|start)\\b"},{"name":"support.type.basic.rascal","match":"\\b(value|loc|node|num|type|bag|int|rat|rel|lrel|real|tuple|str|bool|void|datetime|set|map|list)\\b"},{"include":"#string"},{"include":"#regex"},{"include":"#annotation"},{"include":"#comment"},{"name":"variable.other.ordinary.rascal","match":"\\b[a-zA-Z][A-Za-z_0-9]*\\b"},{"name":"variable.other.escaped-keyword.rascal","match":"\\\\(syntax|keyword|lexical|break|continue|finally|private|fail|filter|if|tag|extend|append|non-assoc|assoc|test|anno|layout|data|join|it|bracket|in|import|all|solve|try|catch|notin|else|insert|switch|return|case|while|throws|visit|for|assert|default|map|alias|any|module|mod|public|one|throw|start|value|loc|node|num|type|bag|int|rat|rel|lrel|real|tuple|str|bool|void|datetime|set|map|list)"},{"name":"string.other.url.rascal","match":"\\|([0-9a-z_A-Z.\\-_~:/?#\\[\\]@!$\u0026'()*+,;=`])+\\|","captures":{"1":{"name":"markup.underline.link.rascal"}}}]}}}
|
data/grammars/source.rpgle.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"RPGLE","scopeName":"source.rpgle","patterns":[{"name":"rpgle.free.allfree","begin":"(?i)(?=(\\s*\\*\\*(FREE)))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"keyword.other.rpgle.free.precompiler.allfree","match":"(?i)^\\s*\\*\\*FREE"},{"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})"}]}]},"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|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\\-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|ENDFOR|ENDSR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|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-single","begin":"(?i)(?=(\\b(DCL\\-)(PR|DS)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex-single.dcl","match":"(?i)\\b(DCL\\-)(PR|DS)\\b"},{"name":"storage.type.rpgle.free.definition.complex-single.end","match":"(?i)\\b(END\\-)(PR|DS)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]},{"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.end","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#freeidentifiers"},{"include":"#rpglecommon"}]},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"name":"keyword.other.rpgle.free","match":"(?i)\\b(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN-IN|WHEN-IS|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDUR|SUB|SQRT|SQLSTATE|SQLCODE|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|EVAL-CORR|EVALR|EVAL|ENDSR|ENDMON|ENDFOR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|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)\\b"},{"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":"#freedefkeywords"},{"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":"#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"}]},"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":"#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|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\\-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|ENDFOR|ENDSR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|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-single","begin":"(?i)(?=(\\b(DCL\\-)(PR|DS)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex-single.dcl","match":"(?i)\\b(DCL\\-)(PR|DS)\\b"},{"name":"storage.type.rpgle.free.definition.complex-single.end","match":"(?i)\\b(END\\-)(PR|DS)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]},{"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.end","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#freeidentifiers"},{"include":"#rpglecommon"}]},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|ENUM|PROC|PR|PI)\\b"},{"name":"keyword.other.rpgle.free","match":"(?i)\\b(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN-IN|WHEN-IS|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDUR|SUB|SQRT|SQLSTATE|SQLCODE|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|EVAL-CORR|EVALR|EVAL|ENDSR|ENDMON|ENDFOR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|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)\\b"},{"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":"#freedefkeywords"},{"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":"#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"}]},"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)"}]}}}
|