github-linguist 9.1.0 → 9.2.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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +3 -3
  3. data/grammars/etc.json +1 -1
  4. data/grammars/inline.edgeql.json +1 -1
  5. data/grammars/liquid.injection.json +1 -1
  6. data/grammars/source.4dm.json +1 -1
  7. data/grammars/source.QB64.json +1 -1
  8. data/grammars/source.abl.json +1 -1
  9. data/grammars/source.aiken.json +1 -0
  10. data/grammars/source.apex.json +1 -1
  11. data/grammars/source.ballerina.json +1 -1
  12. data/grammars/source.brs.json +1 -1
  13. data/grammars/source.c++.json +1 -1
  14. data/grammars/source.c.calendar.json +1 -0
  15. data/grammars/source.c.json +1 -1
  16. data/grammars/source.cl.json +1 -1
  17. data/grammars/source.clue.json +1 -0
  18. data/grammars/source.cmake.json +1 -1
  19. data/grammars/source.cmakecache.json +1 -1
  20. data/grammars/source.cobol.json +1 -1
  21. data/grammars/source.curlrc.json +1 -1
  22. data/grammars/source.daslang.json +1 -0
  23. data/grammars/source.dds.dspf.json +1 -1
  24. data/grammars/source.erlang.json +1 -1
  25. data/grammars/source.gdscript.json +1 -1
  26. data/grammars/source.git-revlist.json +1 -1
  27. data/grammars/source.gleam.json +1 -1
  28. data/grammars/source.hx.json +1 -1
  29. data/grammars/source.ilecobol.json +1 -0
  30. data/grammars/source.jai.json +1 -1
  31. data/grammars/source.json.comments.json +1 -1
  32. data/grammars/source.julia.console.json +1 -1
  33. data/grammars/source.julia.json +1 -1
  34. data/grammars/source.just.json +1 -1
  35. data/grammars/source.koka.json +1 -0
  36. data/grammars/source.leo.json +1 -0
  37. data/grammars/source.livescript.json +1 -1
  38. data/grammars/source.m2.json +1 -1
  39. data/grammars/source.m3u.json +1 -0
  40. data/grammars/source.moonbit.json +1 -1
  41. data/grammars/source.nasl.json +1 -1
  42. data/grammars/source.nim.json +1 -1
  43. data/grammars/source.nushell.json +1 -1
  44. data/grammars/source.objc.json +1 -1
  45. data/grammars/source.odin.json +1 -1
  46. data/grammars/source.openqasm.json +1 -0
  47. data/grammars/source.rascal.json +1 -1
  48. data/grammars/source.rescript.json +1 -1
  49. data/grammars/source.roc.json +1 -1
  50. data/grammars/source.rust.json +1 -1
  51. data/grammars/source.sail.json +1 -0
  52. data/grammars/source.slang.json +1 -1
  53. data/grammars/source.slint.json +1 -1
  54. data/grammars/source.smithy.json +1 -1
  55. data/grammars/source.soql.json +1 -1
  56. data/grammars/source.sway.json +1 -1
  57. data/grammars/source.tact.json +1 -1
  58. data/grammars/source.talon.json +1 -1
  59. data/grammars/source.templ.json +1 -1
  60. data/grammars/source.toc.json +1 -1
  61. data/grammars/source.torrc.json +1 -0
  62. data/grammars/source.typst.json +1 -1
  63. data/grammars/source.uplc.json +1 -0
  64. data/grammars/source.vba.json +1 -1
  65. data/grammars/source.vento.json +1 -0
  66. data/grammars/source.vue.json +1 -1
  67. data/grammars/source.wdl.json +1 -1
  68. data/grammars/source.wit.json +1 -1
  69. data/grammars/source.zmodel.json +1 -0
  70. data/grammars/text.adblock.json +1 -1
  71. data/grammars/text.html.liquid.json +1 -1
  72. data/grammars/text.html.vento.json +1 -0
  73. data/grammars/text.valve-cfg.json +1 -1
  74. data/grammars/version +1 -1
  75. data/lib/linguist/VERSION +1 -1
  76. data/lib/linguist/generated.rb +23 -1
  77. data/lib/linguist/heuristics.yml +8 -1
  78. data/lib/linguist/languages.json +1 -1
  79. data/lib/linguist/languages.yml +143 -10
  80. data/lib/linguist/samples.json +1 -1
  81. metadata +21 -11
  82. data/grammars/source.c.platform.json +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 68a6d79492f6408088762b786fc3cf181e18fdba0af0d309282b1ae96742fc53
4
- data.tar.gz: 9e4f5e011587af022bc50116235fbd996ef03ca9bb6a957b4500a574258c5e50
3
+ metadata.gz: 9678f879dd08e63ea8727fc9217ac7a050388b3d3511f5be736ad86d9e0904b8
4
+ data.tar.gz: 937d78e836c92e5424b37240ff898d7bcf48eef94a23662e10a9b187525cd91f
5
5
  SHA512:
6
- metadata.gz: 1ad5b61a3fe3ac49f6960d016fcb16abf9af696e228c0a6474ee40181c5d9041d68771a0a1b06d034baad5084e9eedc4ea9bc02e5830138f47c0a9743fcc7952
7
- data.tar.gz: ccf950a746b20550df29682921f52a91cf1bf201c535a382cfc7639a1734c537d352afe8d86e4bd62dd515b2f70fcad746e3274d1a931e9f5f6cda6098bbf1c8
6
+ metadata.gz: d214084ee510acb2395ded5f265fb3ba5e3494e5ad8f9afa29181417a97f96fe9a5b64b17a648d40f5e4c607b5c3088afdc1e12bec5dbb22e9480c337ca6e363
7
+ data.tar.gz: 813748e36ac6a651135579b97af68dc9d167775b5b4c13e064bf2311325cb2d7faeb1065d666e1f5227b061d10e7cc5933a446cc93a17219849fe5847a2767fa
data/bin/github-linguist CHANGED
@@ -12,9 +12,9 @@ HELP_TEXT = <<~HELP
12
12
  Linguist v#{Linguist::VERSION}
13
13
  Detect language type and determine language breakdown for a given Git repository.
14
14
 
15
- Usage: linguist <path>
16
- linguist <path> [--rev REV] [--tree-size] [--breakdown] [--json]
17
- linguist [--rev REV] [--tree-size] [--breakdown] [--json]
15
+ Usage: github-linguist <path>
16
+ github-linguist <path> [--rev REV] [--tree-size] [--breakdown] [--json]
17
+ github-linguist [--rev REV] [--tree-size] [--breakdown] [--json]
18
18
  HELP
19
19
 
20
20
  def github_linguist(args)
data/grammars/etc.json CHANGED
@@ -1 +1 @@
1
- {"scopeName":"etc","patterns":[{"include":"#comma"},{"include":"#comment"},{"include":"#esc"},{"include":"#float"},{"include":"#int"},{"include":"#str"},{"include":"#colon"},{"include":"#eql"},{"include":"#dot"}],"repository":{"bareword":{"name":"string.unquoted.bareword","match":"[^\"\\s][\\S]*"},"base64":{"name":"constant.numeric.base64","match":"[A-Za-z0-9+/=]{4,}"},"bool":{"name":"constant.logical.bool.boolean.${1:/downcase}","match":"\\b(true|false|TRUE|FALSE)\\b"},"bracket":{"patterns":[{"name":"punctuation.definition.bracket.curly.brace.begin","match":"\\{"},{"name":"punctuation.definition.bracket.curly.brace.end","match":"\\}"},{"name":"punctuation.definition.bracket.square.begin","match":"\\["},{"name":"punctuation.definition.bracket.square.end","match":"\\]"},{"name":"punctuation.definition.bracket.round.parenthesis.begin","match":"\\("},{"name":"punctuation.definition.bracket.round.parenthesis.end","match":"\\)"},{"name":"punctuation.definition.bracket.angle.ascii.begin","match":"\u003c"},{"name":"punctuation.definition.bracket.angle.ascii.end","match":"\u003e"},{"name":"punctuation.definition.bracket.angle.unicode.begin","match":"⟨"},{"name":"punctuation.definition.bracket.angle.unicode.end","match":"⟩"}]},"colon":{"name":"punctuation.delimiter.separator.colon","match":":"},"comma":{"name":"punctuation.separator.delimiter.comma","match":","},"comment":{"patterns":[{"include":"#commentHash"}]},"commentHash":{"name":"comment.line.number-sign","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSemi":{"name":"comment.line.semicolon","begin":";+","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSlash":{"name":"comment.line.double-slash","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"dash":{"name":"punctuation.delimiter.separator.dash.hyphen","match":"-"},"dot":{"name":"punctuation.delimiter.separator.property.period.dot","match":"\\."},"dotDec":{"name":"constant.numeric.other.dot-decimal","match":"(?:\\G|(?\u003c!\\.)\\b)\\d+(?:\\.\\d+)+\\b(?!\\.)"},"dotPair":{"name":"keyword.operator.punctuation.dots.splat.range.spread.rest","match":"\\.\\.|‥"},"dotTrail":{"name":"punctuation.delimiter.separator.dotted.border.leader.dots","match":"\\.{4,}"},"dots":{"patterns":[{"include":"#ellipsis"},{"include":"#dotPair"},{"include":"#dot"}]},"ellipsis":{"name":"keyword.operator.punctuation.ellipsis.splat.range.spread.rest","match":"\\.{3}|…"},"email":{"patterns":[{"include":"#emailBracketed"},{"include":"#emailQuoted"},{"include":"#emailUnquoted"}]},"emailBracketed":{"patterns":[{"name":"meta.email-address.bracketed.ascii.angle-brackets","match":"(\u003c)\\s*([^\u003e@\\s]+@[^\u003e@\\s]+)\\s*(\u003e)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.unicode.angle-brackets","match":"(⟨)\\s*([^⟩@\\s]+@[^⟩@\\s]+)\\s*(⟩)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.guillemots","match":"(«)\\s*([^»@\\s]+@[^»@\\s]+)\\s*(»)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.round-brackets","match":"(\\()\\s*([^\\)@\\s]+@[^\\)@\\s]+)\\s*(\\))","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.curly-brackets","match":"({)\\s*([^}@\\s]+@[^}@\\s]+)\\s*(})","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.square-brackets","match":"(\\[)\\s*([^\\]@\\s]+@[^\\]@\\s]+)\\s*(\\])","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}}]},"emailInnards":{"name":"constant.other.reference.link.underline.email","match":"(?:\\G|^|(?\u003c=\\n)).+","captures":{"0":{"patterns":[{"match":"\\G([^@]*)(@)(.*)","captures":{"1":{"name":"meta.local-part"},"2":{"name":"punctuation.separator.at-sign.email"},"3":{"name":"meta.domain"}}}]}}},"emailQuoted":{"patterns":[{"name":"meta.email-address.quoted.ascii.double-quotes","match":"(\")\\s*([^\"@\\s]+@[^\"@\\s]+)\\s*(\")","captures":{"0":{"name":"string.quoted.double"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.unicode.double-quotes","match":"(“)\\s*([^”@\\s]+@[^”@\\s]+)\\s*(”)","captures":{"0":{"name":"string.quoted.double"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.unicode.single-quotes","match":"(‘)\\s*([^’@\\s]+@[^’@\\s]+)\\s*(’)","captures":{"0":{"name":"string.quoted.single"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.backticks","match":"(`)\\s*([^`@\\s]+@[^`@\\s]+)\\s*(`)","captures":{"0":{"name":"string.quoted.template.backticks"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.single-quotes","match":"(`|')\\s*([^'@\\s]+@[^'@\\s]+)\\s*(')","captures":{"0":{"name":"string.quoted.single"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}}]},"emailUnquoted":{"name":"meta.email-address.unquoted","match":"(?x)\n((?!\\.) (?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++ @\n([^\\[\\(\u003c⟨«\"'\\s@.]+?\\.(?=[^\\.\\s])(?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++))","captures":{"1":{"name":"string.unquoted.email-address","patterns":[{"include":"#emailInnards"}]}}},"eql":{"name":"keyword.operator.assignment.key-value.equals-sign","match":"="},"esc":{"name":"constant.character.escape.backslash","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash"}}},"float":{"patterns":[{"include":"#floatExp"},{"include":"#floatNoExp"}]},"floatExp":{"name":"constant.numeric.float.real.decimal.dec.exponential.scientific","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)(?:[eE][-+]?[0-9]+)++"},"floatNoExp":{"name":"constant.numeric.float.real.decimal.dec","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)++"},"glob":{"patterns":[{"include":"#globSimple"},{"include":"#globSet"},{"include":"#globBraces"}]},"globBraces":{"patterns":[{"include":"#globBracesSeq"},{"include":"#globBracesAlt"}]},"globBracesAlt":{"name":"meta.brace-expansion.alternation","match":"(?x)\n(?\u003cchar\u003e[^\\s{,}\\\\]|\\\\[{,}\\\\]|\\g\u003cbraced\u003e){0}\n(?\u003cbraced\u003e{(?:[^{},\\\\]|\\\\.)*+}){0}\n(?\u003calt\u003e\\g\u003cchar\u003e*+,\\g\u003cchar\u003e*+|\\g\u003cchar\u003e++){0}\n(?\u003cseq\u003e{(?:-?\\d+\\.\\.-?\\d+|[a-zA-Z]\\.\\.[a-zA-Z])(?:\\.\\.-?\\d+)?}){0}\n(?\u003centry\u003e \\g\u003cchar\u003e*+ (?:\n\t\\g\u003cseq\u003e+\n\t|\n\t(?!\\g\u003cbraced\u003e)\n\t{\n\t\t(?\u003cbraces\u003e\n\t\t\t\\g\u003calt\u003e*+\n\t\t\t(?:(?!\\g\u003cbraced\u003e) { \\g\u003cbraces\u003e*+ } | \\g\u003cseq\u003e++)\n\t\t\t\\g\u003calt\u003e*+\n\t\t\t|\n\t\t\t\\g\u003calt\u003e++\n\t\t)\n\t}\n) \\g\u003cchar\u003e*+)","captures":{"0":{"patterns":[{"include":"#globBracesSeq"},{"match":"{(?:\\.?+(?:[^{},.\\\\]|\\\\.))*+}","captures":{"0":{"patterns":[{"include":"#esc"}]}}},{"include":"#esc"},{"include":"#globSet"},{"include":"#globSimple"},{"match":"({|})|(,)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#comma"}]}}}]}}},"globBracesSeq":{"name":"meta.brace-expansion.sequence","match":"({)(?:(-?\\d+\\.\\.-?\\d+)|([a-zA-Z]\\.\\.[a-zA-Z]))(\\.\\.-?\\d+)?(})","captures":{"1":{"patterns":[{"include":"etc#bracket"}]},"2":{"name":"meta.range.numeric","patterns":[{"include":"#dots"},{"include":"#intNoExp"}]},"3":{"name":"meta.range.alphabetic","patterns":[{"include":"#dots"},{"name":"constant.character.letter","match":"\\w"}]},"4":{"name":"meta.increment","patterns":[{"include":"#dots"},{"include":"#intNoExp"}]},"5":{"patterns":[{"include":"etc#bracket"}]}}},"globSet":{"name":"meta.character-class.set","match":"(?x)\n(\\[) (!|\\^)?\n(\n\t(?: [^\\\\\\[\\]]\n\t| \\\\.\n\t| \\[ (?::[!^]?\\w+:|\\..+?\\.|=.+?=) \\]\n\t)*+\n)(\\])","captures":{"1":{"name":"brackethighlighter.square.punctuation.definition.character-class.set.begin"},"2":{"name":"keyword.operator.logical.not"},"3":{"patterns":[{"include":"#esc"},{"match":"(?!^|\\G)(-)(?!\\])(-)?","captures":{"1":{"patterns":[{"include":"#dash"}]},"2":{"name":"constant.character.single"}}},{"include":"source.regexp.posix#charClass"},{"include":"source.regexp.posix#localeClasses"},{"name":"constant.character.single","match":"."}]},"4":{"name":"brackethighlighter.square.punctuation.definition.character-class.set.end"}}},"globSimple":{"patterns":[{"name":"keyword.operator.glob.wildcard.globstar","match":"\\*{2}"},{"name":"keyword.operator.glob.wildcard","match":"[*?]"}]},"hex":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[-+]?[A-Fa-f0-9]+"},"hexNoSign":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[A-Fa-f0-9]+"},"int":{"patterns":[{"include":"#intExp"},{"include":"#intNoExp"}]},"intExp":{"name":"constant.numeric.integer.int.decimal.dec.exponential.scientific","match":"[-+]?[0-9]+[eE][-+]?[0-9]+"},"intNoExp":{"name":"constant.numeric.integer.int.decimal.dec","match":"[-+]?[0-9]+"},"ip":{"patterns":[{"include":"#ipv6"},{"include":"#ipv4"}]},"ipv4":{"name":"constant.numeric.other.ip-address.v4","match":"(?x) (?:\\G|^|(?\u003c!\\.)\\b)\n(?!\\.)\n((?:\n\t\\.?\n\t(?: 25[0-5] # 250-255\n\t| 2[0-4]\\d # 200-249\n\t| 1\\d\\d # 100-199\n\t| [1-9]?\\d # 0-99\n\t)\\b\n){4})\n\n# CIDR notation: “/[0-32]”\n((/)(3[0-2]|[12]?\\d)\\b)?\n\n(?=$|\\s|(?!\\.)\\b)","captures":{"1":{"patterns":[{"include":"#dot"}]},"2":{"name":"meta.cidr-notation"},"3":{"name":"keyword.operator.assignment.cidr"},"4":{"patterns":[{"include":"#intNoExp"}]}}},"ipv6":{"name":"constant.numeric.other.ip-address.v6","match":"(?mix) (?:\\G|^|(?\u003c!\\.|:|\\w))\n(?\u003cdec\u003e25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d){0}\n(?\u003chex\u003e[A-F0-9]{1,4}){0}\n(?\u003cv4\u003e\\g\u003cdec\u003e(?:\\.\\g\u003cdec\u003e){3}){0}\n(?\u003cv6\u003e\\g\u003chex\u003e:){0}\n\n# Address\n(?: \\g\u003cv6\u003e{7} (?: \\g\u003chex\u003e |:)\n| \\g\u003cv6\u003e{6} (?: \\g\u003cv4\u003e| :\\g\u003chex\u003e |:)\n| \\g\u003cv6\u003e{5} (?: :\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,2}|:)\n| \\g\u003cv6\u003e{4} (?:(?::\\g\u003chex\u003e)? :\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,3}|:)\n| \\g\u003cv6\u003e{3} (?:(?::\\g\u003chex\u003e){0,2}:\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,4}|:)\n| \\g\u003cv6\u003e{2} (?:(?::\\g\u003chex\u003e){0,3}:\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,5}|:)\n| \\g\u003cv6\u003e (?:(?::\\g\u003chex\u003e){0,4}:\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,6}|:)\n| (?::(?:(?::\\g\u003chex\u003e){0,5}:\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,7}|:))\n) (?:(?\u003c!:)\\b|(?\u003c=:)(?!\\w|:))\n\n# Zone ID (RFC 4007): “%ne0”\n(?:\n\t%\n\t(?!\\$)\n\t[^\\s();\"/]+\n)?\n\n# CIDR notation: “/[0-128]”\n(?:\n\t/\n\t(?: 12[0-8] # 120-128\n\t| 1[01]\\d # 100-119\n\t| [1-9]?\\d # 0-99\n\t) \\b\n)?\n\n(?=$|\\s|[^.:%/\\s])","captures":{"0":{"patterns":[{"match":"(?!$)((%)([^/%]+))?((/)([0-9]+))?$","captures":{"1":{"name":"meta.zone-id"},"2":{"name":"keyword.operator.assignment.zone-id"},"3":{"name":"entity.other.zone-index"},"4":{"name":"meta.cidr-notation"},"5":{"name":"keyword.operator.assignment.cidr"},"6":{"patterns":[{"include":"#intNoExp"}]}}},{"include":"#colon"}]}}},"kolon":{"name":"keyword.operator.assignment.key-value.colon","match":":"},"mime":{"name":"constant.other.media-type","match":"(?xi) (?\u003c!-|\\.)\\b\n(?: (application|audio|example|font|image|message|model|multipart|text|video)\n| (chemical|drawing|magnus-internal|paleovu|xgl|inode(?=/(?:blockdevice|chardevice|directory|door|fifo|mount-point|socket|symlink)))\n| (x-[-a-z0-9+_.]{1,125})\n) (/) (?![.+])([-a-z0-9+_.]{1,127})(?\u003c![.+])\n\\b (?!-|\\.)\n((?:\n\t# LHS: “; name=”\n\t\\s* ; \\s* [^;=]+ \\s* = [ \\t]*\n\t\n\t# RHS\n\t(?: \"(?:[^\"\\\\]|\\\\\")*+\" # Quoted value\n\t| (?=\\S)[^;\\r\\n]+ # Unquoted value\n\t)?\n)++)?","captures":{"1":{"name":"entity.name.type.standard.${1:/downcase}.media-type"},"2":{"name":"entity.name.type.nonstandard.${2:/downcase}.media-type"},"3":{"name":"entity.name.type.extension.media-type"},"4":{"name":"punctuation.separator.slash.media-type"},"5":{"patterns":[{"contentName":"entity.name.subtype.media-type","begin":"(?i)(?:^|\\G)(?:(([-a-z0-9_]+)(\\.))((?:[-a-z0-9_]+\\.)*+))?","end":"((\\+)[-a-z0-9_.]+)?$","beginCaptures":{"1":{"name":"entity.other.tree.${2:/downcase}.media-type"},"3":{"name":"punctuation.separator.dot.media-type"},"4":{"patterns":[{"name":"entity.other.subtree.${1:/downcase}.media-type","match":"([^.]+)(\\.)","captures":{"2":{"name":"punctuation.separator.dot.media-type"}}}]}},"endCaptures":{"1":{"name":"entity.other.suffix.media-type"},"2":{"name":"punctuation.separator.plus.media-type"}}}]},"6":{"name":"meta.parameters.media-type","patterns":[{"name":"meta.parameter.media-type","begin":"\\s*((;))\\s*([^;=]+)\\s*(=)[ \\t]*","end":"(?!\\G)","patterns":[{"name":"string.quoted.double.media-type","match":"\\G(\")((?:[^\"\\\\]|\\\\\")*+)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.media-type"},"2":{"patterns":[{"name":"constant.character.escape.quote.media-type","match":"\\\\\""}]},"3":{"name":"punctuation.definition.string.end.media-type"}}},{"name":"string.unquoted.parameter.media-type","match":"\\G[^;\\r\\n]+"}],"beginCaptures":{"1":{"name":"punctuation.delimiter.semicolon.media-type"},"2":{"name":"sublimelinter.gutter-mark"},"3":{"name":"variable.parameter.media-type"},"4":{"patterns":[{"include":"#eql"}]}}}]}}},"num":{"patterns":[{"include":"#float"},{"include":"#int"}]},"op":{"patterns":[{"include":"#opBitAssign"},{"include":"#opMathAssign"},{"include":"#opBit"},{"include":"#opFix"},{"include":"#opCmp"},{"include":"#opLog"},{"include":"#opMath"}]},"opBit":{"patterns":[{"name":"keyword.operator.bitwise.xor","match":"\\^"},{"name":"keyword.operator.bitwise.not","match":"~"},{"name":"keyword.operator.bitwise.and","match":"\u0026"},{"name":"keyword.operator.bitwise.or","match":"\\|"},{"name":"keyword.operator.bitwise.shift.left","match":"\u003c\u003c"},{"name":"keyword.operator.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e"},{"name":"keyword.operator.bitwise.shift.right.signed","match":"\u003e\u003e"}]},"opBitAssign":{"patterns":[{"name":"keyword.operator.assignment.bitwise.xor","match":"\\^="},{"name":"keyword.operator.assignment.bitwise.not","match":"~="},{"name":"keyword.operator.assignment.bitwise.and","match":"\u0026="},{"name":"keyword.operator.assignment.bitwise.or","match":"\\|="},{"name":"keyword.operator.assignment.bitwise.shift.left","match":"\u003c\u003c="},{"name":"keyword.operator.assignment.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e="},{"name":"keyword.operator.assignment.bitwise.shift.right.signed","match":"\u003e\u003e="}]},"opCmp":{"patterns":[{"name":"keyword.operator.logical.comparison.starship.spaceship","match":"\u003c=\u003e"},{"name":"keyword.operator.logical.comparison.less-than-or-equal-to.lte","match":"\u003c="},{"name":"keyword.operator.logical.comparison.less-than.lt","match":"\u003c"},{"name":"keyword.operator.logical.comparison.greater-than-or-equal-to.gte","match":"\u003e="},{"name":"keyword.operator.logical.comparison.greater-than.gt","match":"\u003e"},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq.strict","match":"==="},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq","match":"=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne.strict","match":"!=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne","match":"!="}]},"opFix":{"patterns":[{"name":"keyword.operator.increment","match":"\\+{2}"},{"name":"keyword.operator.decrement","match":"-{2}"}]},"opLog":{"patterns":[{"name":"keyword.operator.logical.boolean.cast","match":"!!"},{"name":"keyword.operator.logical.boolean.not.negation.negate","match":"!"},{"name":"keyword.operator.logical.boolean.and","match":"\u0026\u0026"},{"name":"keyword.operator.logical.boolean.or","match":"\\|{2}"},{"name":"keyword.operator.logical.boolean.or.nullish","match":"\\?{2}"}]},"opMath":{"patterns":[{"name":"keyword.operator.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}|\\^"},{"name":"keyword.operator.arithmetic.addition.add.plus","match":"\\+"},{"name":"keyword.operator.arithmetic.multiplication.multiply.times","match":"\\*"},{"name":"keyword.operator.arithmetic.division.divide","match":"/"},{"name":"keyword.operator.arithmetic.remainder.modulo.modulus.mod","match":"%"},{"name":"keyword.operator.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]"}]},"opMathAssign":{"patterns":[{"name":"keyword.operator.assignment.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}=|\\^="},{"name":"keyword.operator.assignment.arithmetic.addition.add.plus","match":"\\+="},{"name":"keyword.operator.assignment.arithmetic.multiplication.multiply.times","match":"\\*="},{"name":"keyword.operator.assignment.arithmetic.division.divide","match":"/="},{"name":"keyword.operator.assignment.arithmetic.remainder.modulo.modulus.mod","match":"%="},{"name":"keyword.operator.assignment.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]="}]},"semi":{"name":"punctuation.delimiter.separator.semicolon","match":";"},"str":{"patterns":[{"include":"#strDouble"},{"include":"#strSingle"}]},"strDouble":{"name":"string.quoted.double","begin":"\"","end":"\"|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"strSingle":{"name":"string.quoted.single","begin":"'","end":"'|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"tab":{"patterns":[{"match":"^\\t+","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.leading.tab.hard-tab","match":"\\t"}]}}},{"match":"\\t+$","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.trailing.tab.hard-tab","match":"\\t"}]}}},{"name":"punctuation.whitespace.tab.hard-tab","match":"\\t"}]},"url":{"patterns":[{"match":"(?x)\n(\"|'|\\b)\n(\n\t# Not part of official URL schemes, included here for convenience\n\t(?: (?:jdbc|mvn|odbc|view-source) :)?\n\n\t# Common protocols/URI schemes\n\t( https?\n\t| s?ftp\n\t| ftps\n\t| file\n\t| wss?\n\t| (?:git|svn) (?:\\+(?:https?|ssh))?\n\t| ssh\n\t\n\t# Less common URI schemes\n\t| aaas?\n\t| acap\n\t| adiumxtra\n\t| admin\n\t| afp\n\t| app\n\t| atom\n\t| aurora\n\t| aw\n\t| beshare\n\t| bolo\n\t| cassandra\n\t| chrome(?:-extension)?\n\t| coaps?\n\t| cockroach\n\t| content\n\t| couchbase\n\t| crid\n\t| cvs\n\t| dict\n\t| dns\n\t| docker\n\t| ed2k\n\t| facetime\n\t| feed\n\t| finger\n\t| fish\n\t| gemini\n\t| github(?:-(?:mac|linux|windows))?\n\t| gizmoproject\n\t| gopher\n\t| go\n\t| hcp\n\t| imap\n\t| irc[6s]?\n\t| issue\n\t| keyparc\n\t| lastfm\n\t| ldaps?\n\t| man(?:-?page)?\n\t| maria(?:db)?\n\t| market\n\t| message\n\t| mms\n\t| modern-?sqlite\n\t| mongodb\n\t| ms-help\n\t| mssql\n\t| mumble\n\t| my?sql\n\t| netezza\n\t| nfs\n\t| ni\n\t| nntp\n\t| notes\n\t| oleodbc\n\t| oracle\n\t| payto\n\t| pgsql\n\t| pg\n\t| pop\n\t| postgres(?:ql)?\n\t| postgresql\n\t| presto(?:dbs?|s)\n\t| reload\n\t| resource\n\t| res\n\t| rmi\n\t| rsync\n\t| rtmf?p\n\t| rtmp\n\t| s3\n\t| saphana\n\t| secondlife\n\t| sgn\n\t| shttp\n\t| slack\n\t| smb\n\t| snmp\n\t| soldat\n\t| sqlite3?\n\t| sqlserver\n\t| steam\n\t| stratum\\+[a-z]+\n\t| stuns?\n\t| teamspeak\n\t| telnet\n\t| turns?\n\t| txmt\n\t| udp\n\t| unreal\n\t| ut2004\n\t| ventrilo\n\t| vnc\n\t| wais\n\t| web\\+[a-z]+\n\t| webcal\n\t| wtai\n\t| wyciwyg\n\t| xmpp\n\t| xri\n\t| z39\\.50[rs]\n\t| zoommtg\n\t\n\t# User-defined/arbitrary URI scheme starting with `x-`\n\t| x(?:-[a-z][a-z0-9]*)++\n\t) ://\n\t\n\t# Path specifier\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t\n\t# Don't include trailing punctuation\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.$3.url"},"4":{"name":"punctuation.definition.link.end.url"}}},{"match":"(?x)\n(\"|'|\\b)\n(\n\tmailto (:)\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.mailto.url"},"3":{"name":"punctuation.separator.delimiter.scheme.url"},"4":{"name":"punctuation.definition.link.end.url"}}}]},"version":{"name":"constant.other.version-string","match":"(?x)\n(\"|'|\\b)\n([vV]?)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*)\n(?:\n\t(-)\n\t(\n\t\t(?: 0\n\t\t| [1-9]\\d*\n\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t)\n\t\t\n\t\t(?:\n\t\t\t\\.\n\t\t\t(?: 0\n\t\t\t| [1-9]\\d*\n\t\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t\t)\n\t\t)*\n\t)\n)?\n(?:\n\t(\\+)\n\t(\n\t\t[0-9a-zA-Z-]+\n\t\t(?:\\.[0-9a-zA-Z-]+)*\n\t)\n)?\n(\\1)","captures":{"1":{"name":"punctuation.definition.version-string.begin"},"10":{"name":"punctuation.delimiter.separator.plus"},"11":{"name":"meta.build-metadata","patterns":[{"include":"#dot"}]},"12":{"name":"punctuation.definition.version-string.end"},"2":{"name":"punctuation.definition.version-prefix"},"3":{"name":"meta.major.release-number"},"4":{"patterns":[{"include":"#dot"}]},"5":{"name":"meta.minor.release-number"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"meta.patch.release-number"},"8":{"patterns":[{"include":"#dash"}]},"9":{"name":"meta.prerelease.release-number","patterns":[{"include":"#dot"}]}}}}}
1
+ {"scopeName":"etc","patterns":[{"include":"#comma"},{"include":"#comment"},{"include":"#esc"},{"include":"#float"},{"include":"#int"},{"include":"#str"},{"include":"#colon"},{"include":"#eql"},{"include":"#dot"}],"repository":{"bareword":{"name":"string.unquoted.bareword","match":"[^\"\\s][\\S]*"},"base64":{"name":"constant.numeric.base64","match":"[A-Za-z0-9+/=]{4,}"},"bool":{"name":"constant.logical.bool.boolean.${1:/downcase}","match":"\\b(true|false|TRUE|FALSE)\\b"},"boolish":{"name":"constant.logical.bool.boolean.${1:/downcase}","match":"(?i)\\b(true|false|yes|no|on|off)\\b"},"bracket":{"patterns":[{"name":"punctuation.definition.bracket.curly.brace.begin","match":"\\{"},{"name":"punctuation.definition.bracket.curly.brace.end","match":"\\}"},{"name":"punctuation.definition.bracket.square.begin","match":"\\["},{"name":"punctuation.definition.bracket.square.end","match":"\\]"},{"name":"punctuation.definition.bracket.round.parenthesis.begin","match":"\\("},{"name":"punctuation.definition.bracket.round.parenthesis.end","match":"\\)"},{"name":"punctuation.definition.bracket.angle.ascii.begin","match":"\u003c"},{"name":"punctuation.definition.bracket.angle.ascii.end","match":"\u003e"},{"name":"punctuation.definition.bracket.angle.unicode.begin","match":"⟨"},{"name":"punctuation.definition.bracket.angle.unicode.end","match":"⟩"}]},"colon":{"name":"punctuation.delimiter.separator.colon","match":":"},"comma":{"name":"punctuation.separator.delimiter.comma","match":","},"comment":{"patterns":[{"include":"#commentHash"}]},"commentHash":{"name":"comment.line.number-sign","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSemi":{"name":"comment.line.semicolon","begin":";+","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSlash":{"name":"comment.line.double-slash","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"dash":{"name":"punctuation.delimiter.separator.dash.hyphen","match":"-"},"dot":{"name":"punctuation.delimiter.separator.property.period.dot","match":"\\."},"dotDec":{"name":"constant.numeric.other.dot-decimal","match":"(?:\\G|(?\u003c!\\.)\\b)\\d+(?:\\.\\d+)+\\b(?!\\.)"},"dotPair":{"name":"keyword.operator.punctuation.dots.splat.range.spread.rest","match":"\\.\\.|‥"},"dotTrail":{"name":"punctuation.delimiter.separator.dotted.border.leader.dots","match":"\\.{4,}"},"dots":{"patterns":[{"include":"#ellipsis"},{"include":"#dotPair"},{"include":"#dot"}]},"ellipsis":{"name":"keyword.operator.punctuation.ellipsis.splat.range.spread.rest","match":"\\.{3}|…"},"email":{"patterns":[{"include":"#emailBracketed"},{"include":"#emailQuoted"},{"include":"#emailUnquoted"}]},"emailBracketed":{"patterns":[{"name":"meta.email-address.bracketed.ascii.angle-brackets","match":"(\u003c)\\s*([^\u003e@\\s]+@[^\u003e@\\s]+)\\s*(\u003e)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.unicode.angle-brackets","match":"(⟨)\\s*([^⟩@\\s]+@[^⟩@\\s]+)\\s*(⟩)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.guillemots","match":"(«)\\s*([^»@\\s]+@[^»@\\s]+)\\s*(»)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.round-brackets","match":"(\\()\\s*([^\\)@\\s]+@[^\\)@\\s]+)\\s*(\\))","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.curly-brackets","match":"({)\\s*([^}@\\s]+@[^}@\\s]+)\\s*(})","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}},{"name":"meta.email-address.bracketed.square-brackets","match":"(\\[)\\s*([^\\]@\\s]+@[^\\]@\\s]+)\\s*(\\])","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"patterns":[{"include":"#bracket"}]}}}]},"emailInnards":{"name":"constant.other.reference.link.underline.email","match":"(?:\\G|^|(?\u003c=\\n)).+","captures":{"0":{"patterns":[{"match":"\\G([^@]*)(@)(.*)","captures":{"1":{"name":"meta.local-part"},"2":{"name":"punctuation.separator.at-sign.email"},"3":{"name":"meta.domain"}}}]}}},"emailQuoted":{"patterns":[{"name":"meta.email-address.quoted.ascii.double-quotes","match":"(\")\\s*([^\"@\\s]+@[^\"@\\s]+)\\s*(\")","captures":{"0":{"name":"string.quoted.double"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.unicode.double-quotes","match":"(“)\\s*([^”@\\s]+@[^”@\\s]+)\\s*(”)","captures":{"0":{"name":"string.quoted.double"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.unicode.single-quotes","match":"(‘)\\s*([^’@\\s]+@[^’@\\s]+)\\s*(’)","captures":{"0":{"name":"string.quoted.single"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.backticks","match":"(`)\\s*([^`@\\s]+@[^`@\\s]+)\\s*(`)","captures":{"0":{"name":"string.quoted.template.backticks"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}},{"name":"meta.email-address.quoted.single-quotes","match":"(`|')\\s*([^'@\\s]+@[^'@\\s]+)\\s*(')","captures":{"0":{"name":"string.quoted.single"},"1":{"name":"punctuation.definition.string.begin.email-address"},"2":{"patterns":[{"include":"#emailInnards"}]},"3":{"name":"punctuation.definition.string.end.email-address"}}}]},"emailUnquoted":{"name":"meta.email-address.unquoted","match":"(?x)\n((?!\\.) (?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++ @\n([^\\[\\(\u003c⟨«\"'\\s@.]+?\\.(?=[^\\.\\s])(?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++))","captures":{"1":{"name":"string.unquoted.email-address","patterns":[{"include":"#emailInnards"}]}}},"eql":{"name":"keyword.operator.assignment.key-value.equals-sign","match":"="},"esc":{"name":"constant.character.escape.backslash","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash"}}},"float":{"patterns":[{"include":"#floatExp"},{"include":"#floatNoExp"}]},"floatExp":{"name":"constant.numeric.float.real.decimal.dec.exponential.scientific","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)(?:[eE][-+]?[0-9]+)++"},"floatNoExp":{"name":"constant.numeric.float.real.decimal.dec","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)++"},"glob":{"patterns":[{"include":"#globSimple"},{"include":"#globSet"},{"include":"#globBraces"}]},"globBraces":{"patterns":[{"include":"#globBracesSeq"},{"include":"#globBracesAlt"}]},"globBracesAlt":{"name":"meta.brace-expansion.alternation","match":"(?x)\n(?\u003cchar\u003e[^\\s{,}\\\\]|\\\\[{,}\\\\]|\\g\u003cbraced\u003e){0}\n(?\u003cbraced\u003e{(?:[^{},\\\\]|\\\\.)*+}){0}\n(?\u003calt\u003e\\g\u003cchar\u003e*+,\\g\u003cchar\u003e*+|\\g\u003cchar\u003e++){0}\n(?\u003cseq\u003e{(?:-?\\d+\\.\\.-?\\d+|[a-zA-Z]\\.\\.[a-zA-Z])(?:\\.\\.-?\\d+)?}){0}\n(?\u003centry\u003e \\g\u003cchar\u003e*+ (?:\n\t\\g\u003cseq\u003e+\n\t|\n\t(?!\\g\u003cbraced\u003e)\n\t{\n\t\t(?\u003cbraces\u003e\n\t\t\t\\g\u003calt\u003e*+\n\t\t\t(?:(?!\\g\u003cbraced\u003e) { \\g\u003cbraces\u003e*+ } | \\g\u003cseq\u003e++)\n\t\t\t\\g\u003calt\u003e*+\n\t\t\t|\n\t\t\t\\g\u003calt\u003e++\n\t\t)\n\t}\n) \\g\u003cchar\u003e*+)","captures":{"0":{"patterns":[{"include":"#globBracesSeq"},{"match":"{(?:\\.?+(?:[^{},.\\\\]|\\\\.))*+}","captures":{"0":{"patterns":[{"include":"#esc"}]}}},{"include":"#esc"},{"include":"#globSet"},{"include":"#globSimple"},{"match":"({|})|(,)","captures":{"1":{"patterns":[{"include":"#bracket"}]},"2":{"patterns":[{"include":"#comma"}]}}}]}}},"globBracesSeq":{"name":"meta.brace-expansion.sequence","match":"({)(?:(-?\\d+\\.\\.-?\\d+)|([a-zA-Z]\\.\\.[a-zA-Z]))(\\.\\.-?\\d+)?(})","captures":{"1":{"patterns":[{"include":"etc#bracket"}]},"2":{"name":"meta.range.numeric","patterns":[{"include":"#dots"},{"include":"#intNoExp"}]},"3":{"name":"meta.range.alphabetic","patterns":[{"include":"#dots"},{"name":"constant.character.letter","match":"\\w"}]},"4":{"name":"meta.increment","patterns":[{"include":"#dots"},{"include":"#intNoExp"}]},"5":{"patterns":[{"include":"etc#bracket"}]}}},"globSet":{"name":"meta.character-class.set","match":"(?x)\n(\\[) (!|\\^)?\n(\n\t(?: [^\\\\\\[\\]]\n\t| \\\\.\n\t| \\[ (?::[!^]?\\w+:|\\..+?\\.|=.+?=) \\]\n\t)*+\n)(\\])","captures":{"1":{"name":"brackethighlighter.square.punctuation.definition.character-class.set.begin"},"2":{"name":"keyword.operator.logical.not"},"3":{"patterns":[{"include":"#esc"},{"match":"(?!^|\\G)(-)(?!\\])(-)?","captures":{"1":{"patterns":[{"include":"#dash"}]},"2":{"name":"constant.character.single"}}},{"include":"source.regexp.posix#charClass"},{"include":"source.regexp.posix#localeClasses"},{"name":"constant.character.single","match":"."}]},"4":{"name":"brackethighlighter.square.punctuation.definition.character-class.set.end"}}},"globSimple":{"patterns":[{"name":"keyword.operator.glob.wildcard.globstar","match":"\\*{2}"},{"name":"keyword.operator.glob.wildcard","match":"[*?]"}]},"hex":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[-+]?[A-Fa-f0-9]+"},"hexNoSign":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[A-Fa-f0-9]+"},"int":{"patterns":[{"include":"#intExp"},{"include":"#intNoExp"}]},"intExp":{"name":"constant.numeric.integer.int.decimal.dec.exponential.scientific","match":"[-+]?[0-9]+[eE][-+]?[0-9]+"},"intNoExp":{"name":"constant.numeric.integer.int.decimal.dec","match":"[-+]?[0-9]+"},"ip":{"patterns":[{"include":"#ipv6"},{"include":"#ipv4"}]},"ipv4":{"name":"constant.numeric.other.ip-address.v4","match":"(?x) (?:\\G|^|(?\u003c!\\.)\\b)\n(?!\\.)\n((?:\n\t\\.?\n\t(?: 25[0-5] # 250-255\n\t| 2[0-4]\\d # 200-249\n\t| 1\\d\\d # 100-199\n\t| [1-9]?\\d # 0-99\n\t)\\b\n){4})\n\n# CIDR notation: “/[0-32]”\n((/)(3[0-2]|[12]?\\d)\\b)?\n\n(?=$|\\s|(?!\\.)\\b)","captures":{"1":{"patterns":[{"include":"#dot"}]},"2":{"name":"meta.cidr-notation"},"3":{"name":"keyword.operator.assignment.cidr"},"4":{"patterns":[{"include":"#intNoExp"}]}}},"ipv6":{"name":"constant.numeric.other.ip-address.v6","match":"(?mix) (?:\\G|^|(?\u003c!\\.|:|\\w))\n(?\u003cdec\u003e25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d){0}\n(?\u003chex\u003e[A-F0-9]{1,4}){0}\n(?\u003cv4\u003e\\g\u003cdec\u003e(?:\\.\\g\u003cdec\u003e){3}){0}\n(?\u003cv6\u003e\\g\u003chex\u003e:){0}\n\n# Address\n(?: \\g\u003cv6\u003e{7} (?: \\g\u003chex\u003e |:)\n| \\g\u003cv6\u003e{6} (?: \\g\u003cv4\u003e| :\\g\u003chex\u003e |:)\n| \\g\u003cv6\u003e{5} (?: :\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,2}|:)\n| \\g\u003cv6\u003e{4} (?:(?::\\g\u003chex\u003e)? :\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,3}|:)\n| \\g\u003cv6\u003e{3} (?:(?::\\g\u003chex\u003e){0,2}:\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,4}|:)\n| \\g\u003cv6\u003e{2} (?:(?::\\g\u003chex\u003e){0,3}:\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,5}|:)\n| \\g\u003cv6\u003e (?:(?::\\g\u003chex\u003e){0,4}:\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,6}|:)\n| (?::(?:(?::\\g\u003chex\u003e){0,5}:\\g\u003cv4\u003e|(?::\\g\u003chex\u003e){1,7}|:))\n) (?:(?\u003c!:)\\b|(?\u003c=:)(?!\\w|:))\n\n# Zone ID (RFC 4007): “%ne0”\n(?:\n\t%\n\t(?!\\$)\n\t[^\\s();\"/]+\n)?\n\n# CIDR notation: “/[0-128]”\n(?:\n\t/\n\t(?: 12[0-8] # 120-128\n\t| 1[01]\\d # 100-119\n\t| [1-9]?\\d # 0-99\n\t) \\b\n)?\n\n(?=$|\\s|[^.:%/\\s])","captures":{"0":{"patterns":[{"match":"(?!$)((%)([^/%]+))?((/)([0-9]+))?$","captures":{"1":{"name":"meta.zone-id"},"2":{"name":"keyword.operator.assignment.zone-id"},"3":{"name":"entity.other.zone-index"},"4":{"name":"meta.cidr-notation"},"5":{"name":"keyword.operator.assignment.cidr"},"6":{"patterns":[{"include":"#intNoExp"}]}}},{"include":"#colon"}]}}},"kolon":{"name":"keyword.operator.assignment.key-value.colon","match":":"},"mime":{"name":"constant.other.media-type","match":"(?xi) (?\u003c!-|\\.)\\b\n(?: (application|audio|example|font|image|message|model|multipart|text|video)\n| (chemical|drawing|magnus-internal|paleovu|xgl|inode(?=/(?:blockdevice|chardevice|directory|door|fifo|mount-point|socket|symlink)))\n| (x-[-a-z0-9+_.]{1,125})\n) (/) (?![.+])([-a-z0-9+_.]{1,127})(?\u003c![.+])\n\\b (?!-|\\.)\n((?:\n\t# LHS: “; name=”\n\t\\s* ; \\s* [^;=]+ \\s* = [ \\t]*\n\t\n\t# RHS\n\t(?: \"(?:[^\"\\\\]|\\\\\")*+\" # Quoted value\n\t| (?=\\S)[^;\\r\\n]+ # Unquoted value\n\t)?\n)++)?","captures":{"1":{"name":"entity.name.type.standard.${1:/downcase}.media-type"},"2":{"name":"entity.name.type.nonstandard.${2:/downcase}.media-type"},"3":{"name":"entity.name.type.extension.media-type"},"4":{"name":"punctuation.separator.slash.media-type"},"5":{"patterns":[{"contentName":"entity.name.subtype.media-type","begin":"(?i)(?:^|\\G)(?:(([-a-z0-9_]+)(\\.))((?:[-a-z0-9_]+\\.)*+))?","end":"((\\+)[-a-z0-9_.]+)?$","beginCaptures":{"1":{"name":"entity.other.tree.${2:/downcase}.media-type"},"3":{"name":"punctuation.separator.dot.media-type"},"4":{"patterns":[{"name":"entity.other.subtree.${1:/downcase}.media-type","match":"([^.]+)(\\.)","captures":{"2":{"name":"punctuation.separator.dot.media-type"}}}]}},"endCaptures":{"1":{"name":"entity.other.suffix.media-type"},"2":{"name":"punctuation.separator.plus.media-type"}}}]},"6":{"name":"meta.parameters.media-type","patterns":[{"name":"meta.parameter.media-type","begin":"\\s*((;))\\s*([^;=]+)\\s*(=)[ \\t]*","end":"(?!\\G)","patterns":[{"name":"string.quoted.double.media-type","match":"\\G(\")((?:[^\"\\\\]|\\\\\")*+)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.media-type"},"2":{"patterns":[{"name":"constant.character.escape.quote.media-type","match":"\\\\\""}]},"3":{"name":"punctuation.definition.string.end.media-type"}}},{"name":"string.unquoted.parameter.media-type","match":"\\G[^;\\r\\n]+"}],"beginCaptures":{"1":{"name":"punctuation.delimiter.semicolon.media-type"},"2":{"name":"sublimelinter.gutter-mark"},"3":{"name":"variable.parameter.media-type"},"4":{"patterns":[{"include":"#eql"}]}}}]}}},"num":{"patterns":[{"include":"#float"},{"include":"#int"}]},"op":{"patterns":[{"include":"#opBitAssign"},{"include":"#opMathAssign"},{"include":"#opBit"},{"include":"#opFix"},{"include":"#opCmp"},{"include":"#opLog"},{"include":"#opMath"}]},"opBit":{"patterns":[{"name":"keyword.operator.bitwise.xor","match":"\\^"},{"name":"keyword.operator.bitwise.not","match":"~"},{"name":"keyword.operator.bitwise.and","match":"\u0026"},{"name":"keyword.operator.bitwise.or","match":"\\|"},{"name":"keyword.operator.bitwise.shift.left","match":"\u003c\u003c"},{"name":"keyword.operator.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e"},{"name":"keyword.operator.bitwise.shift.right.signed","match":"\u003e\u003e"}]},"opBitAssign":{"patterns":[{"name":"keyword.operator.assignment.bitwise.xor","match":"\\^="},{"name":"keyword.operator.assignment.bitwise.not","match":"~="},{"name":"keyword.operator.assignment.bitwise.and","match":"\u0026="},{"name":"keyword.operator.assignment.bitwise.or","match":"\\|="},{"name":"keyword.operator.assignment.bitwise.shift.left","match":"\u003c\u003c="},{"name":"keyword.operator.assignment.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e="},{"name":"keyword.operator.assignment.bitwise.shift.right.signed","match":"\u003e\u003e="}]},"opCmp":{"patterns":[{"name":"keyword.operator.logical.comparison.starship.spaceship","match":"\u003c=\u003e"},{"name":"keyword.operator.logical.comparison.less-than-or-equal-to.lte","match":"\u003c="},{"name":"keyword.operator.logical.comparison.less-than.lt","match":"\u003c"},{"name":"keyword.operator.logical.comparison.greater-than-or-equal-to.gte","match":"\u003e="},{"name":"keyword.operator.logical.comparison.greater-than.gt","match":"\u003e"},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq.strict","match":"==="},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq","match":"=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne.strict","match":"!=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne","match":"!="}]},"opFix":{"patterns":[{"name":"keyword.operator.increment","match":"\\+{2}"},{"name":"keyword.operator.decrement","match":"-{2}"}]},"opLog":{"patterns":[{"name":"keyword.operator.logical.boolean.cast","match":"!!"},{"name":"keyword.operator.logical.boolean.not.negation.negate","match":"!"},{"name":"keyword.operator.logical.boolean.and","match":"\u0026\u0026"},{"name":"keyword.operator.logical.boolean.or","match":"\\|{2}"},{"name":"keyword.operator.logical.boolean.or.nullish","match":"\\?{2}"}]},"opMath":{"patterns":[{"name":"keyword.operator.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}|\\^"},{"name":"keyword.operator.arithmetic.addition.add.plus","match":"\\+"},{"name":"keyword.operator.arithmetic.multiplication.multiply.times","match":"\\*"},{"name":"keyword.operator.arithmetic.division.divide","match":"/"},{"name":"keyword.operator.arithmetic.remainder.modulo.modulus.mod","match":"%"},{"name":"keyword.operator.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]"}]},"opMathAssign":{"patterns":[{"name":"keyword.operator.assignment.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}=|\\^="},{"name":"keyword.operator.assignment.arithmetic.addition.add.plus","match":"\\+="},{"name":"keyword.operator.assignment.arithmetic.multiplication.multiply.times","match":"\\*="},{"name":"keyword.operator.assignment.arithmetic.division.divide","match":"/="},{"name":"keyword.operator.assignment.arithmetic.remainder.modulo.modulus.mod","match":"%="},{"name":"keyword.operator.assignment.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]="}]},"semi":{"name":"punctuation.delimiter.separator.semicolon","match":";"},"str":{"patterns":[{"include":"#strDouble"},{"include":"#strSingle"}]},"strDouble":{"name":"string.quoted.double","begin":"\"","end":"\"|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"strSingle":{"name":"string.quoted.single","begin":"'","end":"'|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"tab":{"patterns":[{"match":"^\\t+","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.leading.tab.hard-tab","match":"\\t"}]}}},{"match":"\\t+$","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.trailing.tab.hard-tab","match":"\\t"}]}}},{"name":"punctuation.whitespace.tab.hard-tab","match":"\\t"}]},"url":{"patterns":[{"match":"(?x)\n(\"|'|\\b)\n(\n\t# Not part of official URL schemes, included here for convenience\n\t(?: (?:jdbc|mvn|odbc|view-source) :)?\n\n\t# Common protocols/URI schemes\n\t( https?\n\t| s?ftp\n\t| ftps\n\t| file\n\t| wss?\n\t| (?:git|svn) (?:\\+(?:https?|ssh))?\n\t| ssh\n\t\n\t# Less common URI schemes\n\t| aaas?\n\t| acap\n\t| adiumxtra\n\t| admin\n\t| afp\n\t| app\n\t| atom\n\t| aurora\n\t| aw\n\t| beshare\n\t| bolo\n\t| cassandra\n\t| chrome(?:-extension)?\n\t| coaps?\n\t| cockroach\n\t| content\n\t| couchbase\n\t| crid\n\t| cvs\n\t| dict\n\t| dns\n\t| docker\n\t| ed2k\n\t| facetime\n\t| feed\n\t| finger\n\t| fish\n\t| gemini\n\t| github(?:-(?:mac|linux|windows))?\n\t| gizmoproject\n\t| gopher\n\t| go\n\t| hcp\n\t| imap\n\t| irc[6s]?\n\t| issue\n\t| keyparc\n\t| lastfm\n\t| ldaps?\n\t| man(?:-?page)?\n\t| maria(?:db)?\n\t| market\n\t| message\n\t| mms\n\t| modern-?sqlite\n\t| mongodb\n\t| ms-help\n\t| mssql\n\t| mumble\n\t| my?sql\n\t| netezza\n\t| nfs\n\t| ni\n\t| nntp\n\t| notes\n\t| oleodbc\n\t| oracle\n\t| payto\n\t| pgsql\n\t| pg\n\t| pop\n\t| postgres(?:ql)?\n\t| postgresql\n\t| presto(?:dbs?|s)\n\t| reload\n\t| resource\n\t| res\n\t| rmi\n\t| rsync\n\t| rtmf?p\n\t| rtmp\n\t| s3\n\t| saphana\n\t| secondlife\n\t| sgn\n\t| shttp\n\t| slack\n\t| smb\n\t| snmp\n\t| soldat\n\t| sqlite3?\n\t| sqlserver\n\t| steam\n\t| stratum\\+[a-z]+\n\t| stuns?\n\t| teamspeak\n\t| telnet\n\t| turns?\n\t| txmt\n\t| udp\n\t| unreal\n\t| ut2004\n\t| ventrilo\n\t| vnc\n\t| wais\n\t| web\\+[a-z]+\n\t| webcal\n\t| wtai\n\t| wyciwyg\n\t| xmpp\n\t| xri\n\t| z39\\.50[rs]\n\t| zoommtg\n\t\n\t# User-defined/arbitrary URI scheme starting with `x-`\n\t| x(?:-[a-z][a-z0-9]*)++\n\t) ://\n\t\n\t# Path specifier\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t\n\t# Don't include trailing punctuation\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.$3.url"},"4":{"name":"punctuation.definition.link.end.url"}}},{"match":"(?x)\n(\"|'|\\b)\n(\n\tmailto (:)\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.mailto.url"},"3":{"name":"punctuation.separator.delimiter.scheme.url"},"4":{"name":"punctuation.definition.link.end.url"}}}]},"version":{"name":"constant.other.version-string","match":"(?x)\n(\"|'|\\b)\n([vV]?)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*)\n(?:\n\t(-)\n\t(\n\t\t(?: 0\n\t\t| [1-9]\\d*\n\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t)\n\t\t\n\t\t(?:\n\t\t\t\\.\n\t\t\t(?: 0\n\t\t\t| [1-9]\\d*\n\t\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t\t)\n\t\t)*\n\t)\n)?\n(?:\n\t(\\+)\n\t(\n\t\t[0-9a-zA-Z-]+\n\t\t(?:\\.[0-9a-zA-Z-]+)*\n\t)\n)?\n(\\1)","captures":{"1":{"name":"punctuation.definition.version-string.begin"},"10":{"name":"punctuation.delimiter.separator.plus"},"11":{"name":"meta.build-metadata","patterns":[{"include":"#dot"}]},"12":{"name":"punctuation.definition.version-string.end"},"2":{"name":"punctuation.definition.version-prefix"},"3":{"name":"meta.major.release-number"},"4":{"patterns":[{"include":"#dot"}]},"5":{"name":"meta.minor.release-number"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"meta.patch.release-number"},"8":{"patterns":[{"include":"#dash"}]},"9":{"name":"meta.prerelease.release-number","patterns":[{"include":"#dot"}]}}}}}
@@ -1 +1 @@
1
- {"scopeName":"inline.edgeql","patterns":[{"name":"comment-tagged-template.edgeql","contentName":"meta.embedded.block.edgeql","begin":"(`)(#\\s*edgeql[^\n]*)","end":"(`)","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.go"},"2":{"name":"comment.line.number-sign.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.go"}}}]}
1
+ {"scopeName":"inline.edgeql","patterns":[{"contentName":"meta.embedded.block.edgeql","begin":"(%edgeql\\()\\s*$","end":"(?\u003c=\\))","patterns":[{"begin":"^\\s*(`)$","end":"^\\s*(`)","patterns":[{"include":"source.edgeql"}]}]},{"contentName":"meta.embedded.block.edgeql","begin":"(%edgeql\\(`)","end":"(\\`( )?\\))","patterns":[{"include":"source.edgeql"}]}]}
@@ -1 +1 @@
1
- {"scopeName":"liquid.injection","patterns":[{"include":"#injection"}],"repository":{"attribute":{"begin":"\\w+:","end":"(?=,|%}|}}|\\|)","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"attribute_liquid":{"begin":"\\w+:","end":"(?=,|\\|)|$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"comment_block":{"name":"comment.block.liquid","begin":"{%-?\\s*comment\\s*-?%}","end":"{%-?\\s*endcomment\\s*-?%}","patterns":[{"include":"#comment_block"},{"match":"(.(?!{%-?\\s*(comment|endcomment)\\s*-?%}))*."}]},"core":{"patterns":[{"include":"#raw_tag"},{"include":"#doc_tag"},{"include":"#comment_block"},{"include":"#style_codefence"},{"include":"#stylesheet_codefence"},{"include":"#json_codefence"},{"include":"#javascript_codefence"},{"include":"#object"},{"include":"#tag"},{"include":"text.html.basic"}]},"doc_tag":{"name":"meta.block.doc.liquid","contentName":"comment.block.documentation.liquid","begin":"{%-?\\s*(doc)\\s*-?%}","end":"{%-?\\s*(enddoc)\\s*-?%}","patterns":[{"include":"#liquid_doc_description_tag"},{"include":"#liquid_doc_param_tag"},{"include":"#liquid_doc_example_tag"},{"include":"#liquid_doc_fallback_tag"}],"beginCaptures":{"0":{"name":"meta.tag.liquid"},"1":{"name":"entity.name.tag.doc.liquid"}},"endCaptures":{"0":{"name":"meta.tag.liquid"},"1":{"name":"entity.name.tag.doc.liquid"}}},"filter":{"match":"\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*","captures":{"1":{"name":"support.function.liquid"}}},"injection":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#object"},{"include":"#tag_injection"}]},"invalid_range":{"name":"invalid.illegal.range.liquid","match":"\\((.(?!\\.\\.))+\\)"},"javascript_codefence":{"name":"meta.block.javascript.liquid","contentName":"meta.embedded.block.js","begin":"({%-?)\\s*(javascript)\\s*(-?%})","end":"({%-?)\\s*(endjavascript)\\s*(-?%})","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.javascript.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.javascript.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"json_codefence":{"name":"meta.block.schema.liquid","contentName":"meta.embedded.block.json","begin":"({%-?)\\s*(schema)\\s*(-?%})","end":"({%-?)\\s*(endschema)\\s*(-?%})","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.schema.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.schema.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"language_constant":{"name":"constant.language.liquid","match":"\\b(false|true|nil|blank)\\b|empty(?!\\?)"},"liquid_doc_description_tag":{"begin":"(@description)\\b\\s*","end":"(?=@|{%-?\\s*enddoc\\s*-?%})","patterns":[{"name":"string.quoted.single.liquid","match":"[^@]+"}],"beginCaptures":{"0":{"name":"comment.block.documentation.liquid"},"1":{"name":"storage.type.class.liquid"}}},"liquid_doc_example_tag":{"contentName":"meta.embedded.block.liquid","begin":"(@example)\\b\\s*","end":"(?=@|{%-?\\s*enddoc\\s*-?%})","patterns":[{"include":"#core"}],"beginCaptures":{"0":{"name":"comment.block.documentation.liquid"},"1":{"name":"storage.type.class.liquid"}}},"liquid_doc_fallback_tag":{"match":"(@\\w+)\\b","captures":{"1":{"name":"comment.block.liquid"}}},"liquid_doc_param_tag":{"match":"(@param)\\s+(?:({[^}]*}?)\\s+)?(\\[?[a-zA-Z_][\\w-]*\\]?)?(?:\\s+(.*))?","captures":{"1":{"name":"storage.type.class.liquid"},"2":{"name":"entity.name.type.instance.liquid"},"3":{"name":"variable.other.liquid"},"4":{"name":"string.quoted.single.liquid"}}},"number":{"name":"constant.numeric.liquid","match":"((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?"},"object":{"name":"meta.object.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){{-?","end":"-?}}","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"operator":{"match":"(?:(?\u003c=\\s)|\\b)(\\=\\=|!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=|or|and|contains)(?:(?=\\s)|\\b)","captures":{"1":{"name":"keyword.operator.expression.liquid"}}},"range":{"name":"meta.range.liquid","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.range.liquid","match":"\\.\\."},{"include":"#variable_lookup"},{"include":"#number"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.liquid"}}},"raw_tag":{"name":"meta.entity.tag.raw.liquid","contentName":"string.unquoted.liquid","begin":"{%-?\\s*(raw)\\s*-?%}","end":"{%-?\\s*(endraw)\\s*-?%}","patterns":[{"match":"(.(?!{%-?\\s*endraw\\s*-?%}))*."}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}},"endCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"string":{"patterns":[{"include":"#string_single"},{"include":"#string_double"}]},"string_double":{"name":"string.quoted.double.liquid","begin":"\"","end":"\""},"string_single":{"name":"string.quoted.single.liquid","begin":"'","end":"'"},"style_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(style)\\s*(-?%})","end":"({%-?)\\s*(endstyle)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"stylesheet_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(stylesheet)\\s*(-?%})","end":"({%-?)\\s*(endstylesheet)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"tag":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_assign":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"(?=%})","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_assign_liquid":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"$","patterns":[{"include":"#filter"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_body":{"patterns":[{"include":"#tag_liquid"},{"include":"#tag_assign"},{"include":"#tag_comment_inline"},{"include":"#tag_case"},{"include":"#tag_conditional"},{"include":"#tag_for"},{"include":"#tag_paginate"},{"include":"#tag_render"},{"include":"#tag_tablerow"},{"include":"#tag_expression"}]},"tag_case":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_case_liquid":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_comment_block_liquid":{"name":"comment.block.liquid","begin":"(?:^\\s*)(comment)\\b","end":"(?:^\\s*)(endcomment)\\b","patterns":[{"include":"#tag_comment_block_liquid"},{"match":"(?:^\\s*)(?!(comment|endcomment)).*"}]},"tag_comment_inline":{"name":"comment.line.number-sign.liquid","begin":"#","end":"(?=%})"},"tag_comment_inline_liquid":{"name":"comment.line.number-sign.liquid","begin":"(?:^\\s*)#.*","end":"$"},"tag_conditional":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_conditional_liquid":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_expression":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_liquid":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_without_arguments":{"patterns":[{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endunless|endif)\\b","captures":{"1":{"name":"keyword.control.conditional.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b","captures":{"1":{"name":"keyword.control.loop.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcase)\\b","captures":{"1":{"name":"keyword.control.case.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(else|break|continue)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}}]},"tag_for":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"(?=%})","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_for_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in|reversed)\\b"},{"name":"keyword.control.liquid","match":"\\b(offset|limit):"},{"include":"#value_expression"}]},"tag_for_liquid":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"$","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_injection":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_liquid":{"name":"meta.entity.tag.liquid.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(liquid)\\b","end":"(?=%})","patterns":[{"include":"#tag_comment_block_liquid"},{"include":"#tag_comment_inline_liquid"},{"include":"#tag_assign_liquid"},{"include":"#tag_case_liquid"},{"include":"#tag_conditional_liquid"},{"include":"#tag_for_liquid"},{"include":"#tag_paginate_liquid"},{"include":"#tag_render_liquid"},{"include":"#tag_tablerow_liquid"},{"include":"#tag_expression_liquid"}],"beginCaptures":{"1":{"name":"keyword.control.liquid.liquid"}}},"tag_paginate":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"(?=%})","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_paginate_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(by)\\b"},{"include":"#value_expression"}]},"tag_paginate_liquid":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"$","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_render":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"(?=%})","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_liquid":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"$","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_special_keywords":{"name":"keyword.control.other.liquid","match":"\\b(with|as|for)\\b"},"tag_tablerow":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"(?=%})","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"tag_tablerow_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in)\\b"},{"name":"keyword.control.liquid","match":"\\b(cols|offset|limit):"},{"include":"#value_expression"}]},"tag_tablerow_liquid":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"$","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"value_expression":{"patterns":[{"match":"(\\[)(\\|)(?=[^\\]]*)(?=\\])","captures":{"2":{"name":"invalid.illegal.filter.liquid"},"3":{"name":"invalid.illegal.filter.liquid"}}},{"name":"invalid.illegal.filter.liquid","match":"(?\u003c=\\s)(\\+|\\-|\\/|\\*)(?=\\s)"},{"include":"#language_constant"},{"include":"#operator"},{"include":"#invalid_range"},{"include":"#range"},{"include":"#number"},{"include":"#string"},{"include":"#variable_lookup"}]},"variable_lookup":{"patterns":[{"name":"variable.language.liquid","match":"\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|article|articles|block|blog|blogs|canonical_url|cart|checkout|collection|collections|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|image|images|line_item|link|linklist|linklists|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|script|scripts|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\b"},{"name":"variable.parameter.liquid","match":"((?\u003c=\\w\\:\\s)\\w+)"},{"name":"meta.brackets.liquid","begin":"(?\u003c=\\w)\\[","end":"\\]","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.liquid"}}},{"name":"variable.other.member.liquid","match":"(?\u003c=(\\w|\\])\\.)([-\\w]+\\??)"},{"name":"punctuation.accessor.liquid","match":"(?\u003c=\\w)\\.(?=\\w)"},{"name":"variable.other.liquid","match":"(?i)[a-z_](\\w|(?:-(?!\\}\\})))*"}]}}}
1
+ {"scopeName":"liquid.injection","patterns":[{"include":"#injection"}],"repository":{"attribute":{"begin":"\\w+:","end":"(?=,|%}|}}|\\|)","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"attribute_liquid":{"begin":"\\w+:","end":"(?=,|\\|)|$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"comment_block":{"name":"comment.block.liquid","begin":"{%-?\\s*comment\\s*-?%}","end":"{%-?\\s*endcomment\\s*-?%}","patterns":[{"include":"#comment_block"},{"match":"(.(?!{%-?\\s*(comment|endcomment)\\s*-?%}))*."}]},"core":{"patterns":[{"include":"#raw_tag"},{"include":"#doc_tag"},{"include":"#comment_block"},{"include":"#style_codefence"},{"include":"#stylesheet_codefence"},{"include":"#json_codefence"},{"include":"#javascript_codefence"},{"include":"#object"},{"include":"#tag"},{"include":"text.html.basic"}]},"doc_tag":{"name":"meta.block.doc.liquid","contentName":"comment.block.documentation.liquid","begin":"{%-?\\s*(doc)\\s*-?%}","end":"{%-?\\s*(enddoc)\\s*-?%}","patterns":[{"include":"#liquid_doc_description_tag"},{"include":"#liquid_doc_param_tag"},{"include":"#liquid_doc_example_tag"},{"include":"#liquid_doc_prompt_tag"},{"include":"#liquid_doc_fallback_tag"}],"beginCaptures":{"0":{"name":"meta.tag.liquid"},"1":{"name":"entity.name.tag.doc.liquid"}},"endCaptures":{"0":{"name":"meta.tag.liquid"},"1":{"name":"entity.name.tag.doc.liquid"}}},"filter":{"match":"\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*","captures":{"1":{"name":"support.function.liquid"}}},"injection":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#object"},{"include":"#tag_injection"}]},"invalid_range":{"name":"invalid.illegal.range.liquid","match":"\\((.(?!\\.\\.))+\\)"},"javascript_codefence":{"name":"meta.block.javascript.liquid","contentName":"meta.embedded.block.js","begin":"({%-?)\\s*(javascript)\\s*(-?%})","end":"({%-?)\\s*(endjavascript)\\s*(-?%})","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.javascript.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.javascript.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"json_codefence":{"name":"meta.block.schema.liquid","contentName":"meta.embedded.block.json","begin":"({%-?)\\s*(schema)\\s*(-?%})","end":"({%-?)\\s*(endschema)\\s*(-?%})","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.schema.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.schema.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"language_constant":{"name":"constant.language.liquid","match":"\\b(false|true|nil|blank)\\b|empty(?!\\?)"},"liquid_doc_description_tag":{"contentName":"string.quoted.single.liquid","begin":"(@description)\\b\\s*","end":"(?=@prompt|@example|@param|@description|{%-?\\s*enddoc\\s*-?%})","beginCaptures":{"0":{"name":"comment.block.documentation.liquid"},"1":{"name":"storage.type.class.liquid"}}},"liquid_doc_example_tag":{"contentName":"meta.embedded.block.liquid","begin":"(@example)\\b\\s*","end":"(?=@prompt|@example|@param|@description|{%-?\\s*enddoc\\s*-?%})","patterns":[{"include":"#core"}],"beginCaptures":{"0":{"name":"comment.block.documentation.liquid"},"1":{"name":"storage.type.class.liquid"}}},"liquid_doc_fallback_tag":{"match":"(@\\w+)\\b","captures":{"1":{"name":"comment.block.liquid"}}},"liquid_doc_param_tag":{"match":"(@param)\\s+(?:({[^}]*}?)\\s+)?(\\[?[a-zA-Z_][\\w-]*\\]?)?(?:\\s+(.*))?","captures":{"1":{"name":"storage.type.class.liquid"},"2":{"name":"entity.name.type.instance.liquid"},"3":{"name":"variable.other.liquid"},"4":{"name":"string.quoted.single.liquid"}}},"liquid_doc_prompt_tag":{"contentName":"string.quoted.single.liquid","begin":"(@prompt)\\b\\s*","end":"(?=@prompt|@example|@param|@description|{%-?\\s*enddoc\\s*-?%})","beginCaptures":{"0":{"name":"comment.block.documentation.liquid"},"1":{"name":"storage.type.class.liquid"}}},"number":{"name":"constant.numeric.liquid","match":"((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?"},"object":{"name":"meta.object.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){{-?","end":"-?}}","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"operator":{"match":"(?:(?\u003c=\\s)|\\b)(\\=\\=|!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=|or|and|contains)(?:(?=\\s)|\\b)","captures":{"1":{"name":"keyword.operator.expression.liquid"}}},"range":{"name":"meta.range.liquid","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.range.liquid","match":"\\.\\."},{"include":"#variable_lookup"},{"include":"#number"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.liquid"}}},"raw_tag":{"name":"meta.entity.tag.raw.liquid","contentName":"string.unquoted.liquid","begin":"{%-?\\s*(raw)\\s*-?%}","end":"{%-?\\s*(endraw)\\s*-?%}","patterns":[{"match":"(.(?!{%-?\\s*endraw\\s*-?%}))*."}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}},"endCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"string":{"patterns":[{"include":"#string_single"},{"include":"#string_double"}]},"string_double":{"name":"string.quoted.double.liquid","begin":"\"","end":"\""},"string_single":{"name":"string.quoted.single.liquid","begin":"'","end":"'"},"style_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(style)\\s*(-?%})","end":"({%-?)\\s*(endstyle)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"stylesheet_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(stylesheet)\\s*(-?%})","end":"({%-?)\\s*(endstylesheet)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"tag":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_assign":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"(?=%})","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_assign_liquid":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"$","patterns":[{"include":"#filter"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_body":{"patterns":[{"include":"#tag_liquid"},{"include":"#tag_assign"},{"include":"#tag_comment_inline"},{"include":"#tag_case"},{"include":"#tag_conditional"},{"include":"#tag_for"},{"include":"#tag_paginate"},{"include":"#tag_render"},{"include":"#tag_tablerow"},{"include":"#tag_expression"}]},"tag_case":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_case_liquid":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_comment_block_liquid":{"name":"comment.block.liquid","begin":"(?:^\\s*)(comment)\\b","end":"(?:^\\s*)(endcomment)\\b","patterns":[{"include":"#tag_comment_block_liquid"},{"match":"(?:^\\s*)(?!(comment|endcomment)).*"}]},"tag_comment_inline":{"name":"comment.line.number-sign.liquid","begin":"#","end":"(?=%})"},"tag_comment_inline_liquid":{"name":"comment.line.number-sign.liquid","begin":"(?:^\\s*)#.*","end":"$"},"tag_conditional":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_conditional_liquid":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_expression":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_liquid":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_without_arguments":{"patterns":[{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endunless|endif)\\b","captures":{"1":{"name":"keyword.control.conditional.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b","captures":{"1":{"name":"keyword.control.loop.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcase)\\b","captures":{"1":{"name":"keyword.control.case.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(else|break|continue)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}}]},"tag_for":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"(?=%})","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_for_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in|reversed)\\b"},{"name":"keyword.control.liquid","match":"\\b(offset|limit):"},{"include":"#value_expression"}]},"tag_for_liquid":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"$","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_injection":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_liquid":{"name":"meta.entity.tag.liquid.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(liquid)\\b","end":"(?=%})","patterns":[{"include":"#tag_comment_block_liquid"},{"include":"#tag_comment_inline_liquid"},{"include":"#tag_assign_liquid"},{"include":"#tag_case_liquid"},{"include":"#tag_conditional_liquid"},{"include":"#tag_for_liquid"},{"include":"#tag_paginate_liquid"},{"include":"#tag_render_liquid"},{"include":"#tag_tablerow_liquid"},{"include":"#tag_expression_liquid"}],"beginCaptures":{"1":{"name":"keyword.control.liquid.liquid"}}},"tag_paginate":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"(?=%})","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_paginate_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(by)\\b"},{"include":"#value_expression"}]},"tag_paginate_liquid":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"$","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_render":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"(?=%})","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_liquid":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"$","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_special_keywords":{"name":"keyword.control.other.liquid","match":"\\b(with|as|for)\\b"},"tag_tablerow":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"(?=%})","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"tag_tablerow_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in)\\b"},{"name":"keyword.control.liquid","match":"\\b(cols|offset|limit):"},{"include":"#value_expression"}]},"tag_tablerow_liquid":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"$","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"value_expression":{"patterns":[{"match":"(\\[)(\\|)(?=[^\\]]*)(?=\\])","captures":{"2":{"name":"invalid.illegal.filter.liquid"},"3":{"name":"invalid.illegal.filter.liquid"}}},{"name":"invalid.illegal.filter.liquid","match":"(?\u003c=\\s)(\\+|\\-|\\/|\\*)(?=\\s)"},{"include":"#language_constant"},{"include":"#operator"},{"include":"#invalid_range"},{"include":"#range"},{"include":"#number"},{"include":"#string"},{"include":"#variable_lookup"}]},"variable_lookup":{"patterns":[{"name":"variable.language.liquid","match":"\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|article|articles|block|blog|blogs|canonical_url|cart|checkout|collection|collections|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|image|images|line_item|link|linklist|linklists|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|script|scripts|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\b"},{"name":"variable.parameter.liquid","match":"((?\u003c=\\w\\:\\s)\\w+)"},{"name":"meta.brackets.liquid","begin":"(?\u003c=\\w)\\[","end":"\\]","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.liquid"}}},{"name":"variable.other.member.liquid","match":"(?\u003c=(\\w|\\])\\.)([-\\w]+\\??)"},{"name":"punctuation.accessor.liquid","match":"(?\u003c=\\w)\\.(?=\\w)"},{"name":"variable.other.liquid","match":"(?i)[a-z_](\\w|(?:-(?!\\}\\})))*"}]}}}
@@ -1 +1 @@
1
- {"name":"4D","scopeName":"source.4dm","patterns":[{"include":"#comments"},{"include":"#for_loop"},{"include":"#keywords"},{"include":"#parameters"},{"include":"#affectation_variable"},{"include":"#long_int_variable"},{"include":"#real_variable"},{"include":"#text_variable"},{"include":"#boolean_variable"},{"include":"#picture_variable"},{"include":"#pointer_variable"},{"include":"#object_variable"},{"include":"#variant_variable"},{"include":"#collection_variable"},{"include":"#strings"},{"include":"#interprocess_variable"},{"include":"#local_variables"},{"include":"#operators"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#this-function"},{"include":"#numbers"},{"include":"#block"},{"include":"#table_reference"},{"include":"#function-call-innards"},{"name":"punctuation.terminator.statement.4d","match":"\\n"},{"include":"#param_separator"},{"name":"meta.bracket.square.access.4d","begin":"([a-zA-Z_][a-zA-Z_0-9]*|(?\u003c=[\\]\\)]))?(\\[)(?!\\])","end":"\\]","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"variable.object.4d"},"2":{"name":"punctuation.definition.begin.bracket.square.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.4d"}}},{"include":"#member_access"},{"include":"#method_access"},{"name":"entity.name.class.4d","match":"^\\n*[\\t ]*(?i)(Class constructor)"},{"name":"variable.language.function.4d","match":"^\\n*[\\t ]*(?i)(Function)(\\s[a-z_0-9]+[a-z_0-9 ]*)"},{"name":"entity.name.class.4d","match":"^\\n*[\\t ]*(?i)(Class extends)(\\s[a-z_0-9]+[a-z_0-9 ]*)"},{"name":"variable.language.super.4d","match":"^\\n*[\\t ]*(?i)(Super(\\:C1705)?)"}],"repository":{"affectation_variable":{"name":"meta.block.affectation.4d","begin":"^((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)(:=)","end":"(\\n)","patterns":[{"include":"#this-function"},{"include":"#function-call-innards"},{"include":"#member_access"},{"include":"#method_access"},{"include":"#local_variables"},{"include":"#numbers"},{"include":"#strings"},{"include":"#interprocess_variable"},{"name":"meta.probably_variable.4d","match":"(?i)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"}],"beginCaptures":{"1":{"name":"variable.name.4d"},"2":{"name":"keyword.operator.assignment.4d"}},"endCaptures":{"1":{"name":"punctuation.section.end.affectaction.4d"}}},"block":{"patterns":[{"name":"meta.block.4d","begin":"(?i)\\b(for each)\\b","end":"(?i)\\b(end for each)\\b","beginCaptures":{"0":{"name":"punctuation.section.block.begin.for_each.curly.4d"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.for_each.curly.4d"}}}]},"boolean_values":{"name":"constant.language.4d","match":"(?i)(NULL|true(\\:C214)?|false(\\:C215)?)"},"boolean_variable":{"name":"storage.type.boolean.4d","begin":"^\\n*[\\t ]*(?i)(C_BOOLEAN(\\:C305)?)(\\()((?i)[\\$a-z_0-9 ]+)","end":"(\\))","patterns":[{"name":"variable.name.boolean.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.boolean.4d"},"2":{"name":"meta.c_boolean.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.boolean.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"collection_variable":{"name":"storage.type.collection.4d","begin":"^\\n*[\\t ]*(?i)(C_COLLECTION(\\:C1488)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.collection.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.collection.4d"},"2":{"name":"meta.c_collection.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.collection.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"comments":{"patterns":[{"name":"comment.line.double-slash.4d","begin":"\\s*+(\\/\\/)","end":"(?\u003c=\\n)(?\u003c!\\\\\\n)","beginCaptures":{"1":{"name":"punctuation.definition.comment.4d"}}},{"name":"comment.block.4d","match":"^/\\*\\* =(\\s*.*?)\\s*= \\*\\*/$\\n?","captures":{"1":{"name":"meta.toc-list.banner.block.4d"}}},{"name":"comment.block.4d","begin":"/\\*\\*","end":"\\*\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.4d"}}},{"name":"comment.block.4d","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.4d"}}},{"name":"comment.line.banner.4d","match":"^//=(\\s*.*?)\\s*=\\s*$\\n?","captures":{"1":{"name":"meta.toc-list.banner.line.4d"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.4d","begin":"//","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.definition.comment.4d"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.4d"}}}]},"constant_4d":{"name":"constant.numeric.4d","match":"(?i)([a-z_0-9 ]*)(\\:K[0-9]+)?(\\:[0-9]+)"},"for_loop":{"name":"meta.block.loop.for.4d","begin":"^(?i)(for)\\((\\$[a-z]+);([0-9]+);([0-9]+)\\)","end":"(\\n)","beginCaptures":{"1":{"name":"keyword.control.4d"},"2":{"name":"variable.name.4d"},"3":{"name":"constant.range.begin.4d"},"4":{"name":"constant.range.end.4d"}},"endCaptures":{"1":{"name":"punctuation.section.end.for.4d"}}},"function-call-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"begin":"(?x)\n(?!\\s*\\()\n(\n(?:[A-Za-z_ ][A-Za-z0-9_]*+)++(\\:C[0-9]+)? # actual name\n|\n(?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+#]+|\\(\\)))\n)\n\\s*(\\()","end":"\\)","patterns":[{"include":"#this-function"},{"include":"#function-call-innards"},{"include":"#strings"},{"include":"#numbers"},{"include":"#parameters"},{"include":"#local_variables"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#param_separator"},{"include":"#operators"},{"include":"#member_access"},{"include":"#table_reference"}],"beginCaptures":{"1":{"name":"entity.name.function.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function-call-innards"},{"include":"#member_access"},{"include":"#table_reference"},{"include":"#this-function"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.4d"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.4d"}}}]},"interprocess_variable":{"name":"variable.interprocess.name.4d","match":"\u003c\u003e(?i)[a-z_0-9 ]+"},"keywords":{"patterns":[{"name":"keyword.control.4d","match":"^\\n*[\\t ]*(?i)(If|While|Else|End if|For each|End for each|End for|Begin SQL|End SQL|while|End while|Use|End use|Case of|End case|Repeat|Until|For)\\b"}]},"local_variables":{"name":"variable.local.name.4d","match":"\\$[a-zA-Z_0-9 ]*"},"long_int_variable":{"name":"storage.type.4d","begin":"^\\n*[\\t ]*(?i)(C_LONGINT(\\:C283)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.longint.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.longint.4d"},"2":{"name":"meta.c_longint.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.longint.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"member_access":{"match":"((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*(\\b[a-zA-Z_]\\w*\\b(?!\\())","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.separator.dot-access.4d"},"4":{"name":"punctuation.separator.pointer-access.4d"},"5":{"patterns":[{"include":"#this-function"},{"include":"#member_access"},{"include":"#method_access"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"punctuation.separator.dot-access.4d"},"3":{"name":"punctuation.separator.pointer-access.4d"}}}]},"6":{"name":"variable.other.member.4d"}}},"method_access":{"contentName":"meta.function-call.member.4d","begin":"((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()","end":"(\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#parameters"},{"include":"#local_variables"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#param_separator"},{"include":"#function-call-innards"},{"include":"#table_reference"},{"include":"#this-function"}],"beginCaptures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.separator.dot-access.4d"},"4":{"name":"punctuation.separator.pointer-access.4d"},"5":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"include":"#this-function"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"punctuation.separator.dot-access.4d"},"3":{"name":"punctuation.separator.pointer-access.4d"}}}]},"6":{"name":"entity.name.function.member.4d"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.4d"}}},"numbers":{"begin":"(?\u003c!\\w)(?=\\d|\\.\\d)","end":"(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","patterns":[{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.hexadecimal.4d"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.4d"},"11":{"name":"constant.numeric.exponent.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.4d"},"2":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"constant.numeric.hexadecimal.4d"},"5":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.4d"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.4d"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.4d"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"10":{"name":"keyword.operator.minus.exponent.decimal.4d"},"11":{"name":"constant.numeric.exponent.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.4d"},"2":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"constant.numeric.decimal.point.4d"},"5":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.4d"},"8":{"name":"keyword.other.unit.exponent.decimal.4d"},"9":{"name":"keyword.operator.plus.exponent.decimal.4d"}}},{"match":"(\\G0[bB])([01](?:[01]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.binary.4d"},"2":{"name":"constant.numeric.binary.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G0)((?:[0-7]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.octal.4d"},"2":{"name":"constant.numeric.octal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.hexadecimal.4d"},"2":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"5":{"name":"keyword.other.unit.exponent.hexadecimal.4d"},"6":{"name":"keyword.operator.plus.exponent.hexadecimal.4d"},"7":{"name":"keyword.operator.minus.exponent.hexadecimal.4d"},"8":{"name":"constant.numeric.exponent.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"2":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"5":{"name":"keyword.other.unit.exponent.decimal.4d"},"6":{"name":"keyword.operator.plus.exponent.decimal.4d"},"7":{"name":"keyword.operator.minus.exponent.decimal.4d"},"8":{"name":"constant.numeric.exponent.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.4d"}}}]},"object_variable":{"name":"storage.type.object.4d","begin":"^\\n*[\\t ]*(?i)(C_OBJECT(\\:C1216)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.object.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.object.4d"},"2":{"name":"meta.c_object.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.object.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"operators":{"patterns":[{"name":"keyword.operator.assignment.4d","match":":="},{"name":"keyword.operator.comparison.4d","match":"#|\u003c=|\u003e=|\u003c|\u003e|="},{"name":"keyword.operator.4d","match":"%|\\*|/|-|\\+"}]},"param_separator":{"name":"punctuation.separator.delimiter.4d","match":";"},"parameters":{"name":"variable.parameter.4d","match":"\\$[0-9]"},"picture_variable":{"name":"storage.type.picture.4d","begin":"^\\n*[\\t ]*(?i)(C_PICTURE(\\:C286)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.picture.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.picture.4d"},"2":{"name":"meta.c_picture.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.picture.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"pointer_variable":{"name":"storage.type.pointer.4d","begin":"^\\n*[\\t ]*(?i)(C_POINTER(\\:C301)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.pointer.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.pointer.4d"},"2":{"name":"meta.c_pointer.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.pointer.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"real_variable":{"name":"storage.type.real.4d","begin":"^\\n*[\\t ]*(?i)(C_REAL(\\:C285)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.real.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.real.4d"},"2":{"name":"meta.c_real.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.real.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"strings":{"name":"string.quoted.double.4d","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.4d","match":"\\\\."}]},"table_reference":{"begin":"(?i)\\[((?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)(\\:[0-9]+)?","end":"\\]","beginCaptures":{"1":{"name":"support.table.name.4d"},"2":{"name":"support.table.index.4d"}}},"text_variable":{"name":"storage.type.text.4d","begin":"^\\n*[\\t ]*(?i)(C_TEXT(\\:C284)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.text.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.text.4d"},"2":{"name":"meta.c_text.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.text.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"this-function":{"name":"variable.language.this.4d","match":"(^\\n*[\\t ]*(?i)(This(\\:C1470)?))|((?i)(This(\\:C1470)?))"},"variant_variable":{"name":"storage.type.variant.4d","begin":"^\\n*[\\t ]*(?i)(C_VARIANT(\\:C1683)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.variant.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.variant.4d"},"2":{"name":"meta.c_variant.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.variant.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}}}}
1
+ {"name":"4D","scopeName":"source.4dm","patterns":[{"include":"#comments"},{"include":"#for_loop"},{"include":"#keywords"},{"include":"#parameters"},{"include":"#affectation_variable"},{"include":"#long_int_variable"},{"include":"#real_variable"},{"include":"#text_variable"},{"include":"#boolean_variable"},{"include":"#picture_variable"},{"include":"#pointer_variable"},{"include":"#object_variable"},{"include":"#variant_variable"},{"include":"#collection_variable"},{"include":"#strings"},{"include":"#interprocess_variable"},{"include":"#local_variables"},{"include":"#operators"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#this-function"},{"include":"#numbers"},{"include":"#block"},{"include":"#table_reference"},{"include":"#function-call-innards"},{"name":"punctuation.terminator.statement.4d","match":"\\n"},{"include":"#param_separator"},{"name":"meta.bracket.square.access.4d","begin":"([a-zA-Z_][a-zA-Z_0-9]*|(?\u003c=[\\]\\)]))?(\\[)(?!\\])","end":"\\]","patterns":[{"include":"#function-call-innards"}],"beginCaptures":{"1":{"name":"variable.object.4d"},"2":{"name":"punctuation.definition.begin.bracket.square.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.end.bracket.square.4d"}}},{"include":"#member_access"},{"include":"#method_access"},{"name":"entity.name.class.4d","match":"^\\n*[\\t ]*(?i)(Class constructor)"},{"name":"variable.language.function.4d","match":"^\\n*[\\t ]*(?i)(Function)(\\s[a-z_0-9]+[a-z_0-9 ]*)"},{"name":"entity.name.class.4d","match":"^\\n*[\\t ]*(?i)(Class extends)(\\s[a-z_0-9]+[a-z_0-9 ]*)"},{"name":"variable.language.super.4d","match":"^\\n*[\\t ]*(?i)(Super(\\:C1705)?)"}],"repository":{"affectation_variable":{"name":"meta.block.affectation.4d","begin":"^((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)(:=)","end":"(\\n)","patterns":[{"include":"#this-function"},{"include":"#function-call-innards"},{"include":"#member_access"},{"include":"#method_access"},{"include":"#local_variables"},{"include":"#numbers"},{"include":"#strings"},{"include":"#interprocess_variable"},{"name":"meta.probably_variable.4d","match":"(?i)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"}],"beginCaptures":{"1":{"name":"variable.name.4d"},"2":{"name":"keyword.operator.assignment.4d"}},"endCaptures":{"1":{"name":"punctuation.section.end.affectaction.4d"}}},"block":{"patterns":[{"name":"meta.block.4d","begin":"(?i)\\b(for each)\\b","end":"(?i)\\b(end for each)\\b","beginCaptures":{"0":{"name":"punctuation.section.block.begin.for_each.curly.4d"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.for_each.curly.4d"}}}]},"boolean_values":{"name":"constant.language.4d","match":"(?i)(NULL|true(\\:C214)?|false(\\:C215)?)"},"boolean_variable":{"name":"storage.type.boolean.4d","begin":"^\\n*[\\t ]*(?i)(C_BOOLEAN(\\:C305)?)(\\()((?i)[\\$a-z_0-9 ]+)","end":"(\\))","patterns":[{"name":"variable.name.boolean.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.boolean.4d"},"2":{"name":"meta.c_boolean.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.boolean.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"collection_variable":{"name":"storage.type.collection.4d","begin":"^\\n*[\\t ]*(?i)(C_COLLECTION(\\:C1488)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.collection.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.collection.4d"},"2":{"name":"meta.c_collection.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.collection.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"comments":{"patterns":[{"name":"comment.line.double-slash.4d","begin":"\\s*+(\\/\\/)","end":"(?\u003c=\\n)(?\u003c!\\\\\\n)","beginCaptures":{"1":{"name":"punctuation.definition.comment.4d"}}},{"name":"comment.block.4d","match":"^/\\*\\* =(\\s*.*?)\\s*= \\*\\*/$\\n?","captures":{"1":{"name":"meta.toc-list.banner.block.4d"}}},{"name":"comment.block.4d","begin":"/\\*\\*","end":"\\*\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.4d"}}},{"name":"comment.block.4d","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.4d"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.4d"}}},{"name":"comment.line.banner.4d","match":"^//=(\\s*.*?)\\s*=\\s*$\\n?","captures":{"1":{"name":"meta.toc-list.banner.line.4d"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.4d","begin":"//","end":"(?=\\n)","beginCaptures":{"0":{"name":"punctuation.definition.comment.4d"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.4d"}}}]},"constant_4d":{"name":"constant.numeric.4d","match":"(?i)([a-z_0-9 ]*)(\\:K[0-9]+)?(\\:[0-9]+)"},"for_loop":{"name":"meta.block.loop.for.4d","begin":"^(?i)(for)\\((\\$[a-z]+);([0-9]+);([0-9]+)\\)","end":"(\\n)","beginCaptures":{"1":{"name":"keyword.control.4d"},"2":{"name":"variable.name.4d"},"3":{"name":"constant.range.begin.4d"},"4":{"name":"constant.range.end.4d"}},"endCaptures":{"1":{"name":"punctuation.section.end.for.4d"}}},"function-call-innards":{"patterns":[{"include":"#comments"},{"include":"#storage_types"},{"include":"#operators"},{"begin":"(?x)\n(?!\\s*\\()\n(\n(?:[A-Za-z_ ][A-Za-z0-9_]*+)++(\\:C[0-9]+)? # actual name\n|\n(?:(?\u003c=operator)(?:[-*\u0026\u003c\u003e=+#]+|\\(\\)))\n)\n\\s*(\\()","end":"\\)","patterns":[{"include":"#this-function"},{"include":"#function-call-innards"},{"include":"#strings"},{"include":"#numbers"},{"include":"#parameters"},{"include":"#local_variables"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#param_separator"},{"include":"#operators"},{"include":"#member_access"},{"include":"#table_reference"}],"beginCaptures":{"1":{"name":"entity.name.function.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"#function-call-innards"},{"include":"#member_access"},{"include":"#table_reference"},{"include":"#this-function"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.bracket.round.4d"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.bracket.round.4d"}}}]},"interprocess_variable":{"name":"variable.interprocess.name.4d","match":"\u003c\u003e(?i)[a-z_0-9 ]+"},"keywords":{"patterns":[{"name":"keyword.control.4d","match":"^\\n*[\\t ]*(?i)(If|While|Else|End if|For each|End for each|End for|Begin SQL|End SQL|while|End while|Use|End use|Case of|End case|Repeat|Until|For|End try|Try|Catch|Throw|return|continue|break|property|var)\\b"}]},"local_variables":{"name":"variable.local.name.4d","match":"\\$[a-zA-Z_0-9 ]*"},"long_int_variable":{"name":"storage.type.4d","begin":"^\\n*[\\t ]*(?i)(C_LONGINT(\\:C283)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.longint.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.longint.4d"},"2":{"name":"meta.c_longint.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.longint.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"member_access":{"match":"((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*(\\b[a-zA-Z_]\\w*\\b(?!\\())","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.separator.dot-access.4d"},"4":{"name":"punctuation.separator.pointer-access.4d"},"5":{"patterns":[{"include":"#this-function"},{"include":"#member_access"},{"include":"#method_access"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"punctuation.separator.dot-access.4d"},"3":{"name":"punctuation.separator.pointer-access.4d"}}}]},"6":{"name":"variable.other.member.4d"}}},"method_access":{"contentName":"meta.function-call.member.4d","begin":"((?:[a-zA-Z_\\s*]*(\\:C[0-9]+)?|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))((?:[a-zA-Z_]\\w*\\s*(?:(?:(?:\\.\\*|\\.))|(?:(?:-\u003e\\*|-\u003e)))\\s*)*)\\s*([a-zA-Z_]\\w*)(\\()","end":"(\\))","patterns":[{"include":"#strings"},{"include":"#numbers"},{"include":"#parameters"},{"include":"#local_variables"},{"include":"#boolean_values"},{"include":"#constant_4d"},{"include":"#param_separator"},{"include":"#function-call-innards"},{"include":"#table_reference"},{"include":"#this-function"}],"beginCaptures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"entity.command.number.4d"},"3":{"name":"punctuation.separator.dot-access.4d"},"4":{"name":"punctuation.separator.pointer-access.4d"},"5":{"patterns":[{"include":"#member_access"},{"include":"#method_access"},{"include":"#this-function"},{"match":"((?:[a-zA-Z_]\\w*|(?\u003c=\\]|\\)))\\s*)(?:((?:\\.\\*|\\.))|((?:-\u003e\\*|-\u003e)))","captures":{"1":{"name":"variable.other.object.access.4d"},"2":{"name":"punctuation.separator.dot-access.4d"},"3":{"name":"punctuation.separator.pointer-access.4d"}}}]},"6":{"name":"entity.name.function.member.4d"},"7":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.function.member.4d"}}},"numbers":{"begin":"(?\u003c!\\w)(?=\\d|\\.\\d)","end":"(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","patterns":[{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.hexadecimal.4d"},"10":{"name":"keyword.operator.minus.exponent.hexadecimal.4d"},"11":{"name":"constant.numeric.exponent.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.4d"},"2":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"constant.numeric.hexadecimal.4d"},"5":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.4d"},"8":{"name":"keyword.other.unit.exponent.hexadecimal.4d"},"9":{"name":"keyword.operator.plus.exponent.hexadecimal.4d"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?\u003c=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?([lLfF](?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"10":{"name":"keyword.operator.minus.exponent.decimal.4d"},"11":{"name":"constant.numeric.exponent.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"12":{"name":"keyword.other.unit.suffix.floating-point.4d"},"2":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"constant.numeric.decimal.point.4d"},"5":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"6":{"name":"punctuation.separator.constant.numeric.4d"},"8":{"name":"keyword.other.unit.exponent.decimal.4d"},"9":{"name":"keyword.operator.plus.exponent.decimal.4d"}}},{"match":"(\\G0[bB])([01](?:[01]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.binary.4d"},"2":{"name":"constant.numeric.binary.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G0)((?:[0-7]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.octal.4d"},"2":{"name":"constant.numeric.octal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"4":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([pP])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"1":{"name":"keyword.other.unit.hexadecimal.4d"},"2":{"name":"constant.numeric.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"5":{"name":"keyword.other.unit.exponent.hexadecimal.4d"},"6":{"name":"keyword.operator.plus.exponent.hexadecimal.4d"},"7":{"name":"keyword.operator.minus.exponent.hexadecimal.4d"},"8":{"name":"constant.numeric.exponent.hexadecimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.4d"}}},{"match":"(\\G(?=[0-9.])(?!0[xXbB]))([0-9](?:[0-9]|((?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?\u003c!')([eE])(\\+?)(\\-?)((?:[0-9](?:[0-9]|(?:(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)))?((?:(?:(?:(?:(?:[uU]|[uU]ll?)|[uU]LL?)|ll?[uU]?)|LL?[uU]?)|[fF])(?!\\w))?(?!(?:(?:[0-9a-zA-Z_\\.]|')|(?\u003c=[eEpP])[+-]))","captures":{"2":{"name":"constant.numeric.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"3":{"name":"punctuation.separator.constant.numeric.4d"},"5":{"name":"keyword.other.unit.exponent.decimal.4d"},"6":{"name":"keyword.operator.plus.exponent.decimal.4d"},"7":{"name":"keyword.operator.minus.exponent.decimal.4d"},"8":{"name":"constant.numeric.exponent.decimal.4d","patterns":[{"name":"punctuation.separator.constant.numeric.4d","match":"(?\u003c=[0-9a-fA-F])'(?=[0-9a-fA-F])"}]},"9":{"name":"keyword.other.unit.suffix.integer.4d"}}}]},"object_variable":{"name":"storage.type.object.4d","begin":"^\\n*[\\t ]*(?i)(C_OBJECT(\\:C1216)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.object.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.object.4d"},"2":{"name":"meta.c_object.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.object.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"operators":{"patterns":[{"name":"keyword.operator.assignment.4d","match":":="},{"name":"keyword.operator.comparison.4d","match":"#|\u003c=|\u003e=|\u003c|\u003e|="},{"name":"keyword.operator.4d","match":"%|\\*|/|-|\\+"}]},"param_separator":{"name":"punctuation.separator.delimiter.4d","match":";"},"parameters":{"name":"variable.parameter.4d","match":"\\$[0-9]"},"picture_variable":{"name":"storage.type.picture.4d","begin":"^\\n*[\\t ]*(?i)(C_PICTURE(\\:C286)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.picture.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.picture.4d"},"2":{"name":"meta.c_picture.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.picture.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"pointer_variable":{"name":"storage.type.pointer.4d","begin":"^\\n*[\\t ]*(?i)(C_POINTER(\\:C301)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.pointer.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.pointer.4d"},"2":{"name":"meta.c_pointer.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.pointer.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"real_variable":{"name":"storage.type.real.4d","begin":"^\\n*[\\t ]*(?i)(C_REAL(\\:C285)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.real.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.real.4d"},"2":{"name":"meta.c_real.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.real.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"strings":{"name":"string.quoted.double.4d","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.4d","match":"\\\\."}]},"table_reference":{"begin":"(?i)\\[((?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)(\\:[0-9]+)?","end":"\\]","beginCaptures":{"1":{"name":"support.table.name.4d"},"2":{"name":"support.table.index.4d"}}},"text_variable":{"name":"storage.type.text.4d","begin":"^\\n*[\\t ]*(?i)(C_TEXT(\\:C284)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.text.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.text.4d"},"2":{"name":"meta.c_text.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.text.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}},"this-function":{"name":"variable.language.this.4d","match":"(^\\n*[\\t ]*(?i)(This(\\:C1470)?))|((?i)(This(\\:C1470)?))"},"variant_variable":{"name":"storage.type.variant.4d","begin":"^\\n*[\\t ]*(?i)(C_VARIANT(\\:C1683)?)(\\()((?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*)","end":"(\\))","patterns":[{"name":"variable.name.variant.4d","match":"(?i)(?:\\$|\u003c\u003e|)(?:\\$|\u003c\u003e|)[a-z_0-9]+[a-z_0-9 ]*"},{"include":"#param_separator"}],"beginCaptures":{"1":{"name":"storage.type.variant.4d"},"2":{"name":"meta.c_variant.code.4d"},"3":{"name":"punctuation.section.arguments.begin.bracket.round.4d"},"4":{"name":"variable.name.variant.4d"}},"endCaptures":{"1":{"name":"punctuation.section.arguments.end.bracket.round.4d"}}}}}
@@ -1 +1 @@
1
- {"name":"QB64","scopeName":"source.QB64","patterns":[{"name":"meta.ending-space","match":"\\n"},{"include":"#round-brackets"},{"name":"meta.leading-space","begin":"^(?=\\t)","end":"(?=[^\\t])","patterns":[{"match":"(\\t)(\\t)?","captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}}}]},{"name":"meta.leading-space","begin":"^(?= )","end":"(?=[^ ])","patterns":[{"match":"( )( )?","captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}}}]},{"name":"meta.function.QB64","match":"^\\s*((?i:function|sub))\\s*([a-zA-Z_]\\w*)\\s*(\\()([^)]*)(\\)).*\\n?","captures":{"1":{"name":"storage.type.function.QB64"},"2":{"name":"entity.name.function.QB64"},"3":{"name":"punctuation.definition.parameters.QB64"},"4":{"name":"variable.parameter.function.QB64"},"5":{"name":"punctuation.definition.parameters.QB64"}}},{"name":"userfunctions.QB64","match":"^\\\\s*((function|sub|FUNCTION|SUB|Function|Sub|fUNCTION|sUB)\\\\s+)([a-zA-Z_]\\\\w*)"},{"name":"debug.QB64","match":"(?i:\\s*\\b(assert)\\b\\s*)"},{"begin":"(^[ \\t]+)?(?='|rem|REM|Rem|rEm|reM|rEM|ReM)","end":"(?!\\G)","patterns":[{"name":"comment.line.apostrophe.QB64","begin":"'|","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.QB64"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.QB64"}}},{"name":"keyword.control.QB64","match":"(?i:\\b(?!open\\s)(If|Then|Else|ElseIf|Else If|End If|Not|Or|And|Xor|Mod|While|Wend|For|Step|To|Each|Case|Select|End Select|Return|Continue|_Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf|Limit|_Limit|Delay|_Delay|sleep|Key|Off)\\b)"},{"name":"variable.other.dim.QB64","match":"(?i:(dim shared?|dim|redim))\\s*(?:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)\\s*(,?))","captures":{"1":{"name":"storage.type.QB64"},"2":{"name":"variable.other.dim.QB64"},"3":{"name":"meta.separator.comma.QB64"},"4":{"name":"graphics.QB64"},"5":{"name":"sound.QB64"}}},{"name":"storage.type.QB64","match":"(?i:\\s*\\b(Shell|_Hide|Hide|Command|_Startdir|_CONSOLE OFF|CONSOLE OFF|_CONSOLE ON|CONSOLE On|echo|_echo|_DEST _CONSOLE|DEST CONSOLE|cv|_cv|startdir|Date|Time|on timer|_FREETIMER|_commandcount|commandcountCall|Screenhide|_Screenhide|_screenshow|_screenmove|screenmove|screen|screenshow|_screenmove|screenmove|os|_os|title|_title|_CONSOLETITLE|CONSOLETITLE|_newimage|newimage|DECLARE|DEF|SEG|resume|Rest|Timer|gosub|call|DEFINT|Cls|Const|As|_PRESERVE|PRESERVE|Function|End Function|Sub|End Sub|Title|Type|End Type|Randomize|option base|Print|Color|On Error Resume Next|On Error GoTo|Error|_errormessage|errormessage|errorline|_errorline|_INCLERRORFILE|INCLERRORFILE|Goto|FileExists|_FileExists|String|Integer|Long|_INTEGER64|INTEGER64|_Bit|Bit|_BYTE|BYTE|SINGLE|DOUBLE|_FLOAT|FLOAT|_OFFSET|OFFSET|_UNSIGNED|UNSIGNED|_MEM|MEM|LTrim|RTrim|Trim|Right|Left|LCase|UCase|Locate|Str|CVL|MKL|MKI|_mk|mk|CVI|Val|Mid|abs|_keyclear|keyclear)\\b\\s*)"},{"name":"storage.type.QB64","match":"(?i:\\s*\\b(ByVal|Dynamic|Library|Inkey|Name|Open|For|Eof|Poke|Data|Close|Get|Read|Input|Random|Kill|Put|Write|Append|Output|FreeFile|Files|_openhost|openhost|_OPENCLIENT|_openconnection|openconnection|OPENCLIENT|_CONNECTED|CONNECTED|_CONNECTIONADDRESS|CONNECTIONADDRESS|_direxists|direxists|_fileexists|fileexists|mkdir|rmdir|_cwd|cwd)\\b\\s*)"},{"name":"storage.type.QB64","match":"(?i:\\b(End|Stop|System|Environ|_ENVIRONCOUNT|ENVIRONCOUNT)\\b)"},{"name":"debug.QB64","match":"(?i:\\b(_assert)\\b)"},{"name":"todo.QB64","match":"(\\b(?:TODO|FIXME|FIXIT):?\\b)"},{"name":"metacommand.QB64","match":"(?i:\\b(REM|'|$DYNAMIC|$STATIC|Option _Explicit|option _explicitarray|option explicitarray|$RESIZE:|$ASSERTS|$Noprefix|$CHECKING|$COLOR|$CONSOLE|$DEBUG|$ERROR|$EXEICON|$LET|$IF|$ELSEIF|$END IF|$SCREENHIDE|$SCREENSHOW|$VIRTUALKEYBOARD|$VERSIONINFO:Comments|$VERSIONINFO:CompanyName|$VERSIONINFO:FileDescription|$VERSIONINFO:FileVersion|$VERSIONINFO:InternalName|$VERSIONINFO:LegalCopyright|$VERSIONINFO:LegalTrademarks|$VERSIONINFO:OriginalFilename|$VERSIONINFO:ProductName|$VERSIONINFO:ProductVersion|$VERSIONINFO:Web)\\b)"},{"name":"sound.QB64","match":"(?i:\\b(beep|play|sound|sndbal|sndclose|sndcopy|sndgetpos|sndlen|sndlimit|sndloop|sndopen|sndopenraw|sndpause|sndpaused|sndplay|sndplaycopy|sndplayfile|sndplaying|sndrate|sndraw|sndrawdone|sndrawlen|sndsetpos|sndstop|sndvol)\\b)"},{"name":"sound.QB64","match":"(?i:\\b(_sndbal|_sndclose|_sndcopy|_sndgetpos|_sndlen|_sndlimit|_sndloop|_sndopen|_sndopenraw|_sndpause|_sndpaused|_sndplay|_sndplaycopy|_sndplayfile|_sndplaying|_sndrate|_sndraw|_sndrawdone|_sndrawlen|_sndsetpos|_sndstop|_sndvol)\\b)"},{"name":"graphics.QB64","match":"(?i:\\b(line|circle|point|glrender|glaccum|glalphafunc|glaretexturesresident|glarrayelement|glbegin|glbindtexture|glbitmap|glblendfunc|glcalllist|glcalllists|glclear|glclearaccum|glclearcolor|glcleardepth|glclearindex|glclearstencil|glclipplane|glcolor3b|glcolor3bv|glcolor3d|glcolor3dv|glcolor3f|glcolor3fv|glcolor3i|glcolor3iv|glcolor3s|glcolor3sv|glcolor3ub|glcolor3ubv|glcolor3ui|glcolor3uiv|glcolor3us|glcolor3usv|glcolor4b|glcolor4bv|glcolor4d|glcolor4dv|glcolor4f|glcolor4fv|glcolor4i|glcolor4iv|glcolor4s|glcolor4sv|glcolor4ub|glcolor4ubv|glcolor4ui|glcolor4uiv|glcolor4us|glcolor4usv|glcolormask|glcolormaterial|glcolorpointer|glcopypixels|glcopyteximage1d|glcopyteximage2d|glcopytexsubimage1d|glcopytexsubimage2d|glcullface|gldeletelists|gldeletetextures|gldepthfunc|gldepthmask|gldepthrange|gldisable|gldisableclientstate|gldrawarrays|gldrawbuffer|gldrawelements|gldrawpixels|gledgeflag|gledgeflagpointer|gledgeflagv|glenable|glenableclientstate|glend|glendlist|glevalcoord1d|glevalcoord1dv|glevalcoord1f|glevalcoord1fv|glevalcoord2d|glevalcoord2dv|glevalcoord2f|glevalcoord2fv|glevalmesh1|glevalmesh2|glevalpoint1|glevalpoint2|glfeedbackbuffer|glfinish|glflush|glfogf|glfogfv|glfogi|glfogiv|glfrontface|glfrustum|glgenlists|glgentextures|glgetbooleanv|glgetclipplane|glgetdoublev|glgeterror|glgetfloatv|glgetintegerv|glgetlightfv|glgetlightiv|glgetmapdv|glgetmapfv|glgetmapiv|glgetmaterialfv|glgetmaterialiv|glgetpixelmapfv|glgetpixelmapuiv|glgetpixelmapusv|glgetpointerv|glgetpolygonstipple|glgetstring|glgettexenvfv|glgettexenviv|glgettexgendv|glgettexgenfv|glgettexgeniv|glgetteximage|glgettexlevelparameterfv|glgettexlevelparameteriv|glgettexparameterfv|glgettexparameteriv|glhint|glindexmask|glindexpointer|glindexd|glindexdv|glindexf|glindexfv|glindexi|glindexiv|glindexs|glindexsv|glindexub|glindexubv|glinitnames|glinterleavedarrays|glisenabled|glislist|glistexture|gllightmodelf|gllightmodelfv|gllightmodeli|gllightmodeliv|gllightf|gllightfv|gllighti|gllightiv|gllinestipple|gllinewidth|gllistbase|glloadidentity|glloadmatrixd|glloadmatrixf|glloadname|gllogicop|glmap1d|glmap1f|glmap2d|glmap2f|glmapgrid1d|glmapgrid1f|glmapgrid2d|glmapgrid2f|glmaterialf|glmaterialfv|glmateriali|glmaterialiv|glmatrixmode|glmultmatrixd|glmultmatrixf|glnewlist|glnormal3b|glnormal3bv|glnormal3d|glnormal3dv|glnormal3f|glnormal3fv|glnormal3i|glnormal3iv|glnormal3s|glnormal3sv|glnormalpointer|glortho|glpassthrough|glpixelmapfv|glpixelmapuiv|glpixelmapusv|glpixelstoref|glpixelstorei|glpixeltransferf|glpixeltransferi|glpixelzoom|glpointsize|glpolygonmode|glpolygonoffset|glpolygonstipple|glpopattrib|glpopclientattrib|glpopmatrix|glpopname|glprioritizetextures|glpushattrib|glpushclientattrib|glpushmatrix|glpushname|glrasterpos2d|glrasterpos2dv|glrasterpos2f|glrasterpos2fv|glrasterpos2i|glrasterpos2iv|glrasterpos2s|glrasterpos2sv|glrasterpos3d|glrasterpos3dv|glrasterpos3f|glrasterpos3fv|glrasterpos3i|glrasterpos3iv|glrasterpos3s|glrasterpos3sv|glrasterpos4d|glrasterpos4dv|glrasterpos4f|glrasterpos4fv|glrasterpos4i|glrasterpos4iv|glrasterpos4s|glrasterpos4sv|glreadbuffer|glreadpixels|glrectd|glrectdv|glrectf|glrectfv|glrecti|glrectiv|glrects|glrectsv|glrendermode|glrotated|glrotatef|glscaled|glscalef|glscissor|glselectbuffer|glshademodel|glstencilfunc|glstencilmask|glstencilop|gltexcoord1d|gltexcoord1dv|gltexcoord1f|gltexcoord1fv|gltexcoord1i|gltexcoord1iv|gltexcoord1s|gltexcoord1sv|gltexcoord2d|gltexcoord2dv|gltexcoord2f|gltexcoord2fv|gltexcoord2i|gltexcoord2iv|gltexcoord2s|gltexcoord2sv|gltexcoord3d|gltexcoord3dv|gltexcoord3f|gltexcoord3fv|gltexcoord3i|gltexcoord3iv|gltexcoord3s|gltexcoord3sv|gltexcoord4d|gltexcoord4dv|gltexcoord4f|gltexcoord4fv|gltexcoord4i|gltexcoord4iv|gltexcoord4s|gltexcoord4sv|gltexcoordpointer|gltexenvf|gltexenvfv|gltexenvi|gltexenviv|gltexgend|gltexgendv|gltexgenf|gltexgenfv|gltexgeni|gltexgeniv|glteximage1d|glteximage2d|gltexparameterf|gltexparameterfv|gltexparameteri|gltexparameteriv|gltexsubimage1d|gltexsubimage2d|gltranslated|gltranslatef|glvertex2d|glvertex2dv|glvertex2f|glvertex2fv|glvertex2i|glvertex2iv|glvertex2s|glvertex2sv|glvertex3d|glvertex3dv|glvertex3f|glvertex3fv|glvertex3i|glvertex3iv|glvertex3s|glvertex3sv|glvertex4d|glvertex4dv|glvertex4f|glvertex4fv|glvertex4i|glvertex4iv|glvertex4s|glvertex4sv|glvertexpointer|glviewport)\\b)"},{"name":"graphics.QB64","match":"(?i:\\b(_glrender|_glaccum|_glalphafunc|_glaretexturesresident|_glarrayelement|_glbegin|_glbindtexture|_glbitmap|_glblendfunc|_glcalllist|_glcalllists|_glclear|_glclearaccum|_glclearcolor|_glcleardepth|_glclearindex|_glclearstencil|_glclipplane|_glcolor3b|_glcolor3bv|_glcolor3d|_glcolor3dv|_glcolor3f|_glcolor3fv|_glcolor3i|_glcolor3iv|_glcolor3s|_glcolor3sv|_glcolor3ub|_glcolor3ubv|_glcolor3ui|_glcolor3uiv|_glcolor3us|_glcolor3usv|_glcolor4b|_glcolor4bv|_glcolor4d|_glcolor4dv|_glcolor4f|_glcolor4fv|_glcolor4i|_glcolor4iv|_glcolor4s|_glcolor4sv|_glcolor4ub|_glcolor4ubv|_glcolor4ui|_glcolor4uiv|_glcolor4us|_glcolor4usv|_glcolormask|_glcolormaterial|_glcolorpointer|_glcopypixels|_glcopyteximage1d|_glcopyteximage2d|_glcopytexsubimage1d|_glcopytexsubimage2d|_glcullface|_gldeletelists|_gldeletetextures|_gldepthfunc|_gldepthmask|_gldepthrange|_gldisable|_gldisableclientstate|_gldrawarrays|_gldrawbuffer|_gldrawelements|_gldrawpixels|_gledgeflag|_gledgeflagpointer|_gledgeflagv|_glenable|_glenableclientstate|_glend|_glendlist|_glevalcoord1d|_glevalcoord1dv|_glevalcoord1f|_glevalcoord1fv|_glevalcoord2d|_glevalcoord2dv|_glevalcoord2f|_glevalcoord2fv|_glevalmesh1|_glevalmesh2|_glevalpoint1|_glevalpoint2|_glfeedbackbuffer|_glfinish|_glflush|_glfogf|_glfogfv|_glfogi|_glfogiv|_glfrontface|_glfrustum|_glgenlists|_glgentextures|_glgetbooleanv|_glgetclipplane|_glgetdoublev|_glgeterror|_glgetfloatv|_glgetintegerv|_glgetlightfv|_glgetlightiv|_glgetmapdv|_glgetmapfv|_glgetmapiv|_glgetmaterialfv|_glgetmaterialiv|_glgetpixelmapfv|_glgetpixelmapuiv|_glgetpixelmapusv|_glgetpointerv|_glgetpolygonstipple|_glgetstring|_glgettexenvfv|_glgettexenviv|_glgettexgendv|_glgettexgenfv|_glgettexgeniv|_glgetteximage|_glgettexlevelparameterfv|_glgettexlevelparameteriv|_glgettexparameterfv|_glgettexparameteriv|_glhint|_glindexmask|_glindexpointer|_glindexd|_glindexdv|_glindexf|_glindexfv|_glindexi|_glindexiv|_glindexs|_glindexsv|_glindexub|_glindexubv|_glinitnames|_glinterleavedarrays|_glisenabled|_glislist|_glistexture|_gllightmodelf|_gllightmodelfv|_gllightmodeli|_gllightmodeliv|_gllightf|_gllightfv|_gllighti|_gllightiv|_gllinestipple|_gllinewidth|_gllistbase|_glloadidentity|_glloadmatrixd|_glloadmatrixf|_glloadname|_gllogicop|_glmap1d|_glmap1f|_glmap2d|_glmap2f|_glmapgrid1d|_glmapgrid1f|_glmapgrid2d|_glmapgrid2f|_glmaterialf|_glmaterialfv|_glmateriali|_glmaterialiv|_glmatrixmode|_glmultmatrixd|_glmultmatrixf|_glnewlist|_glnormal3b|_glnormal3bv|_glnormal3d|_glnormal3dv|_glnormal3f|_glnormal3fv|_glnormal3i|_glnormal3iv|_glnormal3s|_glnormal3sv|_glnormalpointer|_glortho|_glpassthrough|_glpixelmapfv|_glpixelmapuiv|_glpixelmapusv|_glpixelstoref|_glpixelstorei|_glpixeltransferf|_glpixeltransferi|_glpixelzoom|_glpointsize|_glpolygonmode|_glpolygonoffset|_glpolygonstipple|_glpopattrib|_glpopclientattrib|_glpopmatrix|_glpopname|_glprioritizetextures|_glpushattrib|_glpushclientattrib|_glpushmatrix|_glpushname|_glrasterpos2d|_glrasterpos2dv|_glrasterpos2f|_glrasterpos2fv|_glrasterpos2i|_glrasterpos2iv|_glrasterpos2s|_glrasterpos2sv|_glrasterpos3d|_glrasterpos3dv|_glrasterpos3f|_glrasterpos3fv|_glrasterpos3i|_glrasterpos3iv|_glrasterpos3s|_glrasterpos3sv|_glrasterpos4d|_glrasterpos4dv|_glrasterpos4f|_glrasterpos4fv|_glrasterpos4i|_glrasterpos4iv|_glrasterpos4s|_glrasterpos4sv|_glreadbuffer|_glreadpixels|_glrectd|_glrectdv|_glrectf|_glrectfv|_glrecti|_glrectiv|_glrects|_glrectsv|_glrendermode|_glrotated|_glrotatef|_glscaled|_glscalef|_glscissor|_glselectbuffer|_glshademodel|_glstencilfunc|_glstencilmask|_glstencilop|_gltexcoord1d|_gltexcoord1dv|_gltexcoord1f|_gltexcoord1fv|_gltexcoord1i|_gltexcoord1iv|_gltexcoord1s|_gltexcoord1sv|_gltexcoord2d|_gltexcoord2dv|_gltexcoord2f|_gltexcoord2fv|_gltexcoord2i|_gltexcoord2iv|_gltexcoord2s|_gltexcoord2sv|_gltexcoord3d|_gltexcoord3dv|_gltexcoord3f|_gltexcoord3fv|_gltexcoord3i|_gltexcoord3iv|_gltexcoord3s|_gltexcoord3sv|_gltexcoord4d|_gltexcoord4dv|_gltexcoord4f|_gltexcoord4fv|_gltexcoord4i|_gltexcoord4iv|_gltexcoord4s|_gltexcoord4sv|_gltexcoordpointer|_gltexenvf|_gltexenvfv|_gltexenvi|_gltexenviv|_gltexgend|_gltexgendv|_gltexgenf|_gltexgenfv|_gltexgeni|_gltexgeniv|_glteximage1d|_glteximage2d|_gltexparameterf|_gltexparameterfv|_gltexparameteri|_gltexparameteriv|_gltexsubimage1d|_gltexsubimage2d|_gltranslated|_gltranslatef|_glvertex2d|_glvertex2dv|_glvertex2f|_glvertex2fv|_glvertex2i|_glvertex2iv|_glvertex2s|_glvertex2sv|_glvertex3d|_glvertex3dv|_glvertex3f|_glvertex3fv|_glvertex3i|_glvertex3iv|_glvertex3s|_glvertex3sv|_glvertex4d|_glvertex4dv|_glvertex4f|_glvertex4fv|_glvertex4i|_glvertex4iv|_glvertex4s|_glvertex4sv|_glvertexpointer|_glviewport)\\b)"},{"name":"storage.type.QB64","match":"(?i:\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsDate|IsNull|IsNumeric|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|Maths|Mid|Minute|Month|MonthName|Oct|Rgb|_Rgb|_rgba|rgba|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Sqr|StrComp|String|StrReverse|Tan|Time|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\b)"},{"name":"string.quoted.double.QB64","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.apostrophe.QB64","match":"\"\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.QB64"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.QB64"}}},{"name":"variable.other.QB64","match":"(\\$)[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b\\s*","captures":{"1":{"name":"punctuation.definition.variable.QB64"},"2":{"name":"support.function.QB64"}}},{"name":"support.function.QB64","match":"(?i:\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\b)"},{"name":"support.type.QB64","match":"\\b\\w+\\s+as\\s+\\w+\u0008(?!\\s*\\))"},{"name":"constant.numeric.QB64","match":"-?\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b"},{"name":"support.function.QB64","match":"(?i:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)(?=\\(\\)?))","captures":{"1":{"name":"entity.name.function.QB64"}}},{"name":"variable.other.QB64","match":"(?i:((?\u003c=(\\+|=|-|\\\u0026|\\\\|/|\u003c|\u003e|\\(|,))\\s*\\b([a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?)\\b(?!(\\(|\\.))|\\b([a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?)\\b(?=\\s*(\\+|=|-|\\\u0026|\\\\|/|\u003c|\u003e|\\(|\\)))))"}],"repository":{"round-brackets":{"name":"meta.round-brackets","begin":"\\(","end":"\\)","patterns":[{"include":"source.QB64"}],"beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.QB64"}},"endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.QB64"}}}}}
1
+ {"name":"QB64","scopeName":"source.QB64","patterns":[{"name":"meta.ending-space","match":"\\r?\\n"},{"include":"#round-brackets"},{"name":"meta.leading-space","begin":"^(?=\\t)","end":"(?=[^\\t])","patterns":[{"match":"(\\t)(\\t)?","captures":{"1":{"name":"meta.odd-tab.tabs"},"2":{"name":"meta.even-tab.tabs"}}}]},{"name":"meta.leading-space","begin":"^(?= )","end":"(?=[^ ])","patterns":[{"match":"( )( )?","captures":{"1":{"name":"meta.odd-tab.spaces"},"2":{"name":"meta.even-tab.spaces"}}}]},{"name":"meta.function.QB64","match":"^\\s*((?i:function|sub))\\s*([a-zA-Z_]\\w*)\\s*(\\()([^)]*)(\\)).*\\r?\\n?","captures":{"1":{"name":"storage.type.function.QB64"},"2":{"name":"entity.name.function.QB64"},"3":{"name":"punctuation.definition.parameters.QB64"},"4":{"name":"variable.parameter.function.QB64"},"5":{"name":"punctuation.definition.parameters.QB64"}}},{"name":"userfunctions.QB64","match":"^\\\\s*((function|sub|FUNCTION|SUB|Function|Sub|fUNCTION|sUB)\\\\s+)([a-zA-Z_]\\\\w*)"},{"name":"debug.QB64","match":"(?i:\\s*\\b(assert)\\b\\s*)"},{"begin":"(^[ \\t]+)?(?='|rem|REM|Rem|rEm|reM|rEM|ReM)","end":"(?!\\G)","patterns":[{"name":"comment.line.apostrophe.QB64","begin":"'|","end":"\\r?\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.QB64"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.QB64"}}},{"name":"keyword.control.QB64","match":"(?i:\\b(?!open\\s)(If|Then|Else|ElseIf|Else If|End If|Not|Or|And|Xor|Mod|While|Wend|For|Step|To|Each|Case|Select|End Select|Return|Continue|_Continue|Do|Until|Loop|Next|With|Exit Do|Exit For|Exit Function|Exit Property|Exit Sub|IIf|Limit|_Limit|Delay|_Delay|sleep|Key|Off)\\b)"},{"name":"variable.other.dim.QB64","match":"(?i:(dim shared?|dim|redim))\\s*(?:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)\\s*(,?))","captures":{"1":{"name":"storage.type.QB64"},"2":{"name":"variable.other.dim.QB64"},"3":{"name":"meta.separator.comma.QB64"},"4":{"name":"graphics.QB64"},"5":{"name":"sound.QB64"}}},{"name":"storage.type.QB64","match":"(?i:\\s*\\b(Shell|_Hide|Hide|Command|_Startdir|_CONSOLE OFF|CONSOLE OFF|_CONSOLE ON|CONSOLE On|echo|_echo|_DEST _CONSOLE|DEST CONSOLE|cv|_cv|startdir|Date|Time|on timer|_FREETIMER|_commandcount|commandcountCall|Screenhide|_Screenhide|_screenshow|_screenmove|screenmove|screen|screenshow|_screenmove|screenmove|os|_os|title|_title|_CONSOLETITLE|CONSOLETITLE|_newimage|newimage|DECLARE|DEF|SEG|resume|Rest|Timer|gosub|call|DEFINT|Cls|Const|As|_PRESERVE|PRESERVE|Function|End Function|Sub|End Sub|Title|Type|End Type|Randomize|option base|Print|Color|On Error Resume Next|On Error GoTo|Error|_errormessage|errormessage|errorline|_errorline|_INCLERRORFILE|INCLERRORFILE|Goto|FileExists|_FileExists|String|Integer|Long|_INTEGER64|INTEGER64|_Bit|Bit|_BYTE|BYTE|SINGLE|DOUBLE|_FLOAT|FLOAT|_OFFSET|OFFSET|_UNSIGNED|UNSIGNED|_MEM|MEM|LTrim|RTrim|Trim|Right|Left|LCase|UCase|Locate|Str|CVL|MKL|MKI|_mk|mk|CVI|Val|Mid|abs|_keyclear|keyclear)\\b\\s*)"},{"name":"storage.type.QB64","match":"(?i:\\s*\\b(ByVal|Dynamic|Library|Inkey|Name|Open|For|Eof|Poke|Data|Close|Get|Read|Input|Random|Kill|Put|Write|Append|Output|FreeFile|Files|_openhost|openhost|_OPENCLIENT|_openconnection|openconnection|OPENCLIENT|_CONNECTED|CONNECTED|_CONNECTIONADDRESS|CONNECTIONADDRESS|_direxists|direxists|_fileexists|fileexists|mkdir|rmdir|_cwd|cwd)\\b\\s*)"},{"name":"storage.type.QB64","match":"(?i:\\b(End|Stop|System|Environ|_ENVIRONCOUNT|ENVIRONCOUNT)\\b)"},{"name":"debug.QB64","match":"(?i:\\b(_assert)\\b)"},{"name":"todo.QB64","match":"(\\b(?:TODO|FIXME|FIXIT):?\\b)"},{"name":"metacommand.QB64","match":"(?i:\\b(REM|'|$DYNAMIC|$STATIC|Option _Explicit|option _explicitarray|option explicitarray|$RESIZE:|$ASSERTS|$Noprefix|$CHECKING|$COLOR|$CONSOLE|$DEBUG|$ERROR|$EXEICON|$LET|$IF|$ELSEIF|$END IF|$SCREENHIDE|$SCREENSHOW|$VIRTUALKEYBOARD|$VERSIONINFO:Comments|$VERSIONINFO:CompanyName|$VERSIONINFO:FileDescription|$VERSIONINFO:FileVersion|$VERSIONINFO:InternalName|$VERSIONINFO:LegalCopyright|$VERSIONINFO:LegalTrademarks|$VERSIONINFO:OriginalFilename|$VERSIONINFO:ProductName|$VERSIONINFO:ProductVersion|$VERSIONINFO:Web)\\b)"},{"name":"sound.QB64","match":"(?i:\\b(beep|play|sound|sndbal|sndclose|sndcopy|sndgetpos|sndlen|sndlimit|sndloop|sndopen|sndopenraw|sndpause|sndpaused|sndplay|sndplaycopy|sndplayfile|sndplaying|sndrate|sndraw|sndrawdone|sndrawlen|sndsetpos|sndstop|sndvol)\\b)"},{"name":"sound.QB64","match":"(?i:\\b(_sndbal|_sndclose|_sndcopy|_sndgetpos|_sndlen|_sndlimit|_sndloop|_sndopen|_sndopenraw|_sndpause|_sndpaused|_sndplay|_sndplaycopy|_sndplayfile|_sndplaying|_sndrate|_sndraw|_sndrawdone|_sndrawlen|_sndsetpos|_sndstop|_sndvol)\\b)"},{"name":"graphics.QB64","match":"(?i:\\b(line|circle|point|glrender|glaccum|glalphafunc|glaretexturesresident|glarrayelement|glbegin|glbindtexture|glbitmap|glblendfunc|glcalllist|glcalllists|glclear|glclearaccum|glclearcolor|glcleardepth|glclearindex|glclearstencil|glclipplane|glcolor3b|glcolor3bv|glcolor3d|glcolor3dv|glcolor3f|glcolor3fv|glcolor3i|glcolor3iv|glcolor3s|glcolor3sv|glcolor3ub|glcolor3ubv|glcolor3ui|glcolor3uiv|glcolor3us|glcolor3usv|glcolor4b|glcolor4bv|glcolor4d|glcolor4dv|glcolor4f|glcolor4fv|glcolor4i|glcolor4iv|glcolor4s|glcolor4sv|glcolor4ub|glcolor4ubv|glcolor4ui|glcolor4uiv|glcolor4us|glcolor4usv|glcolormask|glcolormaterial|glcolorpointer|glcopypixels|glcopyteximage1d|glcopyteximage2d|glcopytexsubimage1d|glcopytexsubimage2d|glcullface|gldeletelists|gldeletetextures|gldepthfunc|gldepthmask|gldepthrange|gldisable|gldisableclientstate|gldrawarrays|gldrawbuffer|gldrawelements|gldrawpixels|gledgeflag|gledgeflagpointer|gledgeflagv|glenable|glenableclientstate|glend|glendlist|glevalcoord1d|glevalcoord1dv|glevalcoord1f|glevalcoord1fv|glevalcoord2d|glevalcoord2dv|glevalcoord2f|glevalcoord2fv|glevalmesh1|glevalmesh2|glevalpoint1|glevalpoint2|glfeedbackbuffer|glfinish|glflush|glfogf|glfogfv|glfogi|glfogiv|glfrontface|glfrustum|glgenlists|glgentextures|glgetbooleanv|glgetclipplane|glgetdoublev|glgeterror|glgetfloatv|glgetintegerv|glgetlightfv|glgetlightiv|glgetmapdv|glgetmapfv|glgetmapiv|glgetmaterialfv|glgetmaterialiv|glgetpixelmapfv|glgetpixelmapuiv|glgetpixelmapusv|glgetpointerv|glgetpolygonstipple|glgetstring|glgettexenvfv|glgettexenviv|glgettexgendv|glgettexgenfv|glgettexgeniv|glgetteximage|glgettexlevelparameterfv|glgettexlevelparameteriv|glgettexparameterfv|glgettexparameteriv|glhint|glindexmask|glindexpointer|glindexd|glindexdv|glindexf|glindexfv|glindexi|glindexiv|glindexs|glindexsv|glindexub|glindexubv|glinitnames|glinterleavedarrays|glisenabled|glislist|glistexture|gllightmodelf|gllightmodelfv|gllightmodeli|gllightmodeliv|gllightf|gllightfv|gllighti|gllightiv|gllinestipple|gllinewidth|gllistbase|glloadidentity|glloadmatrixd|glloadmatrixf|glloadname|gllogicop|glmap1d|glmap1f|glmap2d|glmap2f|glmapgrid1d|glmapgrid1f|glmapgrid2d|glmapgrid2f|glmaterialf|glmaterialfv|glmateriali|glmaterialiv|glmatrixmode|glmultmatrixd|glmultmatrixf|glnewlist|glnormal3b|glnormal3bv|glnormal3d|glnormal3dv|glnormal3f|glnormal3fv|glnormal3i|glnormal3iv|glnormal3s|glnormal3sv|glnormalpointer|glortho|glpassthrough|glpixelmapfv|glpixelmapuiv|glpixelmapusv|glpixelstoref|glpixelstorei|glpixeltransferf|glpixeltransferi|glpixelzoom|glpointsize|glpolygonmode|glpolygonoffset|glpolygonstipple|glpopattrib|glpopclientattrib|glpopmatrix|glpopname|glprioritizetextures|glpushattrib|glpushclientattrib|glpushmatrix|glpushname|glrasterpos2d|glrasterpos2dv|glrasterpos2f|glrasterpos2fv|glrasterpos2i|glrasterpos2iv|glrasterpos2s|glrasterpos2sv|glrasterpos3d|glrasterpos3dv|glrasterpos3f|glrasterpos3fv|glrasterpos3i|glrasterpos3iv|glrasterpos3s|glrasterpos3sv|glrasterpos4d|glrasterpos4dv|glrasterpos4f|glrasterpos4fv|glrasterpos4i|glrasterpos4iv|glrasterpos4s|glrasterpos4sv|glreadbuffer|glreadpixels|glrectd|glrectdv|glrectf|glrectfv|glrecti|glrectiv|glrects|glrectsv|glrendermode|glrotated|glrotatef|glscaled|glscalef|glscissor|glselectbuffer|glshademodel|glstencilfunc|glstencilmask|glstencilop|gltexcoord1d|gltexcoord1dv|gltexcoord1f|gltexcoord1fv|gltexcoord1i|gltexcoord1iv|gltexcoord1s|gltexcoord1sv|gltexcoord2d|gltexcoord2dv|gltexcoord2f|gltexcoord2fv|gltexcoord2i|gltexcoord2iv|gltexcoord2s|gltexcoord2sv|gltexcoord3d|gltexcoord3dv|gltexcoord3f|gltexcoord3fv|gltexcoord3i|gltexcoord3iv|gltexcoord3s|gltexcoord3sv|gltexcoord4d|gltexcoord4dv|gltexcoord4f|gltexcoord4fv|gltexcoord4i|gltexcoord4iv|gltexcoord4s|gltexcoord4sv|gltexcoordpointer|gltexenvf|gltexenvfv|gltexenvi|gltexenviv|gltexgend|gltexgendv|gltexgenf|gltexgenfv|gltexgeni|gltexgeniv|glteximage1d|glteximage2d|gltexparameterf|gltexparameterfv|gltexparameteri|gltexparameteriv|gltexsubimage1d|gltexsubimage2d|gltranslated|gltranslatef|glvertex2d|glvertex2dv|glvertex2f|glvertex2fv|glvertex2i|glvertex2iv|glvertex2s|glvertex2sv|glvertex3d|glvertex3dv|glvertex3f|glvertex3fv|glvertex3i|glvertex3iv|glvertex3s|glvertex3sv|glvertex4d|glvertex4dv|glvertex4f|glvertex4fv|glvertex4i|glvertex4iv|glvertex4s|glvertex4sv|glvertexpointer|glviewport)\\b)"},{"name":"graphics.QB64","match":"(?i:\\b(_glrender|_glaccum|_glalphafunc|_glaretexturesresident|_glarrayelement|_glbegin|_glbindtexture|_glbitmap|_glblendfunc|_glcalllist|_glcalllists|_glclear|_glclearaccum|_glclearcolor|_glcleardepth|_glclearindex|_glclearstencil|_glclipplane|_glcolor3b|_glcolor3bv|_glcolor3d|_glcolor3dv|_glcolor3f|_glcolor3fv|_glcolor3i|_glcolor3iv|_glcolor3s|_glcolor3sv|_glcolor3ub|_glcolor3ubv|_glcolor3ui|_glcolor3uiv|_glcolor3us|_glcolor3usv|_glcolor4b|_glcolor4bv|_glcolor4d|_glcolor4dv|_glcolor4f|_glcolor4fv|_glcolor4i|_glcolor4iv|_glcolor4s|_glcolor4sv|_glcolor4ub|_glcolor4ubv|_glcolor4ui|_glcolor4uiv|_glcolor4us|_glcolor4usv|_glcolormask|_glcolormaterial|_glcolorpointer|_glcopypixels|_glcopyteximage1d|_glcopyteximage2d|_glcopytexsubimage1d|_glcopytexsubimage2d|_glcullface|_gldeletelists|_gldeletetextures|_gldepthfunc|_gldepthmask|_gldepthrange|_gldisable|_gldisableclientstate|_gldrawarrays|_gldrawbuffer|_gldrawelements|_gldrawpixels|_gledgeflag|_gledgeflagpointer|_gledgeflagv|_glenable|_glenableclientstate|_glend|_glendlist|_glevalcoord1d|_glevalcoord1dv|_glevalcoord1f|_glevalcoord1fv|_glevalcoord2d|_glevalcoord2dv|_glevalcoord2f|_glevalcoord2fv|_glevalmesh1|_glevalmesh2|_glevalpoint1|_glevalpoint2|_glfeedbackbuffer|_glfinish|_glflush|_glfogf|_glfogfv|_glfogi|_glfogiv|_glfrontface|_glfrustum|_glgenlists|_glgentextures|_glgetbooleanv|_glgetclipplane|_glgetdoublev|_glgeterror|_glgetfloatv|_glgetintegerv|_glgetlightfv|_glgetlightiv|_glgetmapdv|_glgetmapfv|_glgetmapiv|_glgetmaterialfv|_glgetmaterialiv|_glgetpixelmapfv|_glgetpixelmapuiv|_glgetpixelmapusv|_glgetpointerv|_glgetpolygonstipple|_glgetstring|_glgettexenvfv|_glgettexenviv|_glgettexgendv|_glgettexgenfv|_glgettexgeniv|_glgetteximage|_glgettexlevelparameterfv|_glgettexlevelparameteriv|_glgettexparameterfv|_glgettexparameteriv|_glhint|_glindexmask|_glindexpointer|_glindexd|_glindexdv|_glindexf|_glindexfv|_glindexi|_glindexiv|_glindexs|_glindexsv|_glindexub|_glindexubv|_glinitnames|_glinterleavedarrays|_glisenabled|_glislist|_glistexture|_gllightmodelf|_gllightmodelfv|_gllightmodeli|_gllightmodeliv|_gllightf|_gllightfv|_gllighti|_gllightiv|_gllinestipple|_gllinewidth|_gllistbase|_glloadidentity|_glloadmatrixd|_glloadmatrixf|_glloadname|_gllogicop|_glmap1d|_glmap1f|_glmap2d|_glmap2f|_glmapgrid1d|_glmapgrid1f|_glmapgrid2d|_glmapgrid2f|_glmaterialf|_glmaterialfv|_glmateriali|_glmaterialiv|_glmatrixmode|_glmultmatrixd|_glmultmatrixf|_glnewlist|_glnormal3b|_glnormal3bv|_glnormal3d|_glnormal3dv|_glnormal3f|_glnormal3fv|_glnormal3i|_glnormal3iv|_glnormal3s|_glnormal3sv|_glnormalpointer|_glortho|_glpassthrough|_glpixelmapfv|_glpixelmapuiv|_glpixelmapusv|_glpixelstoref|_glpixelstorei|_glpixeltransferf|_glpixeltransferi|_glpixelzoom|_glpointsize|_glpolygonmode|_glpolygonoffset|_glpolygonstipple|_glpopattrib|_glpopclientattrib|_glpopmatrix|_glpopname|_glprioritizetextures|_glpushattrib|_glpushclientattrib|_glpushmatrix|_glpushname|_glrasterpos2d|_glrasterpos2dv|_glrasterpos2f|_glrasterpos2fv|_glrasterpos2i|_glrasterpos2iv|_glrasterpos2s|_glrasterpos2sv|_glrasterpos3d|_glrasterpos3dv|_glrasterpos3f|_glrasterpos3fv|_glrasterpos3i|_glrasterpos3iv|_glrasterpos3s|_glrasterpos3sv|_glrasterpos4d|_glrasterpos4dv|_glrasterpos4f|_glrasterpos4fv|_glrasterpos4i|_glrasterpos4iv|_glrasterpos4s|_glrasterpos4sv|_glreadbuffer|_glreadpixels|_glrectd|_glrectdv|_glrectf|_glrectfv|_glrecti|_glrectiv|_glrects|_glrectsv|_glrendermode|_glrotated|_glrotatef|_glscaled|_glscalef|_glscissor|_glselectbuffer|_glshademodel|_glstencilfunc|_glstencilmask|_glstencilop|_gltexcoord1d|_gltexcoord1dv|_gltexcoord1f|_gltexcoord1fv|_gltexcoord1i|_gltexcoord1iv|_gltexcoord1s|_gltexcoord1sv|_gltexcoord2d|_gltexcoord2dv|_gltexcoord2f|_gltexcoord2fv|_gltexcoord2i|_gltexcoord2iv|_gltexcoord2s|_gltexcoord2sv|_gltexcoord3d|_gltexcoord3dv|_gltexcoord3f|_gltexcoord3fv|_gltexcoord3i|_gltexcoord3iv|_gltexcoord3s|_gltexcoord3sv|_gltexcoord4d|_gltexcoord4dv|_gltexcoord4f|_gltexcoord4fv|_gltexcoord4i|_gltexcoord4iv|_gltexcoord4s|_gltexcoord4sv|_gltexcoordpointer|_gltexenvf|_gltexenvfv|_gltexenvi|_gltexenviv|_gltexgend|_gltexgendv|_gltexgenf|_gltexgenfv|_gltexgeni|_gltexgeniv|_glteximage1d|_glteximage2d|_gltexparameterf|_gltexparameterfv|_gltexparameteri|_gltexparameteriv|_gltexsubimage1d|_gltexsubimage2d|_gltranslated|_gltranslatef|_glvertex2d|_glvertex2dv|_glvertex2f|_glvertex2fv|_glvertex2i|_glvertex2iv|_glvertex2s|_glvertex2sv|_glvertex3d|_glvertex3dv|_glvertex3f|_glvertex3fv|_glvertex3i|_glvertex3iv|_glvertex3s|_glvertex3sv|_glvertex4d|_glvertex4dv|_glvertex4f|_glvertex4fv|_glvertex4i|_glvertex4iv|_glvertex4s|_glvertex4sv|_glvertexpointer|_glviewport)\\b)"},{"name":"storage.type.QB64","match":"(?i:\\b(Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsDate|IsNull|IsNumeric|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|Maths|Mid|Minute|Month|MonthName|Oct|Rgb|_Rgb|_rgba|rgba|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Sqr|StrComp|String|StrReverse|Tan|Time|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year)\\b)"},{"name":"string.quoted.double.QB64","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.apostrophe.QB64","match":"\"\""}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.QB64"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.QB64"}}},{"name":"variable.other.QB64","match":"(\\$)[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b\\s*","captures":{"1":{"name":"punctuation.definition.variable.QB64"},"2":{"name":"support.function.QB64"}}},{"name":"support.function.QB64","match":"(?i:\\b(Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|End|Flush|Redirect|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex)\\b)"},{"name":"support.type.QB64","match":"\\b\\w+\\s+as\\s+\\w+\u0008(?!\\s*\\))"},{"name":"constant.numeric.QB64","match":"-?\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f)?\\b"},{"name":"support.function.QB64","match":"(?i:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)(?=\\(\\)?))","captures":{"1":{"name":"entity.name.function.QB64"}}},{"name":"variable.other.QB64","match":"(?i:((?\u003c=(\\+|=|-|\\\u0026|\\\\|/|\u003c|\u003e|\\(|,))\\s*\\b([a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?)\\b(?!(\\(|\\.))|\\b([a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?)\\b(?=\\s*(\\+|=|-|\\\u0026|\\\\|/|\u003c|\u003e|\\(|\\)))))"}],"repository":{"round-brackets":{"name":"meta.round-brackets","begin":"\\(","end":"\\)","patterns":[{"include":"source.QB64"}],"beginCaptures":{"0":{"name":"punctuation.section.round-brackets.begin.QB64"}},"endCaptures":{"0":{"name":"punctuation.section.round-brackets.end.QB64"}}}}}