github-linguist 8.0.1 → 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.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/go.mod.json +1 -1
  3. data/grammars/liquid.injection.json +1 -1
  4. data/grammars/markdown.vue.codeblock.json +1 -0
  5. data/grammars/mdx.vue.codeblock.json +1 -0
  6. data/grammars/source.QB64.json +1 -0
  7. data/grammars/source.abap.json +1 -1
  8. data/grammars/source.abl.json +1 -1
  9. data/grammars/source.angelscript.json +1 -1
  10. data/grammars/source.answersetprogramming.json +1 -0
  11. data/grammars/source.apacheconf.json +1 -0
  12. data/grammars/source.assembly.json +1 -1
  13. data/grammars/source.ats.json +1 -1
  14. data/grammars/source.basic.json +1 -1
  15. data/grammars/source.bb.json +1 -1
  16. data/grammars/source.brs.json +1 -1
  17. data/grammars/source.bsl.json +1 -1
  18. data/grammars/source.bst.json +1 -0
  19. data/grammars/source.c.linker.json +1 -0
  20. data/grammars/source.cairo0.json +1 -1
  21. data/grammars/source.cmake.json +1 -1
  22. data/grammars/source.cmakecache.json +1 -0
  23. data/grammars/source.cobol.json +1 -1
  24. data/grammars/source.cs.json +1 -1
  25. data/grammars/source.curry.json +1 -1
  26. data/grammars/source.dart.json +1 -1
  27. data/grammars/source.dds.dspf.json +1 -1
  28. data/grammars/source.erlang.json +1 -1
  29. data/grammars/source.fsharp.json +1 -1
  30. data/grammars/source.gdscript.json +1 -1
  31. data/grammars/source.git-revlist.json +1 -1
  32. data/grammars/source.gleam.json +1 -1
  33. data/grammars/source.graphql.json +1 -1
  34. data/grammars/source.hack.json +1 -1
  35. data/grammars/source.hcl.json +1 -1
  36. data/grammars/source.hcl.terraform.json +1 -1
  37. data/grammars/source.ice.json +1 -1
  38. data/grammars/source.ispc.json +1 -0
  39. data/grammars/source.jai.json +1 -0
  40. data/grammars/source.json.comments.json +1 -0
  41. data/grammars/source.julia.json +1 -1
  42. data/grammars/source.just.json +1 -1
  43. data/grammars/source.kdl.json +1 -0
  44. data/grammars/source.lean.markdown.json +1 -1
  45. data/grammars/source.lean4.markdown.json +1 -1
  46. data/grammars/source.luau.json +1 -1
  47. data/grammars/source.matlab.json +1 -1
  48. data/grammars/source.mdx.astro.json +1 -0
  49. data/grammars/source.mdx.json +1 -1
  50. data/grammars/source.mo.json +1 -1
  51. data/grammars/source.moonbit.json +1 -0
  52. data/grammars/source.msg.json +1 -0
  53. data/grammars/source.mzn.json +1 -0
  54. data/grammars/source.ned.json +1 -0
  55. data/grammars/source.nr.json +1 -1
  56. data/grammars/source.nushell.json +1 -1
  57. data/grammars/source.odin.json +1 -1
  58. data/grammars/source.openesql.json +1 -0
  59. data/grammars/source.overpassql.json +1 -0
  60. data/grammars/source.p4.json +1 -1
  61. data/grammars/source.polar.json +1 -1
  62. data/grammars/source.powerbuilder.json +1 -1
  63. data/grammars/source.prisma.json +1 -1
  64. data/grammars/source.purescript.json +1 -1
  65. data/grammars/source.ql.json +1 -1
  66. data/grammars/source.qsharp.json +1 -1
  67. data/grammars/source.rascal.json +1 -1
  68. data/grammars/source.rescript.json +1 -1
  69. data/grammars/source.rpgle.json +1 -1
  70. data/grammars/source.scala.json +1 -1
  71. data/grammars/source.scm.json +1 -0
  72. data/grammars/source.sdbl.json +1 -1
  73. data/grammars/source.slang.json +1 -0
  74. data/grammars/source.slice.json +1 -1
  75. data/grammars/source.sourcepawn.json +1 -1
  76. data/grammars/source.stan.json +1 -1
  77. data/grammars/source.swift.json +1 -1
  78. data/grammars/source.tact.json +1 -0
  79. data/grammars/source.talon.json +1 -1
  80. data/grammars/source.templ.json +1 -1
  81. data/grammars/source.textgrid.json +1 -1
  82. data/grammars/source.toc.json +1 -1
  83. data/grammars/source.ts.json +1 -1
  84. data/grammars/source.ts.prismaClientRawSQL.json +1 -1
  85. data/grammars/source.tsp.json +1 -0
  86. data/grammars/source.tsx.json +1 -1
  87. data/grammars/source.typst.json +1 -1
  88. data/grammars/source.vba.json +1 -1
  89. data/grammars/source.vue.json +1 -0
  90. data/grammars/source.wdl.json +1 -1
  91. data/grammars/source.xmake.json +1 -0
  92. data/grammars/text.adblock.json +1 -1
  93. data/grammars/text.html.liquid.json +1 -1
  94. data/grammars/text.html.markdown.d2.json +1 -1
  95. data/grammars/text.md.json +1 -1
  96. data/grammars/text.rtf.json +1 -1
  97. data/grammars/version +1 -1
  98. data/grammars/vue.directives.json +1 -0
  99. data/grammars/vue.interpolations.json +1 -0
  100. data/grammars/vue.sfc.style.variable.injection.json +1 -0
  101. data/lib/linguist/VERSION +1 -1
  102. data/lib/linguist/generated.rb +32 -1
  103. data/lib/linguist/generic.yml +1 -0
  104. data/lib/linguist/heuristics.yml +109 -25
  105. data/lib/linguist/languages.json +1 -1
  106. data/lib/linguist/languages.yml +232 -10
  107. data/lib/linguist/lazy_blob.rb +15 -7
  108. data/lib/linguist/repository.rb +18 -13
  109. data/lib/linguist/samples.json +1 -1
  110. data/lib/linguist/shebang.rb +1 -1
  111. data/lib/linguist/source/diff.rb +72 -0
  112. data/lib/linguist/source/repository.rb +64 -0
  113. data/lib/linguist/source/rugged.rb +95 -0
  114. metadata +34 -9
  115. data/grammars/source.apache-config.json +0 -1
  116. data/grammars/source.apache-config.mod_perl.json +0 -1
  117. data/grammars/source.cache.cmake.json +0 -1
  118. data/grammars/text.html.erlang.yaws.json +0 -1
  119. data/grammars/text.html.vue.json +0 -1
  120. data/grammars/text.mdx.astro.codeblock.json +0 -1
@@ -1 +1 @@
1
- {"name":"PowerBuilder","scopeName":"source.powerbuilder","patterns":[{"include":"#strings"},{"include":"#general_rules"},{"include":"#comments"},{"include":"#keywords"},{"include":"#sql_keywords"},{"include":"#literals"},{"include":"#special_rules"},{"include":"#final"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-slash.powerbuilder","match":"//.*$"},{"name":"comment.block.documentation.powerbuilder","begin":"/\\*","end":"\\*/"},{"name":"meta.header.powerbuilder","begin":"\\A(HA)?","end":"^(?!\\$)","patterns":[{"name":"meta.header.line.powerbuilder","match":"(\\$)(.*?)(\\$)(.*)","captures":{"1":{"name":"comment.block.documentation.headers.powerbuilder"},"2":{"name":"variable.other.header.name.powerbuilder"},"3":{"name":"comment.block.documentation.headers.powerbuilder"},"4":{"name":"string.unquoted.header.description.powerbuilder","patterns":[{"include":"#string-escapes"}]}}}],"captures":{"1":{"name":"comment.block.documentation.headers.powerbuilder"}}}]},"final":{"patterns":[{"name":"variable.other.local.powerbuilder","match":"[\\w\\d$#%\\-]+"},{"name":"keyword.operator.symbols.powerbuilder","match":"(\\+|\\-|\\*|\\/|\\^|=|\u003e|\u003c|\u0026)"}]},"general_rules":{"patterns":[{"name":"meta.sql.statement.powerbuilder","begin":"(?i)^\\s*(close|commit|connect|declare|delete|describe|disconnect|execute|fetch|insert|open|prepare|rollback|select|selectblob|update|updateblob)\\b(?!\\s*\\()","end":";","patterns":[{"include":"#sql_keywords"},{"include":"#literals"},{"name":"variable.other.local.powerbuilder","match":"(?\u003c=::|\\.)[\\w\\d$#%\\-]+"},{"name":"variable.other.local.powerbuilder","match":":?([\\w\\d$#%\\-]+)"}],"captures":{"1":{"name":"keyword.operator.sql.powerbuilder"}}},{"name":"meta.variable.create.powerbuilder","match":"(?i)\\b(create)\\s+([\\w\\d$#%\\-`]+)","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"name":"entity.type.name.complex.powerbuilder"}}},{"name":"meta.variable.create_using.powerbuilder","match":"(?i)\\b(create\\s+using)(\\s+[\\w\\d$#%\\-]+)?","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"name":"variable.other.local.powerbuilder"}}},{"name":"meta.type.declaration.powerbuilder","match":"(?i)\\b(type)\\s+([\\w\\d$#%\\-]+)\\s+(from)\\s+([\\w\\d$#%\\-`]+)(\\s+(within)\\s+([\\w\\d$#%\\-`]+))?","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"name":"entity.type.name.complex.powerbuilder"},"3":{"name":"keyword.other.types.powerbuilder"},"4":{"name":"entity.other.inherited-class.powerbuilder"},"6":{"name":"keyword.other.types.powerbuilder"},"7":{"name":"entity.other.inherited-class.powerbuilder"}}},{"name":"meta.function.throws_clause.powerbuilder","match":"(?i)\\b(throws)\\s+([\\w\\d$#%\\-`]+(,\\s*[\\w\\d$#%\\-`]+)*)","captures":{"1":{"name":"keyword.other.functions.powerbuilder"},"2":{"patterns":[{"include":"#types"}]}}},{"name":"meta.event.declaration_definition.powerbuilder","match":"(?i)(event)(\\s+(type)\\s+([\\w\\d$#%\\-`]+))?\\s+([\\w\\d$#%\\-]+)\\s*(\\s([\\w\\d$#%\\-]+)\\s*($|;)|(?=\\())","captures":{"1":{"name":"keyword.other.functions.powerbuilder"},"3":{"name":"keyword.other.types.powerbuilder"},"4":{"patterns":[{"include":"#types"}]},"5":{"name":"entity.name.function.event.powerbuilder"},"7":{"name":"entity.name.tag.event.powerbuilder"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.boolean.powerbuilder","match":"(?i)\\b(or|and|not)\\b"},{"name":"keyword.other.variable.modifier.powerbuilder","match":"(?i)\\b(constant|readonly|ref)\\b"},{"name":"keyword.other.access.powerbuilder","match":"(?i)\\b(public|private|protected|privatewrite|privateread|protectedread|protectedwrite|systemread|systemwrite)\\b"},{"name":"variable.language.powerbuiler","match":"(?i)\\b(super|this|sqlca|parent)\\b"},{"name":"keyword.other.types.powerbuilder","match":"(?i)\\b(indirect|variables|end\\s+variables|forward|end\\s+forward|destroy|create|type|end\\s+type|prototypes|within|autoinstantiate|system)\\b"},{"name":"keyword.other.scope.powerbuilder","match":"(?i)\\b(global|shared)\\b"},{"name":"keyword.other.functions.powerbuilder","match":"(?i)\\b(return|function|end\\s+function|subroutine|end\\s+subroutine|throw|throws|event|end\\s+event|on|end\\s+on|call|dynamic|post|trigger|open|static|alias\\s+for|alias|library|rpcfunc)\\b"},{"name":"keyword.control.powerbuilder","match":"(?i)\\b(if|then|else|elseif|case|choose|exit|continue|for|to|step|next|do|while|loop|until|try|catch|finally|release|end|goto|halt)\\b"},{"name":"keyword.other.reserved.powerbuilder","match":"(?i)\\b(namespace|intrinsic|with|_debug|enumerated|external|native)\\b"}]},"literals":{"patterns":[{"name":"constant.numeric.date.powerbuilder","match":"\\b\\d{4}-\\d{2}-\\d{2}\\b"},{"name":"constant.numeric.time.powerbuilder","match":"\\b\\d{2}:\\d{2}:\\d{2}(.\\d+)?\\b"},{"name":"constant.numeric.number.powerbuilder","match":"\\b(\\d+(\\.\\d+)?|(\\.\\d+))([eE][+\\-]\\d+)?\\b"},{"name":"constant.language.boolean.powerbuilder","match":"(?i)\\b(true|false)\\b"},{"name":"constant.language.enumerated.powerbuilder","match":"[\\w\\d$#%\\-]+!"}]},"primitives":{"patterns":[{"name":"entity.name.type.primitives.powerbuilder","match":"(?i)\\b(any|blob|boolean|byte|char|character|date|datetime|dec|decimal|double|int|integer|long|longlong|longptr|real|string|time|uint|ulong|unsignedinteger|unsignedlong)\\b"}]},"special_rules":{"patterns":[{"name":"entity.name.function.powerbuilder","match":"[\\w\\d$#%\\-]+(?=\\s*\\()"},{"name":"variable.other.member.powerbuilder","match":"(?\u003c=::|\\.)[\\w\\d$#%\\-]+"},{"name":"meta.function.declaration.powerbuilder","match":"([\\w\\d$#%\\-]+)\\s+([\\w\\d$#%\\-]+)(?=\\s*\\()","captures":{"1":{"patterns":[{"include":"#types"}]},"2":{"name":"entity.name.function.powerbuilder"}}},{"name":"meta.variable.declaration.powerbuilder","match":"(?i)([\\w\\d$#%\\-`]+)\\s*(\\{(\\d+)\\}|\\s)\\s*(?!or|and|then)([\\w\\d$#%\\-]+)","captures":{"1":{"patterns":[{"include":"#types"}]},"3":{"name":"constant.numeric.number.powerbuilder"},"4":{"name":"variable.other.local.powerbuilder"}}}]},"sql_keywords":{"patterns":[{"name":"keyword.operator.sql.boolean.powerbuilder","match":"(?i)\\b(or|and|xor|not)\\b"},{"name":"keyword.operator.sql.powerbuilder","match":"(?i)\\b(close|commit|connect|declare|delete|describe|disconnect|execute|fetch|insert|open|prepare|rollback|select|selectblob|update|updateblob)\\b"},{"name":"keyword.operator.sql.powerbuilder","match":"(?i)\\b(set|current|of|is|using|null|from|into|values|where|first|prior|last|rollback|immediate|descriptor|cursor|procedure|for|of)\\b"}]},"string-escapes":{"patterns":[{"name":"constant.character.escape.powerbuilder","match":"~o?\\d{3}"},{"name":"constant.character.escape.powerbuilder","match":"~h[0-9a-fA-F]{2}"},{"name":"constant.character.escape.powerbuilder","match":"~."}]},"strings":{"patterns":[{"name":"string.quoted.double.powerbuilder","begin":"\\\"","end":"\\\"","patterns":[{"include":"#string-escapes"}]},{"name":"string.quoted.single.powerbuilder","begin":"\\'","end":"\\'","patterns":[{"include":"#string-escapes"}]}]},"types":{"patterns":[{"include":"#primitives"},{"name":"entity.name.type.complex.powerbuilder","match":"([\\w\\d$#%\\-`]+)"}]}}}
1
+ {"name":"PowerBuilder","scopeName":"source.powerbuilder","patterns":[{"include":"#strings"},{"include":"#comments"},{"include":"#general_rules"},{"include":"#keywords"},{"include":"#literals"},{"include":"#special_rules"},{"include":"#final"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-slash.powerbuilder","match":"//.*$"},{"name":"comment.block.documentation.powerbuilder","begin":"/\\*","end":"\\*/"},{"name":"meta.header.powerbuilder","begin":"\\A(HA)?(?=\\$)","end":"^(?!\\$)","patterns":[{"name":"meta.header.line.powerbuilder","match":"(\\$)(.*?)(\\$)(.*)","captures":{"1":{"name":"comment.block.documentation.headers.powerbuilder"},"2":{"name":"variable.other.header.name.powerbuilder"},"3":{"name":"comment.block.documentation.headers.powerbuilder"},"4":{"name":"string.unquoted.header.description.powerbuilder","patterns":[{"include":"#string-escapes"}]}}}],"captures":{"1":{"name":"comment.block.documentation.headers.powerbuilder"}}}]},"final":{"patterns":[{"name":"variable.other.local.powerbuilder","match":"([\\w$#%][\\w\\d$#%\\-]*)"},{"include":"#operators"}]},"general_rules":{"patterns":[{"name":"meta.sql.statement.powerbuilder","begin":"(?i)^\\s*(close|commit|connect|declare|delete|describe|disconnect|execute|fetch|insert|open|prepare|rollback|select|selectblob|update|updateblob)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(?!\\s*\\()","end":"(;)","patterns":[{"include":"#strings"},{"include":"#sql_keywords"},{"include":"#literals"},{"include":"#operators"},{"name":"variable.other.local.powerbuilder","match":"(?\u003c=::|\\.)[\\w$#%][\\w\\d$#%\\-]*"},{"name":"variable.other.local.powerbuilder","match":":?([\\w$#%][\\w\\d$#%\\-]*)"}],"captures":{"1":{"name":"keyword.operator.sql.powerbuilder"},"2":{"name":"keyword.operator.sql.powerbuilder"}}},{"name":"meta.variable.create.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(create)\\s+(?!using(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`])))([\\w$#%][\\w\\d$#%\\-`]*)","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"patterns":[{"include":"#types"}]}}},{"name":"meta.type.declaration.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(type)\\s+([\\w$#%][\\w\\d$#%\\-]*)\\s+(from)\\s+([\\w$#%][\\w\\d$#%\\-`]*)(\\s+(within)\\s+([\\w$#%][\\w\\d$#%\\-`]*))?","captures":{"1":{"name":"keyword.other.types.powerbuilder"},"2":{"name":"entity.type.name.complex.powerbuilder"},"3":{"name":"keyword.other.types.powerbuilder"},"4":{"name":"entity.other.inherited-class.powerbuilder"},"6":{"name":"keyword.other.types.powerbuilder"},"7":{"name":"entity.other.inherited-class.powerbuilder"}}},{"name":"meta.function.throws_clause.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(throws)\\s+([\\w$#%][\\w\\d$#%\\-`]*(,\\s*[\\w$#%][\\w\\d$#%\\-`]*)*)","captures":{"1":{"name":"keyword.other.functions.powerbuilder"},"2":{"patterns":[{"include":"#types"}]}}},{"name":"meta.event.declaration_definition.powerbuilder","match":"(?i)(event)(\\s+(type)\\s+([\\w$#%][\\w\\d$#%\\-`]*))?\\s+([\\w$#%][\\w\\d$#%\\-]*)\\s*(\\s([\\w$#%][\\w\\d$#%\\-]*)\\s*($|;)|(?=\\())","captures":{"1":{"name":"keyword.other.functions.powerbuilder"},"3":{"name":"keyword.other.types.powerbuilder"},"4":{"patterns":[{"include":"#types"}]},"5":{"name":"entity.name.function.event.powerbuilder"},"7":{"name":"entity.name.tag.event.powerbuilder"}}}]},"keywords":{"patterns":[{"name":"keyword.operator.boolean.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(or|and|not)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.variable.modifier.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(constant|readonly|ref)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.access.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(public|private|protected|privatewrite|privateread|protectedread|protectedwrite|systemread|systemwrite)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"variable.language.powerbuiler","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(super|this|sqlca|parent)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.types.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(indirect|variables|end\\s+variables|forward|end\\s+forward|destroy|create|using|type|end\\s+type|prototypes|within|autoinstantiate|system)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.scope.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(global|shared)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.functions.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(return|function|end\\s+function|subroutine|end\\s+subroutine|throw|throws|event|end\\s+event|on|end\\s+on|call|dynamic|post|trigger|open|static|alias\\s+for|alias|library|rpcfunc)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.control.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(if|then|else|elseif|case|choose|exit|continue|for|to|step|next|do|while|loop|until|try|catch|finally|release|end|goto|halt)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.other.reserved.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(namespace|intrinsic|with|_debug|enumerated|external|native)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"include":"#sql_keywords"}]},"literals":{"patterns":[{"name":"constant.numeric.date.powerbuilder","match":"(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))\\d{4}-\\d{2}-\\d{2}(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"constant.numeric.time.powerbuilder","match":"(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))\\d{2}:\\d{2}:\\d{2}(.\\d+)?(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"constant.numeric.number.powerbuilder","match":"((?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))|\\+|-)(\\d+(\\.\\d+)?|(\\.\\d+))([eE][+\\-]?\\d+)?(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"constant.language.boolean.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(true|false)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"constant.language.enumerated.powerbuilder","match":"([\\w$#%][\\w\\d$#%\\-]*!)"}]},"operators":{"patterns":[{"name":"keyword.operator.symbols.powerbuilder","match":"(\\+|\\-|\\*|\\/|\\^|=|\u003e|\u003c|\u0026)"}]},"primitives":{"patterns":[{"name":"entity.name.type.primitives.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(any|blob|boolean|byte|char|character|date|datetime|dec|decimal|double|int|integer|long|longlong|longptr|real|string|time|uint|ulong|unsignedinteger|unsignedlong)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"}]},"special_rules":{"patterns":[{"name":"entity.name.function.powerbuilder","match":"[\\w$#%][\\w\\d$#%\\-]*(?=\\s*\\()"},{"name":"variable.other.member.powerbuilder","match":"(?\u003c=::|\\.)[\\w$#%][\\w\\d$#%\\-]*"},{"name":"meta.function.declaration.powerbuilder","match":"([\\w$#%][\\w\\d$#%\\-]*)\\s+([\\w$#%][\\w\\d$#%\\-]*)(?=\\s*\\()","captures":{"1":{"patterns":[{"include":"#types"}]},"2":{"name":"entity.name.function.powerbuilder"}}},{"name":"meta.variable.declaration.powerbuilder","match":"(?i)([\\w$#%][\\w\\d$#%\\-`]*)\\s*(\\{(\\d+)\\}|\\s)\\s*(?!(or|and|then)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`])))([\\w$#%][\\w\\d$#%\\-]*)","captures":{"1":{"patterns":[{"include":"#types"}]},"3":{"name":"constant.numeric.number.powerbuilder"},"5":{"name":"variable.other.local.powerbuilder"}}}]},"sql_keywords":{"patterns":[{"name":"keyword.operator.sql.boolean.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(or|and|xor|not)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.operator.sql.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(close|commit|connect|declare|delete|describe|disconnect|execute|fetch|insert|open|prepare|rollback|select|selectblob|update|updateblob)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"},{"name":"keyword.operator.sql.powerbuilder","match":"(?i)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))(set|current|of|is|null|from|into|using|values|where|first|prior|last|rollback|immediate|descriptor|cursor|procedure|for|of)(?:^(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])$|(?\u003c![\\w\\d$#%\\-`])(?=[\\w\\d$#%\\-`])|(?\u003c=[\\w\\d$#%\\-`])(?![\\w\\d$#%\\-`]))"}]},"string-escapes":{"patterns":[{"name":"constant.character.escape.powerbuilder","match":"~o?\\d{3}"},{"name":"constant.character.escape.powerbuilder","match":"~h[0-9a-fA-F]{2}"},{"name":"constant.character.escape.powerbuilder","match":"~."}]},"strings":{"patterns":[{"name":"string.quoted.double.powerbuilder","begin":"\\\"","end":"\\\"","patterns":[{"include":"#string-escapes"}]},{"name":"string.quoted.single.powerbuilder","begin":"\\'","end":"\\'","patterns":[{"include":"#string-escapes"}]}]},"types":{"patterns":[{"include":"#primitives"},{"name":"entity.name.type.complex.powerbuilder","match":"([\\w$#%][\\w\\d$#%\\-`]*)"}]}}}
@@ -1 +1 @@
1
- {"name":"Prisma","scopeName":"source.prisma","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#model_block_definition"},{"include":"#config_block_definition"},{"include":"#enum_block_definition"},{"include":"#type_definition"}],"repository":{"array":{"name":"source.prisma.array","begin":"\\[","end":"\\]","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}}},"assignment":{"patterns":[{"begin":"^\\s*(\\w+)\\s*(=)\\s*","end":"\\n","patterns":[{"include":"#value"},{"include":"#double_comment_inline"}],"beginCaptures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"keyword.operator.terraform"}}}]},"attribute":{"name":"source.prisma.attribute","match":"(@@?[\\w\\.]+)","captures":{"1":{"name":"entity.name.function.attribute.prisma"}}},"attribute_with_arguments":{"name":"source.prisma.attribute.with_arguments","begin":"(@@?[\\w\\.]+)(\\()","end":"\\)","patterns":[{"include":"#named_argument"},{"include":"#value"}],"beginCaptures":{"1":{"name":"entity.name.function.attribute.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"boolean":{"name":"constant.language.boolean.prisma","match":"\\b(true|false)\\b"},"config_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(generator|datasource)\\s+([A-Za-z][\\w]*)\\s+({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#assignment"}],"beginCaptures":{"1":{"name":"storage.type.config.prisma"},"2":{"name":"entity.name.type.config.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}}},"double_comment":{"name":"comment.prisma","begin":"//","end":"$\\n?"},"double_comment_inline":{"name":"comment.prisma","match":"//[^\\n]*"},"double_quoted_string":{"name":"unnamed","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"name":"string.quoted.double.prisma","match":"([\\w\\-\\/\\._\\\\%@:\\?=]+)"}],"beginCaptures":{"0":{"name":"string.quoted.double.start.prisma"}},"endCaptures":{"0":{"name":"string.quoted.double.end.prisma"}}},"enum_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(enum)\\s+([A-Za-z][\\w]*)\\s+({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#enum_value_definition"}],"beginCaptures":{"1":{"name":"storage.type.enum.prisma"},"2":{"name":"entity.name.type.enum.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"enum_value_definition":{"patterns":[{"match":"^\\s*(\\w+)\\s*","captures":{"1":{"name":"variable.other.assignment.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"field_definition":{"name":"scalar.field","patterns":[{"match":"^\\s*(\\w+)(\\s*:)?\\s+((?!(?:Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)\\b)\\b\\w+)?(Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)?(\\[\\])?(\\?)?(\\!)?","captures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"invalid.illegal.colon.prisma"},"3":{"name":"variable.language.relations.prisma"},"4":{"name":"support.type.primitive.prisma"},"5":{"name":"keyword.operator.list_type.prisma"},"6":{"name":"keyword.operator.optional_type.prisma"},"7":{"name":"invalid.illegal.required_type.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"functional":{"name":"source.prisma.functional","begin":"(\\w+)(\\()","end":"\\)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"support.function.functional.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"identifier":{"patterns":[{"name":"support.constant.constant.prisma","match":"\\b(\\w)+\\b"}]},"literal":{"name":"source.prisma.literal","patterns":[{"include":"#boolean"},{"include":"#number"},{"include":"#double_quoted_string"},{"include":"#identifier"}]},"map_key":{"name":"source.prisma.key","patterns":[{"match":"(\\w+)\\s*(:)\\s*","captures":{"1":{"name":"variable.parameter.key.prisma"},"2":{"name":"punctuation.definition.separator.key-value.prisma"}}}]},"model_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(model|type|view)\\s+([A-Za-z][\\w]*)\\s*({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#field_definition"}],"beginCaptures":{"1":{"name":"storage.type.model.prisma"},"2":{"name":"entity.name.type.model.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"named_argument":{"name":"source.prisma.named_argument","patterns":[{"include":"#map_key"},{"include":"#value"}]},"number":{"name":"constant.numeric.prisma","match":"((0(x|X)[0-9a-fA-F]*)|(\\+|-)?\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDdg]|UL|ul)?\\b"},"string_interpolation":{"patterns":[{"name":"source.tag.embedded.source.prisma","begin":"\\$\\{","end":"\\s*\\}","patterns":[{"include":"#value"}],"beginCaptures":{"0":{"name":"keyword.control.interpolation.start.prisma"}},"endCaptures":{"0":{"name":"keyword.control.interpolation.end.prisma"}}}]},"triple_comment":{"name":"comment.prisma","begin":"///","end":"$\\n?"},"type_definition":{"patterns":[{"match":"^\\s*(type)\\s+(\\w+)\\s*=\\s*(\\w+)","captures":{"1":{"name":"storage.type.type.prisma"},"2":{"name":"entity.name.type.type.prisma"},"3":{"name":"support.type.primitive.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"value":{"name":"source.prisma.value","patterns":[{"include":"#array"},{"include":"#functional"},{"include":"#literal"}]}}}
1
+ {"name":"Prisma","scopeName":"source.prisma","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#multi_line_comment"},{"include":"#model_block_definition"},{"include":"#config_block_definition"},{"include":"#enum_block_definition"},{"include":"#type_definition"}],"repository":{"array":{"name":"source.prisma.array","begin":"\\[","end":"\\]","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}}},"assignment":{"patterns":[{"begin":"^\\s*(\\w+)\\s*(=)\\s*","end":"\\n","patterns":[{"include":"#value"},{"include":"#double_comment_inline"}],"beginCaptures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"keyword.operator.terraform"}}}]},"attribute":{"name":"source.prisma.attribute","match":"(@@?[\\w\\.]+)","captures":{"1":{"name":"entity.name.function.attribute.prisma"}}},"attribute_with_arguments":{"name":"source.prisma.attribute.with_arguments","begin":"(@@?[\\w\\.]+)(\\()","end":"\\)","patterns":[{"include":"#named_argument"},{"include":"#value"}],"beginCaptures":{"1":{"name":"entity.name.function.attribute.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"boolean":{"name":"constant.language.boolean.prisma","match":"\\b(true|false)\\b"},"config_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(generator|datasource)\\s+([A-Za-z][\\w]*)\\s+({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#multi_line_comment"},{"include":"#assignment"}],"beginCaptures":{"1":{"name":"storage.type.config.prisma"},"2":{"name":"entity.name.type.config.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}}},"double_comment":{"name":"comment.prisma","begin":"//","end":"$\\n?"},"double_comment_inline":{"name":"comment.prisma","match":"//[^\\n]*"},"double_quoted_string":{"name":"unnamed","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"name":"string.quoted.double.prisma","match":"([\\w\\-\\/\\._\\\\%@:\\?=]+)"}],"beginCaptures":{"0":{"name":"string.quoted.double.start.prisma"}},"endCaptures":{"0":{"name":"string.quoted.double.end.prisma"}}},"enum_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(enum)\\s+([A-Za-z][\\w]*)\\s+({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#multi_line_comment"},{"include":"#enum_value_definition"}],"beginCaptures":{"1":{"name":"storage.type.enum.prisma"},"2":{"name":"entity.name.type.enum.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"enum_value_definition":{"patterns":[{"match":"^\\s*(\\w+)\\s*","captures":{"1":{"name":"variable.other.assignment.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"field_definition":{"name":"scalar.field","patterns":[{"match":"^\\s*(\\w+)(\\s*:)?\\s+((?!(?:Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)\\b)\\b\\w+)?(Int|BigInt|String|DateTime|Bytes|Decimal|Float|Json|Boolean)?(\\[\\])?(\\?)?(\\!)?","captures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"invalid.illegal.colon.prisma"},"3":{"name":"variable.language.relations.prisma"},"4":{"name":"support.type.primitive.prisma"},"5":{"name":"keyword.operator.list_type.prisma"},"6":{"name":"keyword.operator.optional_type.prisma"},"7":{"name":"invalid.illegal.required_type.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"functional":{"name":"source.prisma.functional","begin":"(\\w+)(\\()","end":"\\)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"support.function.functional.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"identifier":{"patterns":[{"name":"support.constant.constant.prisma","match":"\\b(\\w)+\\b"}]},"literal":{"name":"source.prisma.literal","patterns":[{"include":"#boolean"},{"include":"#number"},{"include":"#double_quoted_string"},{"include":"#identifier"}]},"map_key":{"name":"source.prisma.key","patterns":[{"match":"(\\w+)\\s*(:)\\s*","captures":{"1":{"name":"variable.parameter.key.prisma"},"2":{"name":"punctuation.definition.separator.key-value.prisma"}}}]},"model_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(model|type|view)\\s+([A-Za-z][\\w]*)\\s*({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#multi_line_comment"},{"include":"#field_definition"}],"beginCaptures":{"1":{"name":"storage.type.model.prisma"},"2":{"name":"entity.name.type.model.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"multi_line_comment":{"name":"comment.prisma","begin":"/\\*","end":"\\*/"},"named_argument":{"name":"source.prisma.named_argument","patterns":[{"include":"#map_key"},{"include":"#value"}]},"number":{"name":"constant.numeric.prisma","match":"((0(x|X)[0-9a-fA-F]*)|(\\+|-)?\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDdg]|UL|ul)?\\b"},"string_interpolation":{"patterns":[{"name":"source.tag.embedded.source.prisma","begin":"\\$\\{","end":"\\s*\\}","patterns":[{"include":"#value"}],"beginCaptures":{"0":{"name":"keyword.control.interpolation.start.prisma"}},"endCaptures":{"0":{"name":"keyword.control.interpolation.end.prisma"}}}]},"triple_comment":{"name":"comment.prisma","begin":"///","end":"$\\n?"},"type_definition":{"patterns":[{"match":"^\\s*(type)\\s+(\\w+)\\s*=\\s*(\\w+)","captures":{"1":{"name":"storage.type.type.prisma"},"2":{"name":"entity.name.type.type.prisma"},"3":{"name":"support.type.primitive.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"value":{"name":"source.prisma.value","patterns":[{"include":"#array"},{"include":"#functional"},{"include":"#literal"}]}}}
@@ -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}']*)"}]}}}
@@ -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 | $ | (?:// | /\\*)"}}}
@@ -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"}]}}}
@@ -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","begin":"/(?!/|\\*)","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"}}}]}}}
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"}}}]}}}
@@ -1 +1 @@
1
- {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#ffi-single"},{"include":"#ffi"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#list"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuation"},{"include":"#defaultIdIsVariable"}],"repository":{"RE_CONSTANTS_BOOL":{"name":"constant.language.boolean","match":"\\b(false|true)\\b"},"RE_KEYWORD":{"name":"storage.type","match":"\\b(include|let|module|of|open|type)\\b"},"RE_KEYWORD_CONTROL":{"name":"keyword.control","match":"\\b(and|as|assert|async|await|catch|constraint|downto|else|exception|external|for|if|in|lazy|mutable|rec|switch|to|try|when|while|with|private)\\b"},"RE_TO_DOWNTO_AS_LABELS":{"patterns":[{"match":"(to|downto)\\s*(=)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.operator keyword"}}},{"match":"(to|downto)\\s*(as)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.control"}}}]},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"punctuation.decorator"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"entity.name.function"}}},{"name":"entity.name.function","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_CONSTANTS_BOOL"}]},"constructor":{"patterns":[{"name":"variable.other.enummember","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)\\s*([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)\\s*(\\.\\.\\.)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)","captures":{"1":{"name":"variable.other.enummember"}}}]},"defaultIdIsVariable":{"patterns":[{"name":"variable","match":"[A-Za-z_][A-Za-z0-9_]*"}]},"ffi":{"name":"source.embedded.javascript","contentName":"meta.embedded.block.javascript","begin":"(%|%%)(raw|ffi)(\\()(`)","end":"(`)(\\))","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"ffi-single":{"name":"source.embedded.javascript.single","match":"(%|%%)(raw|ffi)(\\()(`)(.*?)(`)(\\))","captures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"},"5":{"patterns":[{"include":"source.js"}]},"6":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"name":"punctuation.definition.tag","match":"\u003c\u003e|\u003c/\u003e|\u003c/|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"variable"}}},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}}]},"keyword":{"patterns":[{"include":"#RE_TO_DOWNTO_AS_LABELS"},{"include":"#RE_KEYWORD_CONTROL"},{"include":"#RE_KEYWORD"}]},"list":{"patterns":[{"match":"\\b(list)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.class","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.class"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.class"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.class"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuation":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"(?\u003c!\\\\)`","patterns":[{"include":"#string-character-escape"},{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuation"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end"}}}],"beginCaptures":{"1":{"name":"entity.name.function"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"string-character-escape":{"name":"constant.character.escape","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u{[0-9A-Fa-f]+}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}
1
+ {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#ffi-single"},{"include":"#ffi"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#entity-literal"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuation"},{"include":"#defaultIdIsVariable"}],"repository":{"RE_CONSTANTS_BOOL":{"name":"constant.language.boolean","match":"\\b(false|true)\\b"},"RE_KEYWORD":{"name":"storage.type","match":"\\b(include|let|module|of|open|type)\\b"},"RE_KEYWORD_CONTROL":{"name":"keyword.control","match":"\\b(and|as|assert|async|await|catch|constraint|downto|else|exception|external|for|if|in|lazy|mutable|rec|switch|to|try|when|while|with|private)\\b"},"RE_TO_DOWNTO_AS_LABELS":{"patterns":[{"match":"(to|downto)\\s*(=)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.operator keyword"}}},{"match":"(to|downto)\\s*(as)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.control"}}}]},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"punctuation.decorator"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"entity.name.function"}}},{"name":"entity.name.function","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_CONSTANTS_BOOL"}]},"constructor":{"patterns":[{"name":"variable.other.enummember","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)\\s*([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)\\s*(\\.\\.\\.)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)","captures":{"1":{"name":"variable.other.enummember"}}}]},"defaultIdIsVariable":{"patterns":[{"name":"variable","match":"[A-Za-z_][A-Za-z0-9_]*"}]},"entity-literal":{"patterns":[{"match":"\\b(list|dict)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"ffi":{"name":"source.embedded.javascript","contentName":"meta.embedded.block.javascript","begin":"(%|%%)(raw|ffi)(\\()(`)","end":"(`)(\\))","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"ffi-single":{"name":"source.embedded.javascript.single","match":"(%|%%)(raw|ffi)(\\()(`)(.*?)(`)(\\))","captures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"},"5":{"patterns":[{"include":"source.js"}]},"6":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"name":"punctuation.definition.tag","match":"\u003c\u003e|\u003c/\u003e|\u003c/|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"variable"}}},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}}]},"keyword":{"patterns":[{"include":"#RE_TO_DOWNTO_AS_LABELS"},{"include":"#RE_KEYWORD_CONTROL"},{"include":"#RE_KEYWORD"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.class","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.class"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.class"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.class"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuation":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"(?\u003c!\\\\)`","patterns":[{"include":"#string-character-escape"},{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuation"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end"}}}],"beginCaptures":{"1":{"name":"entity.name.function"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"string-character-escape":{"name":"constant.character.escape","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u{[0-9A-Fa-f]+}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}