github-linguist 9.1.0 → 9.3.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 (138) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +24 -5
  3. data/grammars/etc.json +1 -1
  4. data/grammars/injection.interpolated-ruby.json +1 -0
  5. data/grammars/injections.etc.json +1 -1
  6. data/grammars/inline.edgeql.json +1 -1
  7. data/grammars/liquid.injection.json +1 -1
  8. data/grammars/markdown.move.codeblock.json +1 -1
  9. data/grammars/source.4dm.json +1 -1
  10. data/grammars/source.QB64.json +1 -1
  11. data/grammars/source.abl.json +1 -1
  12. data/grammars/source.aiken.json +1 -0
  13. data/grammars/source.apex.json +1 -1
  14. data/grammars/source.ash.json +1 -0
  15. data/grammars/source.ats.json +1 -1
  16. data/grammars/source.ballerina.json +1 -1
  17. data/grammars/source.brs.json +1 -1
  18. data/grammars/source.bru.json +1 -0
  19. data/grammars/source.c++.json +1 -1
  20. data/grammars/source.c.calendar.json +1 -0
  21. data/grammars/source.c.json +1 -1
  22. data/grammars/source.c.linker.json +1 -1
  23. data/grammars/source.c3.json +1 -0
  24. data/grammars/source.cl.json +1 -1
  25. data/grammars/source.clue.json +1 -0
  26. data/grammars/source.cmake.json +1 -1
  27. data/grammars/source.cobol.json +1 -1
  28. data/grammars/source.cooklang.json +1 -0
  29. data/grammars/source.cs.json +1 -1
  30. data/grammars/source.curlrc.json +1 -1
  31. data/grammars/source.daslang.json +1 -0
  32. data/grammars/source.dds.dspf.json +1 -1
  33. data/grammars/source.dotenv.json +1 -1
  34. data/grammars/source.edgeql.json +1 -1
  35. data/grammars/source.erlang.json +1 -1
  36. data/grammars/source.flix.json +1 -0
  37. data/grammars/source.fsharp.json +1 -1
  38. data/grammars/source.gdscript.json +1 -1
  39. data/grammars/source.git-revlist.json +1 -1
  40. data/grammars/source.gitignore.json +1 -1
  41. data/grammars/source.gleam.json +1 -1
  42. data/grammars/source.harbour.json +1 -1
  43. data/grammars/source.httpspec.json +1 -1
  44. data/grammars/source.hx.json +1 -1
  45. data/grammars/source.ilecobol.json +1 -0
  46. data/grammars/source.inputrc.json +1 -1
  47. data/grammars/source.jai.json +1 -1
  48. data/grammars/source.jq.json +1 -1
  49. data/grammars/source.json.comments.json +1 -1
  50. data/grammars/source.julia.console.json +1 -1
  51. data/grammars/source.julia.json +1 -1
  52. data/grammars/source.just.json +1 -1
  53. data/grammars/source.koka.json +1 -0
  54. data/grammars/source.lean4.json +1 -1
  55. data/grammars/source.leo.json +1 -0
  56. data/grammars/source.livescript.json +1 -1
  57. data/grammars/source.luau.json +1 -1
  58. data/grammars/source.m2.json +1 -1
  59. data/grammars/source.m3u.json +1 -0
  60. data/grammars/source.mermaid.flowchart.json +1 -1
  61. data/grammars/source.mermaid.gantt.json +1 -1
  62. data/grammars/source.mermaid.json +1 -1
  63. data/grammars/source.mermaid.pie-chart.json +1 -1
  64. data/grammars/source.mermaid.quad-chart.json +1 -0
  65. data/grammars/source.mermaid.sankey.json +1 -0
  66. data/grammars/source.mermaid.timeline.json +1 -0
  67. data/grammars/source.mermaid.user-journey.json +1 -1
  68. data/grammars/source.mermaid.zenuml.json +1 -0
  69. data/grammars/source.moonbit.json +1 -1
  70. data/grammars/source.move.json +1 -1
  71. data/grammars/source.nasl.json +1 -1
  72. data/grammars/source.nginx.json +1 -1
  73. data/grammars/source.nickel.json +1 -0
  74. data/grammars/source.nim.json +1 -1
  75. data/grammars/source.nr.json +1 -1
  76. data/grammars/source.nushell.json +1 -1
  77. data/grammars/source.objc.json +1 -1
  78. data/grammars/source.odin-ehr.json +1 -1
  79. data/grammars/source.odin.json +1 -1
  80. data/grammars/source.openqasm.json +1 -0
  81. data/grammars/source.postscript.json +1 -1
  82. data/grammars/source.psl.json +1 -0
  83. data/grammars/source.quakec.json +1 -0
  84. data/grammars/source.record-jar.json +1 -1
  85. data/grammars/source.rescript.json +1 -1
  86. data/grammars/source.roc.json +1 -1
  87. data/grammars/source.rosmsg.json +1 -0
  88. data/grammars/source.rust.json +1 -1
  89. data/grammars/source.sail.json +1 -0
  90. data/grammars/source.sieve.json +1 -1
  91. data/grammars/source.slang.json +1 -1
  92. data/grammars/source.slint.json +1 -1
  93. data/grammars/source.smithy.json +1 -1
  94. data/grammars/source.soql.json +1 -1
  95. data/grammars/source.stan.json +1 -1
  96. data/grammars/source.sway.json +1 -1
  97. data/grammars/source.swift.json +1 -1
  98. data/grammars/source.tact.json +1 -1
  99. data/grammars/source.talon.json +1 -1
  100. data/grammars/source.templ.json +1 -1
  101. data/grammars/source.toc.json +1 -1
  102. data/grammars/source.torrc.json +1 -0
  103. data/grammars/source.typst.json +1 -1
  104. data/grammars/source.uplc.json +1 -0
  105. data/grammars/source.vba.json +1 -1
  106. data/grammars/source.vcl.json +1 -0
  107. data/grammars/source.vento.json +1 -0
  108. data/grammars/source.vhdl.json +1 -1
  109. data/grammars/source.vue.json +1 -1
  110. data/grammars/source.wdl.json +1 -1
  111. data/grammars/source.wesl.json +1 -0
  112. data/grammars/source.wgsl.json +1 -1
  113. data/grammars/source.wit.json +1 -1
  114. data/grammars/source.zmodel.json +1 -0
  115. data/grammars/text.adblock.json +1 -1
  116. data/grammars/text.codeowners.json +1 -1
  117. data/grammars/text.html.jte.json +1 -1
  118. data/grammars/text.html.liquid.json +1 -1
  119. data/grammars/text.html.vento.json +1 -0
  120. data/grammars/text.jira.json +1 -0
  121. data/grammars/text.marko.json +1 -1
  122. data/grammars/text.slim.json +1 -1
  123. data/grammars/text.srt.json +1 -1
  124. data/grammars/text.valve-cfg.json +1 -1
  125. data/grammars/text.xml.svg.json +1 -1
  126. data/grammars/version +1 -1
  127. data/lib/linguist/VERSION +1 -1
  128. data/lib/linguist/generated.rb +28 -6
  129. data/lib/linguist/generic.yml +2 -0
  130. data/lib/linguist/heuristics.yml +47 -9
  131. data/lib/linguist/instrumenter.rb +19 -0
  132. data/lib/linguist/languages.json +1 -1
  133. data/lib/linguist/languages.yml +327 -102
  134. data/lib/linguist/samples.json +1 -1
  135. data/lib/linguist.rb +1 -0
  136. metadata +39 -12
  137. data/grammars/source.c.platform.json +0 -1
  138. data/grammars/source.varnish.vcl.json +0 -1
@@ -1 +1 @@
1
- {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#metadata"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"name":"constant.other.vba","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\\n","patterns":[{"name":"comment.line.quote","match":"\\'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"begin":"(?i:\\b(Call|Function|Sub) )","end":"\\(|(?=\\n)","patterns":[{"name":"entity.name.function.vba","match":"(?i:\\b([a-zA-Z][a-zA-Z0-9_]*)\\b)"}],"beginCaptures":{"1":{"name":"keyword.other.vba"}}},"keywords":{"patterns":[{"name":"keyword.conditional.vba","match":"(?i:\\b(Do( While| Until)?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vba","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop( While| Until)?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vba","match":"(?i:\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.io.vba","match":"(?i:\\b(Open|Close|Line Input|Lock|Unlock|Print|Seek|Get|Put|Write)\\b)"},{"name":"keyword.io.vba","match":"(?i:\\b(Input)(?= \\#))"},{"name":"keyword.other.vba","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Const|Function|Property|Sub|Type|Enum)|Declare|PtrSafe|WithEvents|Event|RaiseEvent|Implements)\\b)"},{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text)|Explicit|Private Module)\\b"},{"name":"keyword.other.visibility.vba","match":"(?i:\\b(Private|Public|Global|Friend)\\b)"},{"name":"constant.language.vba","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"metadata":{"name":"metadata.vba","begin":"(?i)^\\s*(BEGIN)\\b","end":"(?i)^\\s*(END)\\b","patterns":[{"include":"source.vba"}],"beginCaptures":{"1":{"name":"keyword.metadata.vba"}},"endCaptures":{"0":{"name":"keyword.metadata.vba"}}},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)\\#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|\\/)[0-9]{1,2}((-|\\/)[0-9]{1,4})?\\#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vba","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase|Static)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double","match":"\\\"[^\\n\\r\\\"]*\""}]},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long(Long|Ptr)?|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"support.type"}}}]}}}
1
+ {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#metadata"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"name":"constant.other.vba","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\\n","patterns":[{"name":"comment.line.quote","match":"\\'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"begin":"(?i:\\b(Call|Function|Sub) )","end":"\\(|(?=\\n)","patterns":[{"name":"entity.name.function.vba","match":"(?i:\\b([a-zA-Z][a-zA-Z0-9_]*)\\b)"}],"beginCaptures":{"1":{"name":"keyword.other.vba"}}},"keywords":{"patterns":[{"name":"keyword.conditional.vba","match":"(?i:\\b(Do( While| Until)?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vba","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop( While| Until)?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vba","match":"(?i:\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.io.vba","match":"(?i:\\b(Open|Close|Line Input|Lock|Unlock|Print|Seek|Get|Put|Write)\\b)"},{"name":"keyword.io.vba","match":"(?i:\\b(Input)(?= \\#))"},{"name":"keyword.other.vba","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Const|Function|Property|Sub|Type|Enum)|Declare|PtrSafe|WithEvents|Event|RaiseEvent|Implements)\\b)"},{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text|Database)|Explicit|Private Module)\\b"},{"name":"keyword.other.deftype.vba","match":"(?i)\\b(DefBool|DefByte|DefInt|DefLng|DefLngLng|DefLngPtr|DefCur|DefSng|DefDbl|DefDec|DefDate|DefStr|DefObj|DefVar)\\b"},{"name":"keyword.other.visibility.vba","match":"(?i:\\b(Private|Public|Global|Friend)\\b)"},{"name":"constant.language.vba","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"metadata":{"name":"metadata.vba","begin":"(?i)^\\s*(BEGIN)\\b","end":"(?i)^\\s*(END)\\b","patterns":[{"include":"source.vba"}],"beginCaptures":{"1":{"name":"keyword.metadata.vba"}},"endCaptures":{"0":{"name":"keyword.metadata.vba"}}},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)\\#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|\\/)[0-9]{1,2}((-|\\/)[0-9]{1,4})?\\#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vba","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase|Static)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double","match":"\\\"[^\\n\\r\\\"]*\""}]},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long(Long|Ptr)?|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"support.type"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Varnish Configuration Language","scopeName":"source.vcl","patterns":[{"include":"#macros"},{"include":"#comments"},{"include":"#constants"},{"include":"#functions"},{"include":"#keywords"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"repository":{"comments":{"patterns":[{"name":"comment.line.number-sign.vcl","match":"#.*"},{"name":"comment.line.double-slash.vcl","match":"//.*"},{"name":"comment.line.block.vcl","begin":"/\\*","end":"\\*/"}]},"constants":{"patterns":[{"name":"constant.numeric.vcl","match":"\\b-?[0-9]+(\\.[0-9])?\\s*(ms|s|m|h|d|w|y)\\b"},{"name":"constant.numeric.vcl","match":"\\b-?[0-9]+(\\.[0-9])?\\s*%"},{"name":"constant.numeric.vcl","match":"\\b-?[0-9]+(\\.[0-9])?(e[+-]?[0-9]+)?\\b"},{"name":"constant.numeric.vcl","match":"\\b-?0x[0-9A-Fa-f]+(\\.[0-9A-Fa-f]+)?(p[+-]?[0-9]+)?\\b\\b"},{"name":"constant.language.vcl","match":"\\b(always|false|true)\\b"}]},"functions":{"patterns":[{"name":"entity.name.function.vcl","match":"\\b(accept\\.charset_lookup|accept\\.encoding_lookup|accept\\.language_filter_basic|accept\\.language_lookup|accept\\.media_lookup)\\b"},{"name":"entity.name.function.vcl","match":"\\b(bin\\.base64_to_hex|bin\\.hex_to_base64|crypto\\.decrypt_base64|crypto\\.decrypt_hex|crypto\\.encrypt_base64|crypto\\.encrypt_hex|digest\\.awsv4_hmac|digest\\.base64_decode|digest\\.base64|digest\\.base64url_decode|digest\\.base64url_nopad|digest\\.base64url_nopad_decode|digest\\.base64url|digest\\.ecdsa_verify|digest\\.hash_crc32|digest\\.hash_crc32b|digest\\.hash_md5|digest\\.hash_sha1_from_base64|digest\\.hash_sha1|digest\\.hash_sha224|digest\\.hash_sha256_from_base64|digest\\.hash_sha256|digest\\.hash_sha384|digest\\.hash_sha512_from_base64|digest\\.hash_sha512|digest\\.hmac_md5_base64|digest\\.hmac_md5|digest\\.hmac_sha1_base64|digest\\.hmac_sha1|digest\\.hmac_sha256_base64|digest\\.hmac_sha256|digest\\.hmac_sha512_base64|digest\\.hmac_sha512|digest\\.rsa_verify|digest\\.secure_is_equal|digest\\.time_hmac_md5|digest\\.time_hmac_sha1|digest\\.time_hmac_sha256|digest\\.time_hmac_sha512)\\b"},{"name":"entity.name.function.vcl","match":"\\b(parse_time_delta|std\\.integer2time|std\\.time|strftime|time\\.add|time\\.hex_to_time|time\\.is_after|time\\.runits|time\\.sub|time\\.units)\\b"},{"name":"entity.name.function.vcl","match":"\\b(math\\.is_finite|math\\.is_infinite|math\\.is_nan|math\\.is_normal|math\\.is_subnormal)\\b"},{"name":"entity.name.function.vcl","match":"\\b(math\\.exp|math\\.exp2|math\\.log10|math\\.log2|math\\.log)\\b"},{"name":"entity.name.function.vcl","match":"\\b(math\\.ceil|math\\.floor|math\\.roundeven|math\\.roundhalfdown|math\\.roundhalfup|math\\.round|math\\.trunc)\\b"},{"name":"entity.name.function.vcl","match":"\\b(math\\.acosh|math\\.acos|math\\.asinh|math\\.asin|math\\.atan2|math\\.atanh|math\\.atan|math\\.cosh|math\\.cos|math\\.sinh|math\\.sin|math\\.sqrt|math\\.tanh|math\\.tan)\\b"},{"name":"entity.name.function.vcl","match":"\\b(addr\\.extract_bits|addr\\.is_ipv4|addr\\.is_ipv6|fastly\\.hash|fastly\\.try_select_shield|http_status_matches|resp\\.tarpit|setcookie\\.delete_by_name|setcookie\\.get_value_by_name|std\\.collect|std\\.count|std\\.strcasecmp|subfield)\\b"},{"name":"entity.name.function.vcl","match":"\\b(boltsort\\.sort|querystring\\.add|querystring\\.clean|querystring\\.filter_except|querystring\\.filter|querystring\\.filtersep|querystring\\.get|querystring\\.globfilter_except|querystring\\.globfilter|querystring\\.regfilter_except|querystring\\.regfilter|querystring\\.remove|querystring\\.set|querystring\\.sort)\\b"},{"name":"entity.name.function.vcl","match":"\\b(randombool_seeded|randombool|randomint_seeded|randomint|randomstr)\\b"},{"name":"entity.name.function.vcl","match":"\\b(ratelimit\\.check_rates|ratelimit\\.check_rate|ratelimit\\.penaltybox_add|ratelimit\\.penaltybox_has|ratelimit\\.ratecounter_increment)\\b"},{"name":"entity.name.function.vcl","match":"\\b(cstr_escape|json\\.escape|regsub|regsuball|std\\.anystr2ip|std\\.atof|std\\.atoi|std\\.basename|std\\.dirname|std\\.ip2str|std\\.ip|std\\.itoa|std\\.itoa_charset|std\\.prefixof|std\\.replace|std\\.replace_prefix|std\\.replace_suffix|std\\.replaceall|std\\.str2ip|std\\.strlen|std\\.strpad|std\\.strrep|std\\.strrev|std\\.strstr|std\\.strtof|std\\.strtol|std\\.suffixof|std\\.tolower|std\\.toupper|substr|urldecode|urlencode|utf8\\.codepoint_count|utf8\\.is_valid|utf8\\.strpad|utf8\\.substr|xml_escape)\\b"},{"name":"entity.name.function.vcl","match":"\\b(early_hints|h2\\.disable_header_compression|h2\\.push|h3\\.alt_svc)\\b"},{"name":"entity.name.function.vcl","match":"\\b(table\\.contains|table\\.lookup_acl|table\\.lookup_backend|table\\.lookup_bool|table\\.lookup_float|table\\.lookup_integer|table\\.lookup_ip|table\\.lookup_rtime|table\\.lookup)\\b"},{"name":"entity.name.function.vcl","match":"\\b(uuid\\.dns|uuid\\.is_valid|uuid\\.is_version3|uuid\\.is_version4|uuid\\.is_version5|uuid\\.is_version7|uuid\\.oid|uuid\\.url|uuid\\.version3|uuid\\.version4|uuid\\.version5|uuid\\.version7|uuid\\.x500)\\b"},{"name":"support.variable.vcl","match":"\\b(re\\.group\\.[0-9])\\b"},{"name":"support.variable.vcl","match":"\\b(backend\\.conn\\.is_tls|backend\\.conn\\.tls_protocol|backend\\.socket\\.congestion_algorithm|backend\\.socket\\.cwnd|backend\\.socket\\.tcpi_advmss|backend\\.socket\\.tcpi_bytes_acked|backend\\.socket\\.tcpi_bytes_received|backend\\.socket\\.tcpi_data_segs_in|backend\\.socket\\.tcpi_data_segs_out|backend\\.socket\\.tcpi_delivery_rate|backend\\.socket\\.tcpi_delta_retrans|backend\\.socket\\.tcpi_last_data_sent|backend\\.socket\\.tcpi_max_pacing_rate|backend\\.socket\\.tcpi_min_rtt|backend\\.socket\\.tcpi_notsent_bytes|backend\\.socket\\.tcpi_pacing_rate|backend\\.socket\\.tcpi_pmtu|backend\\.socket\\.tcpi_rcv_mss|backend\\.socket\\.tcpi_rcv_rtt|backend\\.socket\\.tcpi_rcv_space|backend\\.socket\\.tcpi_rcv_ssthresh|backend\\.socket\\.tcpi_reordering|backend\\.socket\\.tcpi_rtt|backend\\.socket\\.tcpi_rttvar|backend\\.socket\\.tcpi_segs_in|backend\\.socket\\.tcpi_segs_out|backend\\.socket\\.tcpi_snd_cwnd|backend\\.socket\\.tcpi_snd_mss|backend\\.socket\\.tcpi_snd_ssthresh|backend\\.socket\\.tcpi_total_retrans|backend\\.{NAME}\\.connections_open|backend\\.{NAME}\\.connections_used|backend\\.{NAME}\\.healthy|bereq\\.between_bytes_timeout|bereq\\.connect_timeout|bereq\\.first_byte_timeout|beresp\\.backend\\.alternate_ips|beresp\\.backend\\.ip|beresp\\.backend\\.port|beresp\\.backend\\.requests|beresp\\.backend\\.src_ip|beresp\\.handshake_time_to_origin_ms|beresp\\.used_alternate_path_to_origin|req\\.backend\\.healthy|req\\.backend.ip|req\\.backend\\.is_origin|req\\.backend\\.is_shield|req\\.backend)\\b"},{"name":"support.variable.vcl","match":"\\b(bereq\\.body_bytes_written|bereq\\.bytes_written|bereq\\.header_bytes_written|bereq\\.is_clustering|bereq\\.method|bereq\\.proto|bereq\\.request|bereq\\.url\\.basename|bereq\\.url\\.dirname|bereq\\.url\\.ext|bereq\\.url\\.path|bereq\\.url\\.qs|bereq\\.url)\\b"},{"name":"support.variable.vcl","match":"\\b(beresp\\.backend\\.name|beresp\\.brotli|beresp\\.cacheable|beresp\\.do_stream|beresp\\.grace|beresp\\.gzip|beresp\\.hipaa|beresp\\.pci|beresp\\.proto|beresp\\.response|beresp\\.saintmode|beresp\\.stale_if_error|beresp\\.stale_while_revalidate|beresp\\.status|beresp\\.ttl)\\b"},{"name":"support.variable.vcl","match":"\\b(obj\\.age|obj\\.cacheable|obj\\.entered|obj\\.grace|obj\\.hits|obj\\.is_pci|obj\\.lastuse|obj\\.proto|obj\\.response|obj\\.stale_if_error|obj\\.stale_while_revalidate|obj\\.status|obj\\.ttl|req\\.digest\\.ratio|req\\.digest|req\\.hash|stale\\.exists)\\b"},{"name":"support.variable.vcl","match":"\\b(client\\.as\\.name|client\\.as\\.number|client\\.identity|client\\.ip|client\\.port|client\\.requests|client\\.socket\\.congestion_algorithm|client\\.socket\\.cwnd|client\\.socket\\.nexthop|client\\.socket\\.pace|client\\.socket\\.ploss|client\\.socket\\.tcp_info|client\\.socket\\.tcpi_advmss|client\\.socket\\.tcpi_bytes_acked|client\\.socket\\.tcpi_bytes_received|client\\.socket\\.tcpi_data_segs_in|client\\.socket\\.tcpi_data_segs_out|client\\.socket\\.tcpi_delivery_rate|client\\.socket\\.tcpi_delta_retrans|client\\.socket\\.tcpi_last_data_sent|client\\.socket\\.tcpi_max_pacing_rate|client\\.socket\\.tcpi_min_rtt|client\\.socket\\.tcpi_notsent_bytes|client\\.socket\\.tcpi_pacing_rate|client\\.socket\\.tcpi_pmtu|client\\.socket\\.tcpi_rcv_mss|client\\.socket\\.tcpi_rcv_rtt|client\\.socket\\.tcpi_rcv_space|client\\.socket\\.tcpi_rcv_ssthresh|client\\.socket\\.tcpi_reordering|client\\.socket\\.tcpi_rtt|client\\.socket\\.tcpi_rttvar|client\\.socket\\.tcpi_segs_in|client\\.socket\\.tcpi_segs_out|client\\.socket\\.tcpi_snd_cwnd|client\\.socket\\.tcpi_snd_mss|client\\.socket\\.tcpi_snd_ssthresh|client\\.socket\\.tcpi_total_retrans|fastly_info\\.edge\\.is_tls|fastly_info\\.h2\\.stream_id|fastly_info\\.is_h2|fastly_info\\.is_h3|quic\\.cc\\.cwnd|quic\\.cc\\.ssthresh|quic\\.num_bytes\\.received|quic\\.num_bytes\\.sent|quic\\.num_packets\\.ack_received|quic\\.num_packets\\.decryption_failed|quic\\.num_packets\\.late_acked|quic\\.num_packets\\.lost|quic\\.num_packets\\.received|quic\\.num_packets\\.sent|quic\\.rtt\\.latest|quic\\.rtt\\.minimum|quic\\.rtt\\.smoothed|quic\\.rtt\\.variance|req\\.is_ipv6|req\\.is_ssl|req\\.protocol|tls\\.client\\.cipher|tls\\.client\\.ciphers_list|tls\\.client\\.ciphers_list_sha|tls\\.client\\.ciphers_list_txt|tls\\.client\\.ciphers_sha|tls\\.client\\.handshake_sent_bytes|tls\\.client\\.iana_chosen_cipher_id|tls\\.client\\.ja3_md5|tls\\.client\\.protocol|tls\\.client\\.servername|tls\\.client\\.tlsexts_list|tls\\.client\\.tlsexts_list_sha|tls\\.client\\.tlsexts_list_txt|tls\\.client\\.tlsexts_sha|transport\\.bw_estimate|transport\\.type)\\b"},{"name":"support.variable.vcl","match":"\\b(client\\.bot\\.name|client\\.browser\\.name|client\\.browser\\.version|client\\.class\\.bot|client\\.class\\.browser|client\\.class\\.checker|client\\.class\\.downloader|client\\.class\\.feedreader|client\\.class\\.filter|client\\.class\\.masquerading|client\\.class\\.spam|client\\.display\\.height|client\\.display\\.ppi|client\\.display\\.touchscreen|client\\.display\\.width|client\\.identified|client\\.os\\.name|client\\.os\\.version|client\\.platform\\.ereader|client\\.platform\\.gameconsole|client\\.platform\\.hwtype|client\\.platform\\.mediaplayer|client\\.platform\\.mobile|client\\.platform\\.smarttv|client\\.platform\\.tablet|client\\.platform\\.tvplayer|fastly_info\\.h2\\.is_push|fastly_info\\.host_header|req\\.body\\.base64|req\\.body_bytes_read|req\\.body|req\\.bytes_read|req\\.enable_range_on_pass|req\\.enable_segmented_caching|req\\.hash_always_miss|req\\.hash_ignore_busy|req\\.header_bytes_read|req\\.is_background_fetch|req\\.is_purge|req\\.method|req\\.postbody|req\\.proto|req\\.request|req\\.url\\.basename|req\\.url\\.dirname|req\\.url\\.ext|req\\.url\\.path|req\\.url\\.qs|req\\.url|req\\.xid|time\\.elapsed\\.msec|time\\.elapsed\\.msec_frac|time\\.elapsed\\.sec|time\\.elapsed\\.usec|time\\.elapsed\\.usec_frac|time\\.elapsed|time\\.end\\.msec|time\\.end\\.msec_frac|time\\.end\\.sec|time\\.end\\.usec|time\\.end\\.usec_frac|time\\.end|time\\.interval_elapsed_ratio|time\\.start\\.msec|time\\.start\\.msec_frac|time\\.start\\.sec|time\\.start\\.usec|time\\.start\\.usec_frac|time\\.start)\\b"},{"name":"support.variable.vcl","match":"\\b(resp\\.body_bytes_written|resp\\.bytes_written|resp\\.completed|resp\\.header_bytes_written|resp\\.is_locally_generated|resp\\.proto|resp\\.response|resp\\.status|time\\.to_first_byte)\\b"},{"name":"support.variable.vcl","match":"\\b(beresp\\.do_esi|esi\\.allow_inside_cdata|req\\.esi_level|req\\.esi|req\\.is_esi_subreq|req\\.topurl)\\b"},{"name":"support.variable.vcl","match":"\\b(client\\.geo\\.area_code|client\\.geo\\.city\\.ascii|client\\.geo\\.city\\.latin1|client\\.geo\\.city\\.utf8|client\\.geo\\.city|client\\.geo\\.conn_speed|client\\.geo\\.conn_type|client\\.geo\\.continent_code|client\\.geo\\.country_code3|client\\.geo\\.country_code|client\\.geo\\.country_name\\.ascii|client\\.geo\\.country_name\\.latin1|client\\.geo\\.country_name\\.utf8|client\\.geo\\.country_name|client\\.geo\\.gmt_offset|client\\.geo\\.ip_override|client\\.geo\\.latitude|client\\.geo\\.longitude|client\\.geo\\.metro_code|client\\.geo\\.postal_code|client\\.geo\\.proxy_description|client\\.geo\\.proxy_type|client\\.geo\\.region\\.ascii|client\\.geo\\.region\\.latin1|client\\.geo\\.region\\.utf8|client\\.geo\\.region|client\\.geo\\.utc_offset)\\b"},{"name":"support.variable.vcl","match":"\\b(math\\.1_PI|math\\.2PI|math\\.2_PI|math\\.2_SQRTPI|math\\.E|math\\.FLOAT_DIG|math\\.FLOAT_EPSILON|math\\.FLOAT_MANT_DIG|math\\.FLOAT_MAX_10_EXP|math\\.FLOAT_MAX_EXP|math\\.FLOAT_MAX|math\\.FLOAT_MIN_10_EXP|math\\.FLOAT_MIN_EXP|math\\.FLOAT_MIN|math\\.FLOAT_RADIX|math\\.INTEGER_BIT|math\\.INTEGER_MAX|math\\.INTEGER_MIN|math\\.LN10|math\\.LN2|math\\.LOG10E|math\\.LOG2E|math\\.NAN|math\\.NEG_HUGE_VAL|math\\.NEG_INFINITY|math\\.PHI|math\\.PI_2|math\\.PI_4|math\\.PI|math\\.POS_HUGE_VAL|math\\.POS_INFINITY|math\\.SQRT1_2|math\\.SQRT2|math\\.TAU)\\b"},{"name":"support.variable.vcl","match":"\\b(fastly\\.error|fastly\\.ff\\.visits_this_pop_this_service|fastly\\.ff\\.visits_this_service|fastly_info\\.state|req\\.backend\\.ip|req\\.backend\\.name|req\\.backend\\.port|req\\.service_id|req\\.vcl\\.generation|req\\.vcl\\.md5|req\\.vcl\\.version|req\\.vcl|resp\\.stale\\.is_error|resp\\.stale\\.is_revalidating|resp\\.stale|workspace\\.bytes_free|workspace\\.bytes_total|workspace\\.overflowed)\\b"},{"name":"support.variable.vcl","match":"\\b(backend|director)\\.[^.]+\\.healthy\\b"},{"name":"support.variable.vcl","match":"\\b(ratecounter)\\.[^.]+\\.(bucket\\.10s|bucket\\.20s|bucket\\.30s|bucket\\.40s|bucket\\.50s|bucket\\.60s|rate\\.10s|rate\\.1s|rate\\.60s)\\b"},{"name":"support.variable.vcl","match":"\\b(segmented_caching\\.autopurged|segmented_caching\\.block_number|segmented_caching\\.block_size|segmented_caching\\.cancelled|segmented_caching\\.client_req\\.is_open_ended|segmented_caching\\.client_req\\.is_range|segmented_caching\\.client_req\\.range_high|segmented_caching\\.client_req\\.range_low|segmented_caching\\.completed|segmented_caching\\.error|segmented_caching\\.failed|segmented_caching\\.is_inner_req|segmented_caching\\.is_outer_req|segmented_caching\\.obj\\.complete_length|segmented_caching\\.rounded_req\\.range_high|segmented_caching\\.rounded_req\\.range_low|segmented_caching\\.total_blocks)\\b"},{"name":"support.variable.vcl","match":"\\b(req\\.grace|req\\.is_clustering|req\\.max_stale_if_error|req\\.max_stale_while_revalidate|req\\.restarts|server\\.datacenter|server\\.hostname|server\\.identity|server\\.ip|server\\.port|server\\.region)\\b"},{"name":"support.variable.vcl","match":"\\b(waf\\.anomaly_score|waf\\.blocked|waf\\.counter|waf\\.executed|waf\\.failures|waf\\.http_violation_score|waf\\.inbound_anomaly_score|waf\\.lfi_score|waf\\.logdata|waf\\.logged|waf\\.message|waf\\.passed|waf\\.php_injection_score|waf\\.rce_score|waf\\.rfi_score|waf\\.rule_id|waf\\.session_fixation_score|waf\\.severity|waf\\.sql_injection_score|waf\\.xss_score)\\b"},{"name":"support.variable.vcl","match":"\\b(header\\.filter_except|header\\.filter|header\\.get|header\\.set|header\\.unset)\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.vcl","match":"\\b(else|elseif|elsif|error|if)\\b"},{"name":"meta.function.vcl","begin":"^\\s*(sub)\\s+([a-zA-Z_0-9]+)","end":"{","beginCaptures":{"1":{"name":"keyword.control.vcl"},"2":{"name":"entity.name.function.vcl"}}},{"name":"meta.function.vcl","begin":"^\\s*(return)\\s*\\((deliver_stale|deliver|fetch|hash|hit_for_pass|lookup|pass)\\s*\\)","end":";","beginCaptures":{"1":{"name":"keyword.control.vcl"},"2":{"name":"entity.name.function.vcl"}}},{"name":"keyword.other.vcl","match":"\\b(acl|backend|director|penaltybox|ratecounter|table)\\b"},{"name":"keyword.other.vcl","match":"\\b(add|declare local|error|esi|include|log|remove|restart|return|set|synthetic\\.base64|synthetic|unset)\\b"},{"name":"meta.function.vcl","begin":"^\\s*(call)\\s+([a-zA-Z_0-9]+)","end":";","beginCaptures":{"1":{"name":"keyword.control.vcl"},"2":{"name":"entity.name.function.vcl"}}},{"name":"keyword.operator.vcl","match":"(!|=|==|!=|\u003e=|\u003c=|\u003e|\u003c|~|!~|\\|\\||\u0026\u0026|[+*/%\u0026^|-]=|rol=|ror=|\\|\\|=|\\+)"}]},"macros":{"patterns":[{"name":"keyword.control.vcl","match":"^\\s*#FASTLY\\s+(deliver|error|fetch|hash|hit|log|miss|pass|recv)\\s*$"}]},"strings":{"patterns":[{"name":"string.quoted.double.vcl","begin":"{([a-z]+)?\"","end":"\"\\1}","patterns":[{"name":"constant.character.escape.vcl","match":"\\\\."}]},{"name":"string.quoted.double.vcl","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.vcl","match":"\\\\."}]},{"name":"string.quoted.double.vcl","match":"\\bLF\\b"}]},"types":{"patterns":[{"name":"entity.name.type.vcl","match":"\\b(ACL|BACKEND|BOOL|FLOAT|ID|INTEGER|IP|RTIME|STRING|TIME)\\b"},{"name":"storage.type.vcl","match":"\\b(chash|client|fallback|hash|random)\\b"}]},"variables":{"patterns":[{"name":"variable.other.vcl","match":"\\b(bereq|beresp|obj|req|resp)\\.http\\.[a-zA-Z0-9_.-]+(:[a-zA-Z0-9_.-]+)?"},{"name":"variable.other.vcl","match":"\\b(var)\\.[a-zA-Z0-9_-]+"},{"name":"variable.other.vcl","match":"\\bF_[a-zA-Z0-9_-]+"},{"name":"support.other.vcl","match":"\\.(address|always_use_host_header|auto_loadbalance|backend|between_bytes_timeout|bypass_local_route_table|client_cert|comment|connect_timeout|dynamic|first_byte_timeout|healthcheck|hostname|host_header|host|ipv4|ipv6|is_shield|max_connections|max_tls_version|min_tls_version|name|override_host|port|probe|share_key|ssl_ca_cert|ssl_cert_hostname|ssl_check_cert|ssl_cipehers|ssl_client_cert|ssl_client_key|ssl_sni_hostname|ssl|use_ssl|weight)"},{"name":"support.other.vcl","match":"\\.(dummy|expected_response|initial|interval|request|timeout|threshold|window)"},{"name":"support.other.vcl","match":"\\.(id|key|quorum|seed|retries|vnodes_per_node)"},{"name":"support.variable.vcl","match":"\\b(now\\.sec|now)\\b"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Vento","scopeName":"source.vento","patterns":[{"name":"comment.block.vento","begin":"{{#","end":"#}}"},{"include":"#js_code"},{"include":"#template_tag"},{"include":"#front_matter"},{"name":"html.vento","include":"text.html.basic"}],"repository":{"front_matter":{"name":"meta.embedded.block.yaml","contentName":"source.yaml","begin":"^---[a-zA-Z0-9_-]*\\s*\\n","end":"---\\s*\\n","patterns":[{"include":"source.yaml"}]},"js_code":{"name":"meta.embedded.block.javascript","contentName":"source.js","begin":"{{(-)?\u003e","end":"(-)?}}","patterns":[{"include":"source.js"}]},"template_keyword":{"name":"keyword.vento","match":"\\b(for|of|if|else\\s+if|else|include|set|layout|echo|function|async\\s+function|import|from|export|await|continue|break|slot)\\b"},"template_tag":{"name":"punctuation.definition.tag.vento","contentName":"source.js","begin":"{{(-)?","end":"(-)?}}","patterns":[{"include":"#template_keyword"},{"include":"source.js"}]}},"injections":{"L:string - (string.quoted.*.html)":{"patterns":[{"include":"source.vento"}]}}}
@@ -1 +1 @@
1
- {"name":"VHDL","scopeName":"source.vhdl","patterns":[{"include":"#block_processing"},{"include":"#cleanup"}],"repository":{"architecture_pattern":{"patterns":[{"name":"meta.block.architecture","begin":"(?x)\n\n\t\t\t\t\t\t# The word architecture $1\n\t\t\t\t\t\t\\b((?i:architecture))\\s+\n\t\t\t\t\t\t\n\t\t\t\t\t\t# Followed up by a valid $3 or invalid identifier $4\n\t\t\t\t\t\t(([a-zA-z][a-zA-z0-9_]*)|(.+))(?=\\s)\\s+\n\n\t\t\t\t\t\t# The word of $5\n\t\t\t\t\t\t((?i:of))\\s+\n\n\t\t\t\t\t\t# Followed by a valid $7 or invalid identifier $8\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))(?=\\s*(?i:is))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\n\n\t\t\t\t\t\t# Optional word architecture $3\n\t\t\t\t\t\t(\\s+((?i:architecture)))?\n\n\t\t\t\t\t\t# Optional same identifier $6 or illegal identifier $7\n\t\t\t\t\t\t(\\s+((\\3)|(.+?)))?\n\n\t\t\t\t\t\t# This will cause the previous to capture until just before the ; or $\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#function_definition_pattern"},{"include":"#procedure_definition_pattern"},{"include":"#component_pattern"},{"include":"#if_pattern"},{"include":"#process_pattern"},{"include":"#type_pattern"},{"include":"#record_pattern"},{"include":"#for_pattern"},{"include":"#entity_instantiation_pattern"},{"include":"#component_instantiation_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.architecture.vhdl"},"3":{"name":"entity.name.type.architecture.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.control.of.vhdl"},"7":{"name":"entity.name.type.entity.reference.vhdl"},"8":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.architecture.vhdl"},"6":{"name":"entity.name.type.architecture.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"attribute_list":{"patterns":[{"name":"meta.block.attribute_list","begin":"'\\(","end":"\\)","patterns":[{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"punctuation.definition.attribute_list.begin.vhdl"}},"endCaptures":{"0":{"name":"punctuation.definition.attribute_list.end.vhdl"}}}]},"block_processing":{"patterns":[{"include":"#package_pattern"},{"include":"#package_body_pattern"},{"include":"#entity_pattern"},{"include":"#architecture_pattern"}]},"case_pattern":{"patterns":[{"name":"meta.block.case.vhdl","begin":"(?x)\n\t\t\t\t\t\t# Beginning of line ...\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# Optional identifier ... $3 or invalid identifier $4\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t ([a-zA-Z][a-zA-Z0-9_]*)\n\t\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\\s*:\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# The word case $5\n\t\t\t\t\t\t\\b((?i:case))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\\s*\n\n\t\t\t\t\t\t# The word case $4 or invalid word $5\n\t\t\t\t\t\t(\\s+(((?i:case))|(.*?)))\n\n\t\t\t\t\t\t# Optional identifier from before $8 or illegal $9\n\t\t\t\t\t\t(\\s+((\\2)|(.*?)))?\n\n\t\t\t\t\t\t# Ending with a semicolon\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}],"beginCaptures":{"3":{"name":"entity.name.tag.case.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.control.case.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"4":{"name":"keyword.control.case.vhdl"},"5":{"name":"invalid.illegal.case.required.vhdl"},"8":{"name":"entity.name.tag.case.end.vhdl"},"9":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"cleanup":{"patterns":[{"include":"#comments"},{"include":"#constants_numeric"},{"include":"#strings"},{"include":"#attribute_list"},{"include":"#syntax_highlighting"}]},"comments":{"patterns":[{"begin":"(^[ \\t]+)?(?=--)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-dash.vhdl","begin":"--","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.vhdl"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.vhdl"}}}]},"component_instantiation_pattern":{"patterns":[{"name":"meta.block.component_instantiation.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line ...\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# Match a valid identifier $1\n\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t# Colon! $2\n\t\t\t\t\t\t\\s*(:)\\s*\n\n\t\t\t\t\t\t# Another valid identifier $3\n\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\\b\n\n\t\t\t\t\t\t# Make sure we are just the other word, or the beginning of\n\t\t\t\t\t\t# a generic or port mapping\n\t\t\t\t\t\t(?=\\s*($|generic|port))\n\t\t\t\t\t","end":";","patterns":[{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"entity.name.section.component_instantiation.vhdl"},"2":{"name":"punctuation.separator.vhdl"},"3":{"name":"entity.name.tag.component.reference.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"component_pattern":{"patterns":[{"name":"meta.block.component.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line ...\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word component $1\n\t\t\t\t\t\t\\b((?i:component))\\s+\n\n\t\t\t\t\t\t# A valid identifier $3 or invalid identifier $4\n\t\t\t\t\t\t(([a-zA-Z_][a-zA-Z0-9_]*)\\s*|(.+?))(?=\\b(?i:is|port)\\b|$|--)\n\n\t\t\t\t\t\t# Optional word is $6\n\t\t\t\t\t\t(\\b((?i:is\\b)))?\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?:end))\\s+\n\n\t\t\t\t\t\t# The word component $3 or illegal word $4\n\t\t\t\t\t\t(((?i:component\\b))|(.+?))(?=\\s*|;)\n\t\t\t\t\t\t\n\t\t\t\t\t\t# Optional identifier $7 or illegal mismatched $8\n\t\t\t\t\t\t(\\s+((\\3)|(.+?)))?(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#generic_list_pattern"},{"include":"#port_list_pattern"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.type.component.vhdl"},"3":{"name":"entity.name.type.component.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"6":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.component.vhdl"},"4":{"name":"invalid.illegal.component.keyword.required.vhdl"},"7":{"name":"entity.name.type.component.end.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"constants_numeric":{"patterns":[{"name":"constant.numeric.floating_point.vhdl","match":"\\b([+\\-]?[\\d_]+\\.[\\d_]+([eE][+\\-]?[\\d_]+)?)\\b"},{"name":"constant.numeric.base_pound_number_pound.vhdl","match":"\\b\\d+#[0-9A-Fa-f_]+#"},{"name":"constant.numeric.integer.vhdl","match":"\\b[\\d_]+([eE][\\d_]+)?\\b"},{"name":"constant.numeric.quoted.double.string.hex.vhdl","match":"[xX]\"[0-9a-fA-F_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.octal.vhdl","match":"[oO]\"[0-7_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.binary.vhdl","match":"[bB]?\"[01_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.illegal.vhdl","match":"([bBoOxX]\".+?\")","captures":{"1":{"name":"invalid.illegal.quoted.double.string.vhdl"}}},{"name":"constant.numeric.quoted.single.std_logic","match":"'[01uUxXzZwWlLhH\\-]'"}]},"control_patterns":{"patterns":[{"include":"#case_pattern"},{"include":"#if_pattern"},{"include":"#for_pattern"},{"include":"#while_pattern"}]},"entity_instantiation_pattern":{"patterns":[{"name":"meta.block.entity_instantiation.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# Component identifier or illegal identifier $1\n\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t# Colon! $2\n\t\t\t\t\t\t\\s*(:)\\s*\n\n\t\t\t\t\t\t# Optional word use $4\n\t\t\t\t\t\t(((?i:use))\\s+)?\n\n\t\t\t\t\t\t# Required word entity $5\n\t\t\t\t\t\t((?i:entity))\\s+\n\n\t\t\t\t\t\t# Optional library unit identifier $8 for invalid identifier $9 followed by a dot $10\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\n\t\t\t\t\t\t\t(\\.)\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# Entity name reference $12 or illegal identifier $13\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\n\n\t\t\t\t\t\t# Check to see if we are being followed by either open paren, end of line, or port or generic words\n\t\t\t\t\t\t(?=\\s*(\\(|$|(?i:port|generic)))\n\n\t\t\t\t\t\t# Optional architecture elaboration\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Open paren $16\n\t\t\t\t\t\t\t\\s*(\\()\\s*\n\n\t\t\t\t\t\t\t# Arch identifier $18 or invalid identifier $19\n\t\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))(?=\\s*\\))\n\n\t\t\t\t\t\t\t# Close paren $21\n\t\t\t\t\t\t\t\\s*(\\))\n\t\t\t\t\t\t)?\n\t\t\t\t\t","end":";","patterns":[{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"entity.name.section.entity_instantiation.vhdl"},"10":{"name":"punctuation.separator.vhdl"},"12":{"name":"entity.name.tag.entity.reference.vhdl"},"13":{"name":"invalid.illegal.invalid.identifier.vhdl"},"16":{"name":"punctuation.definition.arguments.begin.vhdl"},"18":{"name":"entity.name.tag.architecture.reference.vhdl"},"19":{"name":"invalid.illegal.invalid.identifier.vhdl"},"2":{"name":"punctuation.separator.vhdl"},"21":{"name":"punctuation.definition.arguments.end.vhdl"},"4":{"name":"keyword.control.use.vhdl"},"5":{"name":"keyword.control.entity.vhdl"},"8":{"name":"entity.name.tag.library.reference.vhdl"},"9":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"entity_pattern":{"patterns":[{"name":"meta.block.entity.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line ...\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word entity $1\n\t\t\t\t\t\t((?i:entity\\b))\\s+\n\n\t\t\t\t\t\t# The identifier $3 or an invalid identifier $4\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z\\d_]*)|(.+?))(?=\\s)\n\t\t\t\t\t","end":"(?x)\n\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end\\b))\n\n\t\t\t\t\t\t# Optional word entity $3\n\t\t\t\t\t\t(\\s+((?i:entity)))?\n\n\t\t\t\t\t\t# Optional identifier match $6 or indentifier mismatch $7\n\t\t\t\t\t\t(\\s+((\\3)|(.+?)))?\n\t\t\t\t\t\t\n\t\t\t\t\t\t# Make sure there is a semicolon following\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#comments"},{"include":"#generic_list_pattern"},{"include":"#port_list_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.entity.vhdl"},"3":{"name":"entity.name.type.entity.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.entity.vhdl"},"6":{"name":"entity.name.type.entity.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"for_pattern":{"patterns":[{"name":"meta.block.for.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Check for an identifier $2\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t\t# Followed by a colon $3\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# Make sure the next word is not wait\n\t\t\t\t\t\t(?!(?i:wait\\s*))\n\n\t\t\t\t\t\t# The for keyword $4\n\t\t\t\t\t\t\\b((?i:for))\\b\n\n\t\t\t\t\t\t# Make sure the next word is not all\n\t\t\t\t\t\t(?!\\s*(?i:all))\n\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\\s+\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Followed by generate or loop $3\n\t\t\t\t\t\t\t ((?i:generate|loop))\n\n\t\t\t\t\t\t\t# But it really is required $4\n\t\t\t\t\t\t\t|(\\S+)\n\t\t\t\t\t\t)\\b\n\n\t\t\t\t\t\t# The matching identifier $7 or an invalid identifier $8\n\t\t\t\t\t\t(\\s+((\\2)|(.+?)))?\n\n\t\t\t\t\t\t# Only space and a semicolon left\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#entity_instantiation_pattern"},{"include":"#component_pattern"},{"include":"#component_instantiation_pattern"},{"include":"#process_pattern"},{"include":"#cleanup"}],"beginCaptures":{"2":{"name":"entity.name.tag.for.generate.begin.vhdl"},"3":{"name":"punctuation.separator.vhdl"},"4":{"name":"keyword.control.for.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"keyword.control.vhdl"},"4":{"name":"invalid.illegal.loop.or.generate.required.vhdl"},"7":{"name":"entity.name.tag.for.generate.end.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"function_definition_pattern":{"patterns":[{"name":"meta.block.function_definition.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word function $1\n\t\t\t\t\t\t((?i:function))\\s+\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# A valid normal identifier $3\n\t\t\t\t\t\t\t ([a-zA-Z][a-zA-Z\\d_]*)\n\t\t\t\t\t\t\t# A valid string quoted identifier $4\n\t\t\t\t\t\t\t|(\"\\S+\")\n\t\t\t\t\t\t\t# A valid backslash escaped identifier $5\n\t\t\t\t\t\t\t|(\\\\.+\\\\)\n\t\t\t\t\t\t\t# An invalid identifier $5\n\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\t# Check to make sure we have a list or we return\n\t\t\t\t\t\t(?=\\s*\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t \\(\n\t\t\t\t\t\t\t\t|(?i:\\breturn\\b)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t((?i:end))\n\n\t\t\t\t\t\t# Optional word function $3\n\t\t\t\t\t\t(\\s+((?i:function)))?\n\n\t\t\t\t\t\t# Optional matched identifier $6 or mismatched identifier $7\n\t\t\t\t\t\t(\\s+((\\3|\\4|\\5)|(.+?)))?\n\n\t\t\t\t\t\t# Ending with whitespace and semicolon\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#parenthetical_list"},{"include":"#type_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.function.vhdl"},"3":{"name":"entity.name.function.function.begin.vhdl"},"4":{"name":"entity.name.function.function.begin.vhdl"},"5":{"name":"entity.name.function.function.begin.vhdl"},"6":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.function.vhdl"},"6":{"name":"entity.name.function.function.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"function_prototype_pattern":{"patterns":[{"name":"meta.block.function_prototype.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word function $1\n\t\t\t\t\t\t((?i:function))\\s+\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# A valid normal identifier $3\n\t\t\t\t\t\t\t ([a-zA-Z][a-zA-Z\\d_]*)\n\t\t\t\t\t\t\t# A valid quoted identifier $4\n\t\t\t\t\t\t\t|(\"\\S+\")\n\t\t\t\t\t\t\t# A valid backslash escaped identifier $5\n\t\t\t\t\t\t\t|(\\\\.+\\\\)\n\t\t\t\t\t\t\t# An invalid identifier $6\n\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\t# Check to make sure we have a list or we return\n\t\t\t\t\t\t(?=\\s*\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t \\(\n\t\t\t\t\t\t\t\t|(?i:\\breturn\\b)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t","end":"(?\u003c=;)","patterns":[{"begin":"\\b(?i:return)(?=\\s+[^;]+\\s*;)","end":"\\;","patterns":[{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"keyword.control.return.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.function_prototype.vhdl"}}},{"include":"#parenthetical_list"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.function.vhdl"},"3":{"name":"entity.name.function.function.prototype.vhdl"},"4":{"name":"entity.name.function.function.prototype.vhdl"},"5":{"name":"entity.name.function.function.prototype.vhdl"},"6":{"name":"invalid.illegal.function.name.vhdl"}}}]},"generic_list_pattern":{"patterns":[{"name":"meta.block.generic_list.vhdl","begin":"\\b(?i:generic)\\b","end":";","patterns":[{"include":"#parenthetical_list"}],"beginCaptures":{"0":{"name":"keyword.control.generic.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"if_pattern":{"patterns":[{"name":"meta.block.if.vhdl","begin":"(?x)\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Optional identifier $2\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t\t# Followed by a colon $3\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# Keyword if $4\n\t\t\t\t\t\t\\b((?i:if))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\\s+\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t# Optional generate or if keyword $4\n\t\t\t\t\t\t\t\t ((?i:generate|if))\n\n\t\t\t\t\t\t\t\t# Keyword if or generate required $5\n\t\t\t\t\t\t\t\t|(\\S+)\n\t\t\t\t\t\t\t)\\b\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\\s+\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t# Optional matching identifier $8\n\t\t\t\t\t\t\t\t\t (\\2)\n\n\t\t\t\t\t\t\t\t\t# Mismatched identifier $9\n\t\t\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)?\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# Followed by a semicolon\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#process_pattern"},{"include":"#entity_instantiation_pattern"},{"include":"#component_pattern"},{"include":"#component_instantiation_pattern"},{"include":"#cleanup"}],"beginCaptures":{"2":{"name":"entity.name.tag.if.generate.begin.vhdl"},"3":{"name":"punctuation.separator.vhdl"},"4":{"name":"keyword.control.if.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"4":{"name":"keyword.control.generate.vhdl"},"5":{"name":"invalid.illegal.if.or.generate.required.vhdl"},"8":{"name":"entity.name.tag.if.generate.end.vhdl"},"9":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"keywords":{"patterns":[{"name":"keyword.control.attributes.vhdl","match":"'(?i:active|ascending|base|delayed|driving|event|high|image|instance|last|left|leftof|length|low|path|pos|pred|quiet|range|reverse|right|rightof|simple|stable|succ|transaction|val|value)\\b"},{"name":"keyword.control.language.vhdl","match":"\\b(?i:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)\\b"},{"name":"keyword.operator.vhdl","match":"(\\+|\\-|\u003c=|=|=\u003e|:=|\u003e=|\u003e|\u003c|/|\\||\u0026|(\\*{1,2}))"}]},"package_body_pattern":{"patterns":[{"name":"meta.block.package_body.vhdl","begin":"(?x)\n\t\t\t\t\t\t# The word package $1\n\t\t\t\t\t\t\\b((?i:package))\\s+\n\n\t\t\t\t\t\t# ... but we want to be a package body $2\n\t\t\t\t\t\t((?i:body))\\s+\n\n\t\t\t\t\t\t# The valid identifier $4 or the invalid one $5\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z\\d_]*)|(.+?))\\s+\n\n\t\t\t\t\t\t# ... and we end it with an is $6\n\t\t\t\t\t\t((?i:is))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end\\b))\n\n\t\t\t\t\t\t# Optional word package $3 body $4\n\t\t\t\t\t\t(\\s+((?i:package))\\s+((?i:body)))?\n\n\t\t\t\t\t\t# Optional identifier $7 or mismatched identifier $8\n\t\t\t\t\t\t(\\s+((\\4)|(.+?)))?(?=\\s*;)","patterns":[{"include":"#function_definition_pattern"},{"include":"#procedure_definition_pattern"},{"include":"#type_pattern"},{"include":"#subtype_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.package.vhdl"},"2":{"name":"keyword.control.body.vhdl"},"4":{"name":"entity.name.section.package_body.begin.vhdl"},"5":{"name":"invalid.illegal.invalid.identifier.vhdl"},"6":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.package.vhdl"},"4":{"name":"keyword.control.body.vhdl"},"7":{"name":"entity.name.section.package_body.end.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"package_pattern":{"patterns":[{"name":"meta.block.package.vhdl","begin":"(?x)\n\t\t\t\t\t\t# The word package $1\n\t\t\t\t\t\t\\b((?i:package))\\s+\n\n\t\t\t\t\t\t# ... but we do not want to be a package body\n\t\t\t\t\t\t(?!(?i:body))\n\n\t\t\t\t\t\t# The valid identifier $3 or the invalid one $4\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z\\d_]*)|(.+?))\\s+\n\n\t\t\t\t\t\t# ... and we end it with an is $5\n\t\t\t\t\t\t((?i:is))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end\\b))\n\n\t\t\t\t\t\t# Optional word package $3\n\t\t\t\t\t\t(\\s+((?i:package)))?\n\n\t\t\t\t\t\t# Optional identifier $6 or mismatched identifier $7\n\t\t\t\t\t\t(\\s+((\\2)|(.+?)))?(?=\\s*;)","patterns":[{"include":"#function_prototype_pattern"},{"include":"#procedure_prototype_pattern"},{"include":"#type_pattern"},{"include":"#subtype_pattern"},{"include":"#record_pattern"},{"include":"#component_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.package.vhdl"},"3":{"name":"entity.name.section.package.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.package.vhdl"},"6":{"name":"entity.name.section.package.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"parenthetical_list":{"patterns":[{"name":"meta.block.parenthetical_list.vhdl","begin":"\\(","end":"(?\u003c=\\))","patterns":[{"name":"meta.list.element.vhdl","begin":"(?=['\"a-zA-Z0-9])","end":"(;|\\)|,)","patterns":[{"include":"#comments"},{"include":"#parenthetical_pair"},{"include":"#cleanup"}],"endCaptures":{"0":{"name":"meta.item.stopping.character.vhdl"}}},{"name":"invalid.illegal.unexpected.parenthesis.vhdl","match":"\\)"},{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"punctuation.definition.parenthetical_list.begin.vhdl"}}}]},"parenthetical_pair":{"patterns":[{"name":"meta.block.parenthetical_pair.vhdl","begin":"\\(","end":"\\)","patterns":[{"include":"#parenthetical_pair"},{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.begin.vhdl"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.vhdl"}}}]},"port_list_pattern":{"patterns":[{"name":"meta.block.port_list.vhdl","begin":"\\b(?i:port)\\b","end":";","patterns":[{"include":"#parenthetical_list"}],"beginCaptures":{"0":{"name":"keyword.control.port.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"procedure_definition_pattern":{"patterns":[{"name":"meta.block.procedure_definition.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word function $1\n\t\t\t\t\t\t((?i:procedure))\\s+\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# A valid normal identifier $3\n\t\t\t\t\t\t\t ([a-zA-Z][a-zA-Z\\d_]*)\n\t\t\t\t\t\t\t# A valid quoted identifier $4\n\t\t\t\t\t\t\t|(\"\\S+\")\n\t\t\t\t\t\t\t# An invalid identifier $5\n\t\t\t\t\t\t\t|(.+?)\n\t\t\t\t\t\t)\n\n\t\t\t\t\t\t# Check to make sure we have a list is\n\t\t\t\t\t\t(?=\\s*(\\(|(?i:is)))\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t((?i:end))\n\n\t\t\t\t\t\t# Optional word function $3\n\t\t\t\t\t\t(\\s+((?i:procedure)))?\n\n\t\t\t\t\t\t# Optional matched identifier $6 or mismatched identifier $7\n\t\t\t\t\t\t(\\s+((\\3|\\4)|(.+?)))?\n\n\t\t\t\t\t\t# Ending with whitespace and semicolon\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#parenthetical_list"},{"include":"#control_patterns"},{"include":"#type_pattern"},{"include":"#record_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"storage.type.procedure.vhdl"},"3":{"name":"entity.name.function.procedure.begin.vhdl"},"4":{"name":"entity.name.function.procedure.begin.vhdl"},"5":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"storage.type.procedure.vhdl"},"6":{"name":"entity.name.function.procedure.end.vhdl"},"7":{"name":"invalid.illegal.mismatched.identifier.vhdl"}}}]},"procedure_prototype_pattern":{"patterns":[{"name":"meta.block.procedure_prototype.vhdl","begin":"(?x)\n\t\t\t\t\t\t\\b((?i:procedure))\\s+\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\n\t\t\t\t\t\t(?=\\s*(\\(|;))\n\t\t\t\t\t","end":";","patterns":[{"include":"#parenthetical_list"}],"beginCaptures":{"1":{"name":"storage.type.procedure.vhdl"},"3":{"name":"entity.name.function.procedure.begin.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"}},"endCaptures":{"0":{"name":"punctual.vhdl"}}}]},"process_pattern":{"patterns":[{"name":"meta.block.process.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Optional identifier $2\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t\t# Colon $3\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# The word process #4\n\t\t\t\t\t\t((?i:process))\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t((?i:end))\n\n\t\t\t\t\t\t# Optional word process $3\n\t\t\t\t\t\t(\\s+((?i:process)))\n\n\t\t\t\t\t\t# Optional identifier $6 or invalid identifier $7\n\t\t\t\t\t\t(\\s+((\\2)|(.+?)))?\n\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}],"beginCaptures":{"2":{"name":"entity.name.section.process.begin.vhdl"},"3":{"name":"punctuation.separator.vhdl"},"4":{"name":"keyword.control.process.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"keyword.control.process.vhdl"},"6":{"name":"entity.name.section.process.end.vhdl"},"7":{"name":"invalid.illegal.invalid.identifier.vhdl"}}}]},"punctuation":{"patterns":[{"name":"punctuation.definition.other.vhdl","match":"(\\.|,|:|;|\\(|\\))"}]},"record_pattern":{"patterns":[{"name":"meta.block.record.vhdl","begin":"\\b(?i:record)\\b","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\n\n\t\t\t\t\t\t# The word record $2\n\t\t\t\t\t\t\\s+((?i:record))\n\n\t\t\t\t\t\t# Optional identifier $5 or invalid identifier $6\n\t\t\t\t\t\t(\\s+(([a-zA-Z][a-zA-Z\\d_]*)|(.*?)))?\n\n\t\t\t\t\t\t# Only whitespace and semicolons can be left\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#cleanup"}],"beginCaptures":{"0":{"name":"storage.type.record.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"2":{"name":"storage.type.record.vhdl"},"5":{"name":"entity.name.type.record.vhdl"},"6":{"name":"invalid.illegal.invalid.identifier.vhdl"}}},{"include":"#cleanup"}]},"strings":{"patterns":[{"name":"string.quoted.single.vhdl","match":"(').(')","captures":{"1":{"name":"punctuation.definition.string.begin.vhdl"},"2":{"name":"punctuation.definition.string.end.vhdl"}}},{"name":"string.quoted.double.vhdl","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.vhdl","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.vhdl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.vhdl"}}},{"name":"string.other.backslash.vhdl","begin":"\\\\","end":"\\\\"}]},"subtype_pattern":{"patterns":[{"name":"meta.block.subtype.vhdl","begin":"(?x)\n\t\t\t\t\t\t# The word subtype $1\n\t\t\t\t\t\t\\b((?i:subtype))\\s+\n\n\t\t\t\t\t\t# Valid identifier $3 or invalid identifier $4\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\\s+\n\n\t\t\t\t\t\t# The word is $5\n\t\t\t\t\t\t((?i:is))\\b\n\t\t\t\t\t","end":";","patterns":[{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"keyword.control.subtype.vhdl"},"3":{"name":"entity.name.type.subtype.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"5":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"support_constants":{"patterns":[{"name":"support.constant.ieee.math_real.vhdl","match":"\\b(?i:math_1_over_e|math_1_over_pi|math_1_over_sqrt_2|math_2_pi|math_3_pi_over_2|math_deg_to_rad|math_e|math_log10_of_e|math_log2_of_e|math_log_of_10|math_log_of_2|math_pi|math_pi_over_2|math_pi_over_3|math_pi_over_4|math_rad_to_deg|math_sqrt_2|math_sqrt_pi)\\b"},{"name":"support.constant.ieee.math_complex.vhdl","match":"\\b(?i:math_cbase_1|math_cbase_j|math_czero|positive_real|principal_value)\\b"},{"name":"support.constant.std.standard.vhdl","match":"\\b(?i:true|false)\\b"}]},"support_functions":{"patterns":[{"name":"support.function.std.env.vhdl","match":"\\b(?i:finish|stop|resolution_limit)\\b"},{"name":"support.function.std.textio.vhdl","match":"\\b(?i:readline|read|writeline|write|endfile|endline)\\b"},{"name":"support.function.ieee.std_logic_1164.vhdl","match":"\\b(?i:rising_edge|falling_edge|to_bit|to_bitvector|to_stdulogic|to_stdlogicvector|to_stdulogicvector|is_x)\\b"},{"name":"support.function.ieee.numeric_std.vhdl","match":"\\b(?i:shift_left|shift_right|rotate_left|rotate_right|resize|to_integer|to_unsigned|to_signed)\\b"},{"name":"support.function.ieee.math_real.vhdl","match":"\\b(?i:arccos(h?)|arcsin(h?)|arctan|arctanh|cbrt|ceil|cos|cosh|exp|floor|log10|log2|log|realmax|realmin|round|sign|sin|sinh|sqrt|tan|tanh|trunc)\\b"},{"name":"support.function.ieee.math_complex.vhdl","match":"\\b(?i:arg|cmplx|complex_to_polar|conj|get_principal_value|polar_to_complex)\\b"}]},"support_types":{"patterns":[{"name":"support.type.std.standard.vhdl","match":"\\b(?i:boolean|bit|character|severity_level|integer|real|time|delay_length|now|natural|positive|string|bit_vector|file_open_kind|file_open_status|fs|ps|ns|us|ms|sec|min|hr|severity_level|note|warning|error|failure)\\b"},{"name":"support.type.std.textio.vhdl","match":"\\b(?i:line|text|side|width|input|output)\\b"},{"name":"support.type.ieee.std_logic_1164.vhdl","match":"\\b(?i:std_logic|std_ulogic|std_logic_vector|std_ulogic_vector)\\b"},{"name":"support.type.ieee.numeric_std.vhdl","match":"\\b(?i:signed|unsigned)\\b"},{"name":"support.type.ieee.math_complex.vhdl","match":"\\b(?i:complex|complex_polar)\\b"}]},"syntax_highlighting":{"patterns":[{"include":"#keywords"},{"include":"#punctuation"},{"include":"#support_constants"},{"include":"#support_types"},{"include":"#support_functions"}]},"type_pattern":{"patterns":[{"name":"meta.block.type.vhdl","begin":"(?x)\n\t\t\t\t\t\t# The word type $1\n\t\t\t\t\t\t\\b((?i:type))\\s+\n\n\t\t\t\t\t\t# Valid identifier $3 or invalid identifier $4\n\t\t\t\t\t\t(([a-zA-Z][a-zA-Z0-9_]*)|(.+?))\n\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# A semicolon is coming up if we are incomplete\n\t\t\t\t\t\t\t (?=\\s*;)\n\n\t\t\t\t\t\t\t# Or the word is comes up $7\n\t\t\t\t\t\t\t|(\\s+((?i:is)))\n\t\t\t\t\t\t)\\b\n\t\t\t\t\t","end":";","patterns":[{"include":"#record_pattern"},{"include":"#cleanup"}],"beginCaptures":{"1":{"name":"keyword.control.type.vhdl"},"3":{"name":"entity.name.type.type.vhdl"},"4":{"name":"invalid.illegal.invalid.identifier.vhdl"},"7":{"name":"keyword.control.is.vhdl"}},"endCaptures":{"0":{"name":"punctuation.terminator.statement.vhdl"}}}]},"while_pattern":{"patterns":[{"name":"meta.block.while.vhdl","begin":"(?x)\n\t\t\t\t\t\t# From the beginning of the line\n\t\t\t\t\t\t^\\s*\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Check for an identifier $2\n\t\t\t\t\t\t\t([a-zA-Z][a-zA-Z0-9_]*)\n\n\t\t\t\t\t\t\t# Followed by a colon $3\n\t\t\t\t\t\t\t\\s*(:)\\s*\n\t\t\t\t\t\t)?\n\n\t\t\t\t\t\t# The for keyword $4\n\t\t\t\t\t\t\\b((?i:while))\\b\n\t\t\t\t\t","end":"(?x)\n\t\t\t\t\t\t# The word end $1\n\t\t\t\t\t\t\\b((?i:end))\\s+\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t# Followed by keyword loop $3\n\t\t\t\t\t\t\t ((?i:loop))\n\n\t\t\t\t\t\t\t# But it really is required $4\n\t\t\t\t\t\t\t|(\\S+)\n\t\t\t\t\t\t)\\b\n\n\t\t\t\t\t\t# The matching identifier $7 or an invalid identifier $8\n\t\t\t\t\t\t(\\s+((\\2)|(.+?)))?\n\n\t\t\t\t\t\t# Only space and a semicolon left\n\t\t\t\t\t\t(?=\\s*;)\n\t\t\t\t\t","patterns":[{"include":"#control_patterns"},{"include":"#cleanup"}],"beginCaptures":{"2":{"name":"entity.name.type.vhdl"},"3":{"name":"punctuation.separator.vhdl"},"4":{"name":"keyword.control.while.vhdl"}},"endCaptures":{"1":{"name":"keyword.control.end.vhdl"},"3":{"name":"keyword.control.loop.vhdl"},"4":{"name":"invalid.illegal.loop.keyword.required.vhdl"},"7":{"name":"entity.name.tag.while.loop.vhdl"},"8":{"name":"invalid.illegal.mismatched.identifier"}}}]}}}
1
+ {"name":"VHDL","scopeName":"source.vhdl","patterns":[{"include":"#syntax_highlighting"}],"repository":{"comments":{"patterns":[{"name":"comment.line.double-dash.vhdl","begin":"--","end":"\\n"},{"name":"comment.block.vhdl","begin":"\\/\\*","end":"\\*\\/"}]},"constants_numeric":{"patterns":[{"name":"constant.numeric.floating_point.vhdl","match":"\\b([+\\-]?[\\d_]+\\.[\\d_]+([eE][+\\-]?[\\d_]+)?)\\b"},{"name":"constant.numeric.integer.base_16_pound_number_pound.vhdl","match":"\\b16#[0-9A-Fa-f_]+#"},{"name":"constant.numeric.integer.base_15_pound_number_pound.vhdl","match":"\\b15#[0-9A-Ea-e_]+#"},{"name":"constant.numeric.integer.base_14_pound_number_pound.vhdl","match":"\\b14#[0-9A-Da-d_]+#"},{"name":"constant.numeric.integer.base_13_pound_number_pound.vhdl","match":"\\b13#[0-9A-Ca-c_]+#"},{"name":"constant.numeric.integer.base_12_pound_number_pound.vhdl","match":"\\b12#[0-9A-Ba-b_]+#"},{"name":"constant.numeric.integer.base_11_pound_number_pound.vhdl","match":"\\b11#[0-9Aa_]+#"},{"name":"constant.numeric.base_10_pound_number_pound.vhdl","match":"\\b10#[0-9_]+#"},{"name":"constant.numeric.base_9_pound_number_pound.vhdl","match":"\\b9#[0-8_]+#"},{"name":"constant.numeric.base_8_pound_number_pound.vhdl","match":"\\b8#[0-7_]+#"},{"name":"constant.numeric.base_7_pound_number_pound.vhdl","match":"\\b7#[0-6_]+#"},{"name":"constant.numeric.base_6_pound_number_pound.vhdl","match":"\\b6#[0-5_]+#"},{"name":"constant.numeric.base_5_pound_number_pound.vhdl","match":"\\b5#[0-4_]+#"},{"name":"constant.numeric.base_4_pound_number_pound.vhdl","match":"\\b4#[0-3_]+#"},{"name":"constant.numeric.base_3_pound_number_pound.vhdl","match":"\\b3#[0-2_]+#"},{"name":"constant.numeric.base_2_pound_number_pound.vhdl","match":"\\b2#[01_]+#"},{"name":"constant.numeric.base_pound_number_pound.vhdl","match":"((\\d+)?#.*?#)","captures":{"1":{"name":"invalid.illegal.bad.number.vhdl"}}},{"name":"constant.numeric.integer.vhdl","match":"\\b[\\d_]+([eE][\\d_]+)?\\b"},{"name":"constant.numeric.quoted.double.string.hex.vhdl","match":"(\\d+)?[sSuU]?[xX]\"[0-9a-fA-F_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.decimal.vhdl","match":"(\\d+)?[sSuU]?[dD]\"[0-9_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.octal.vhdl","match":"(\\d+)?[sSuU]?[oO]\"[0-7_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.binary.vhdl","match":"(\\d+)?[sSuU]?[bB]?\"[01_uUxXzZwWlLhH\\-]+\""},{"name":"constant.numeric.quoted.double.string.illegal.vhdl","match":"([bBdDoOsSuUxX]\".+?\")","captures":{"1":{"name":"invalid.illegal.quoted.double.string.vhdl"}}},{"name":"constant.numeric.quoted.single.std_logic","match":"'[01uUxXzZwWlLhH\\-]'"}]},"keywords":{"patterns":[{"name":"keyword.control.attributes.vhdl","match":"'(?i:active|ascending|base|converse|delayed|designated_subtype|driving|element|event|high|image|index|instance|instance_name|last|left|leftof|length|low|mirror|path|path_name|pos|pred|quiet|range|record|reverse|reverse_range|right|rightof|simple|stable|succ|transaction|val|value)\\b"},{"name":"keyword.control.language.vhdl","match":"\\b(?i:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|component|configuration|constant|context|default|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|private|procedure|process|protected|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with|xnor|xor)\\b"},{"name":"keyword.control.language.case.vhdl","match":"\\b(?i:case)(\\?|\\b)"},{"name":"keyword.operator.vhdl","match":"(\\+|\\-|(\\?)?\u003c=|(\\?)?=|(\\?)?/=|=\u003e|:=|(\\?)?\u003e=|\u003c\u003e|(\\?)?\u003e|(\\?)?\u003c|/|\\||\u0026|(\\*{1,2})|\\?\\?)"}]},"strings":{"patterns":[{"name":"string.quoted.single.vhdl","match":"(').(')","captures":{"1":{"name":"punctuation.definition.string.begin.vhdl"},"2":{"name":"punctuation.definition.string.end.vhdl"}}},{"name":"string.quoted.double.vhdl","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.vhdl","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.vhdl"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.vhdl"}}},{"name":"string.other.backslash.vhdl","begin":"\\\\","end":"\\\\"}]},"support_constants":{"patterns":[{"name":"support.constant.ieee.math_real.vhdl","match":"\\b(?i:math_1_over_e|math_1_over_pi|math_1_over_sqrt_2|math_2_pi|math_3_pi_over_2|math_deg_to_rad|math_e|math_log10_of_e|math_log2_of_e|math_log_of_10|math_log_of_2|math_pi|math_pi_over_2|math_pi_over_3|math_pi_over_4|math_rad_to_deg|math_sqrt_2|math_sqrt_pi)\\b"},{"name":"support.constant.ieee.math_complex.vhdl","match":"\\b(?i:math_cbase_1|math_cbase_j|math_czero|positive_real|principal_value)\\b"},{"name":"support.constant.std.standard.vhdl","match":"\\b(?i:true|false)\\b"},{"name":"support.constant.std.direction.vhdl","match":"\\b(?i:ascending|descending)\\b"},{"name":"support.constant.textio.state.file.vhdl","match":"\\b(?i:state_(closed|open))\\b"},{"name":"support.constant.textio.mode.file.vhdl","match":"\\b(?i:(read|write|read_write)_mode)\\b"},{"name":"support.constant.std.env.vhdl","match":"\\b(?i:dir_separator|file_(name|path|line))\\b"},{"name":"support.constant.std.directives.vhdl","match":"\\b(?i:(tool_(edition|name|type|vendor|version))|(vhdl_version))"},{"name":"support.constant.std.reflection.vhdl","match":"\\b(?i:class_(enumeration|physical|integer|floating|record|array|access|file|protected))\\b"}]},"support_functions":{"patterns":[{"name":"support.function.std.env.vhdl","match":"\\b(?i:getenv|finish|stop|resolution_limit)\\b"},{"name":"support.function.std.textio.vhdl","match":"\\b(?i:readline|read|writeline|write|endfile|endline)\\b"},{"name":"support.function.ieee.std_logic_1164.vhdl","match":"\\b(?i:rising_edge|falling_edge|to_bit|to_bitvector|to_stdulogic|to_stdlogicvector|to_stdulogicvector|is_x)\\b"},{"name":"support.function.ieee.numeric_std.vhdl","match":"\\b(?i:shift_left|shift_right|rotate_left|rotate_right|resize|to_integer|to_unsigned|to_signed)\\b"},{"name":"support.function.ieee.math_real.vhdl","match":"\\b(?i:arccos(h?)|arcsin(h?)|arctan|arctanh|cbrt|ceil|cos|cosh|exp|floor|log10|log2|log|realmax|realmin|round|sign|sin|sinh|sqrt|tan|tanh|trunc)\\b"},{"name":"support.function.ieee.math_complex.vhdl","match":"\\b(?i:arg|cmplx|complex_to_polar|conj|get_principal_value|polar_to_complex)\\b"},{"name":"support.function.textio.file.vhdl","match":"\\b(?i:file_(canseek|close|mode|open|position|rewind|seek|size|state|truncate))\\b"},{"name":"support.function.std.vhdl","match":"\\b(?i:deallocate|get_call_path)\\b"},{"name":"support.function.std.time.vhdl","match":"\\b(?i:(local|gm)time)\\b"},{"name":"support.function.std.reflection.vhdl","match":"\\b(?i:get_subtype_mirror|to_value_mirror|pos|image|to_subtype_mirror|enumeration_literal|simple_name|left|right|low|high|length|ascending|value|unit_index|units_length|unit_name|unit_index|scale|element_(index|name|subtype)|get_value_class|is_null|to_subtype_mirror|designated_subtype|get_file_logical_name|get_file_open_kind|to_(enumeration|integer|floating|physical|record|array|access|file|protected)|get)\\b"},{"name":"support.function.std.assert.vhdl","match":"\\b(?i:(ClearVhdlAssert|IsVhdlAssertFailed|[GS]etVhdlAssertCount|[GS]etVhdlAssertEnable|[GS]etVhdlAssertFormat|[GS]etVhdlReadSeverity))\\b"}]},"support_types":{"patterns":[{"name":"support.type.std.standard.vhdl","match":"\\b(?i:boolean(_vector)?|bit(_vector)?|character|severity_level|integer(_vector)?|real(_vector)?|time(_vector)?|delay_length|now|natural|positive|string|file_open_kind|file_open_status|fs|ps|ns|us|ms|sec|min|hr|severity_level|note|warning|error|failure)\\b"},{"name":"support.type.std.textio.vhdl","match":"\\b(?i:line|text|side|width|input|output)\\b"},{"name":"support.type.ieee.std_logic_1164.vhdl","match":"\\b(?i:std_(u)?logic(_vector)?)\\b"},{"name":"support.type.ieee.numeric_std.vhdl","match":"\\b(?i:(unresolved_|u_)?(signed|unsigned))\\b"},{"name":"support.type.ieee.math_complex.vhdl","match":"\\b(?i:complex|complex_polar)\\b"},{"name":"support.type.ieee.fixed.vhdl","match":"\\b(?i:sfixed|ufixed)\\b"},{"name":"support.type.float.vhdl","match":"\\b(?i:float(32|64|128)?)\\b"},{"name":"support.type.std.time.vhdl","match":"\\b(?i:time_record)\\b"},{"name":"support.type.std.reflection.vhdl","match":"\\b(?i:(access_|array_|enumeration_|file_|floating_|integer_|physical_|protected_|record_)?(subtype|value)_mirror(_pt)?|(natural_|positive_)?index|value_class)\\b"}]},"syntax_highlighting":{"patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#constants_numeric"},{"include":"#strings"},{"include":"#punctuation"},{"include":"#support_constants"},{"include":"#support_types"},{"include":"#support_functions"}]}}}
@@ -1 +1 @@
1
- {"name":"Vue","scopeName":"source.vue","patterns":[{"include":"#vue-comments"},{"include":"text.html.basic#comment"},{"include":"#self-closing-tag"},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.markdown","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.gfm"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.pug","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.jade"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.stylus","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.stylus"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.postcss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.postcss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.sass","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.sass"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.scss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.scss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.less","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.less"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.ts","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.ts"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js.jsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.tsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.tsx"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.coffee","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.coffee"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json.comments","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json.comments"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json5","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.yaml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.yaml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.toml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.toml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.graphql","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.graphql"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.vue","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.vue"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(template)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/template\\b)","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(script)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script\\b)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(style)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style\\b)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}}],"repository":{"html-stuff":{"patterns":[{"include":"#template-tag"},{},{"include":"text.html.basic"}]},"self-closing-tag":{"name":"self-closing-tag","begin":"(\u003c)([a-zA-Z0-9:-]+)(?=([^\u003e]+/\u003e))","end":"(/\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"tag-stuff":{"name":"meta.tag-stuff","begin":"\\G","end":"(?=/\u003e)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b(\u003e)","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)\\b)","patterns":[{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag-2":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)\\b)","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"vue-comments":{"patterns":[{"include":"#vue-comments-key-value"}]},"vue-comments-key-value":{"name":"comment.block.vue","begin":"(\u003c!--)\\s*(@)([\\w$]+)(?=\\s)","end":"(--\u003e)","patterns":[{"include":"source.json#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.vue"},"2":{"name":"punctuation.definition.block.tag.comment.vue"},"3":{"name":"storage.type.class.comment.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.vue"}}},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"},{"include":"#vue-directives-generic-attr"}]},"vue-directives-control":{"name":"meta.attribute.directive.control.vue","begin":"(v-for)|(v-if|v-else-if|v-else)","end":"(?=\\s*+[^=\\s])","patterns":[{"include":"#vue-directives-expression"}],"captures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}}},"vue-directives-expression":{"patterns":[{"begin":"(=)\\s*('|\"|`)","end":"(\\2)","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?\u003c=('|\"|`))","end":"(?=\\1)","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}},{"begin":"(=)\\s*(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}}}]},"vue-directives-generic-attr":{"name":"meta.attribute.generic.vue","begin":"\\b(generic)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"meta.type.parameters.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.ts#comment"},{"name":"storage.modifier.ts","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"name":"keyword.operator.assignment.ts","match":"(=)(?!\u003e)"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"captures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-directives-original":{"name":"meta.attribute.directive.vue","begin":"(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?","end":"(?=\\s*[^=\\s])","patterns":[{"match":"(\\.)([\\w-]*)"},{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}},"vue-directives-style-attr":{"name":"meta.attribute.style.vue","begin":"\\b(style)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"source.css.embedded.html.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"name":"variable.css","match":"(?x) (?\u003c![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*"},{"name":"meta.property-name.css","begin":"(?\u003c![-a-zA-Z])(?=[-a-zA-Z])","end":"$|(?![-a-zA-Z])","patterns":[{"include":"source.css#property-names"}]},{"contentName":"meta.property-value.css","begin":"(:)\\s*","end":"\\s*(;)|\\s*(?='|\")","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}}},{"name":"punctuation.terminator.rule.css","match":";"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"captures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-interpolations":{"patterns":[{"name":"expression.embedded.vue","begin":"(\\{\\{)","end":"(\\}\\})","patterns":[{"name":"source.ts.embedded.html.vue","begin":"\\G","end":"(?=\\}\\})","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}}}]}}}
1
+ {"name":"Vue","scopeName":"source.vue","patterns":[{"include":"#vue-comments"},{"include":"#self-closing-tag"},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.markdown","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.gfm"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.pug","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"text.jade"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.stylus","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.stylus"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.postcss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.postcss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.sass","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.sass"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.scss","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.scss"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css.less","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.css.less"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.ts","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.ts"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js.jsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.tsx","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.tsx"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)coffee\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.coffee","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.coffee"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json.comments","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.json.comments"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.json5","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.yaml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.yaml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.toml","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.toml"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.graphql","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.graphql"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)\\b(?=[^\u003e]*\\blang\\s*=\\s*(['\"]?)vue\\b\\2)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.vue","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)","patterns":[{"include":"source.vue"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(template)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text.html.derivative","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/template\\b)","patterns":[{"include":"#html-stuff"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(script)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.js","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/script\\b)","patterns":[{"include":"source.js"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"(style)\\b","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"source.css","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/style\\b)","patterns":[{"include":"source.css"}]}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}},{"begin":"([a-zA-Z0-9:-]+)","end":"(\u003c/)(\\1)\\s*(?=\u003e)","patterns":[{"include":"#tag-stuff"},{"name":"text","begin":"(?\u003c=\u003e)","end":"(?=\u003c\\/)"}],"beginCaptures":{"1":{"name":"entity.name.tag.$1.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}}],"repository":{"html-stuff":{"patterns":[{"include":"#template-tag"},{},{"include":"text.html.basic"}]},"self-closing-tag":{"name":"self-closing-tag","begin":"(\u003c)([a-zA-Z0-9:-]+)(?=([^\u003e]+/\u003e))","end":"(/\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"tag-stuff":{"name":"meta.tag-stuff","begin":"\\G","end":"(?=/\u003e)|(\u003e)","patterns":[{"include":"#vue-directives"},{"include":"text.html.basic#attribute"}],"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag":{"patterns":[{"include":"#template-tag-1"},{"include":"#template-tag-2"}]},"template-tag-1":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b(\u003e)","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)\\b)","patterns":[{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"},"3":{"name":"punctuation.definition.tag.end.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"template-tag-2":{"name":"meta.template-tag.start","begin":"(\u003c)(template)\\b","end":"(/?\u003e)","patterns":[{"name":"meta.template-tag.end","begin":"\\G","end":"(?=/\u003e)|((\u003c/)(template)\\b)","patterns":[{"include":"#tag-stuff"},{"include":"#html-stuff"}],"endCaptures":{"2":{"name":"punctuation.definition.tag.begin.html.vue"},"3":{"name":"entity.name.tag.$3.html.vue"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html.vue"},"2":{"name":"entity.name.tag.$2.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html.vue"}}},"vue-comments":{"patterns":[{"include":"#vue-comments-key-value"},{"name":"comment.block.vue","begin":"\u003c!--","end":"--\u003e","captures":{"0":{"name":"punctuation.definition.comment.vue"}}}]},"vue-comments-key-value":{"name":"comment.block.vue","begin":"(\u003c!--)\\s*(@)([\\w$]+)(?=\\s)","end":"(--\u003e)","patterns":[{"include":"source.json#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.vue"},"2":{"name":"punctuation.definition.block.tag.comment.vue"},"3":{"name":"storage.type.class.comment.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.vue"}}},"vue-directives":{"patterns":[{"include":"#vue-directives-control"},{"include":"#vue-directives-generic-attr"},{"include":"#vue-directives-style-attr"},{"include":"#vue-directives-original"}]},"vue-directives-control":{"name":"meta.attribute.directive.control.vue","begin":"(?:(v-for)|(v-if|v-else-if|v-else))(?=[=/\u003e)\\s])","end":"(?=\\s*[^=\\s])","patterns":[{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"keyword.control.loop.vue"},"2":{"name":"keyword.control.conditional.vue"}}},"vue-directives-expression":{"patterns":[{"begin":"(=)\\s*('|\"|`)","end":"(\\2)","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?\u003c=('|\"|`))","end":"(?=\\1)","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"},"2":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}},{"begin":"(=)\\s*(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"name":"source.ts.embedded.html.vue","begin":"(?=[^'\"`])","end":"(?=(\\s|\u003e|\\/\u003e))","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.html.vue"}}}]},"vue-directives-generic-attr":{"name":"meta.attribute.generic.vue","begin":"\\b(generic)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"meta.type.parameters.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.ts#comment"},{"name":"storage.modifier.ts","match":"(?\u003c![_$[:alnum:]])(?:(?\u003c=\\.\\.\\.)|(?\u003c!\\.))(extends|in|out)(?![_$[:alnum:]])(?:(?=\\.\\.\\.)|(?!\\.))"},{"include":"source.ts#type"},{"include":"source.ts#punctuation-comma"},{"name":"keyword.operator.assignment.ts","match":"(=)(?!\u003e)"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-directives-original":{"name":"meta.attribute.directive.vue","begin":"(?:(?:(v-[\\w-]+)(:)?)|([:\\.])|(@)|(#))(?:(?:(\\[)([^\\]]*)(\\]))|([\\w-]+))?","end":"(?=\\s*[^=\\s])","patterns":[{"match":"(\\.)([\\w-]*)"},{"include":"#vue-directives-expression"}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"},"3":{"name":"punctuation.attribute-shorthand.bind.html.vue"},"4":{"name":"punctuation.attribute-shorthand.event.html.vue"},"5":{"name":"punctuation.attribute-shorthand.slot.html.vue"},"6":{"name":"punctuation.separator.key-value.html.vue"},"7":{"name":"source.ts.embedded.html.vue","patterns":[{"include":"source.ts#expression"}]},"8":{"name":"punctuation.separator.key-value.html.vue"},"9":{"name":"entity.other.attribute-name.html.vue"}}},"vue-directives-style-attr":{"name":"meta.attribute.style.vue","begin":"\\b(style)\\s*(=)","end":"(?\u003c='|\")","patterns":[{"name":"source.css.embedded.html.vue","begin":"('|\")","end":"(\\1)","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#escapes"},{"include":"source.css#font-features"},{"name":"variable.css","match":"(?x) (?\u003c![\\w-])\n--\n(?:[-a-zA-Z_] | [^\\x00-\\x7F]) # First letter\n(?:[-a-zA-Z0-9_] | [^\\x00-\\x7F] # Remainder of identifier\n |\\\\(?:[0-9a-fA-F]{1,6}|.)\n)*"},{"name":"meta.property-name.css","begin":"(?\u003c![-a-zA-Z])(?=[-a-zA-Z])","end":"$|(?![-a-zA-Z])","patterns":[{"include":"source.css#property-names"}]},{"contentName":"meta.property-value.css","begin":"(:)\\s*","end":"\\s*(;)|\\s*(?='|\")","patterns":[{"include":"source.css#comment-block"},{"include":"source.css#property-values"}],"beginCaptures":{"1":{"name":"punctuation.separator.key-value.css"}},"endCaptures":{"1":{"name":"punctuation.terminator.rule.css"}}},{"name":"punctuation.terminator.rule.css","match":";"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.html.vue"}}}],"beginCaptures":{"1":{"name":"entity.other.attribute-name.html.vue"},"2":{"name":"punctuation.separator.key-value.html.vue"}}},"vue-interpolations":{"patterns":[{"name":"expression.embedded.vue","begin":"(\\{\\{)","end":"(\\}\\})","patterns":[{"name":"source.ts.embedded.html.vue","begin":"\\G","end":"(?=\\}\\})","patterns":[{"include":"source.ts#expression"}]}],"beginCaptures":{"1":{"name":"punctuation.definition.interpolation.begin.html.vue"}},"endCaptures":{"1":{"name":"punctuation.definition.interpolation.end.html.vue"}}}]}}}
@@ -1 +1 @@
1
- {"name":"wdl","scopeName":"source.wdl","patterns":[{"include":"#single-number-sign-comment"},{"include":"#double-number-sign-comment"},{"name":"entity.version.wdl","match":"(version)\\s+(.*)","captures":{"1":{"name":"keyword.other.version.wdl"},"2":{"name":"entity.version.number.wdl"}}},{"contentName":"entity.struct.wdl","begin":"(struct)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.struct.wdl"},"2":{"name":"variable.name.struct.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.struct-start.wdl"}}},{"contentName":"entity.task.wdl","begin":"(task)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.task.wdl"},"2":{"name":"variable.name.task.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.task-start.wdl"}}},{"begin":"(workflow)\\s+([A-Za-z][A-Za-z0-9_]+)","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.workflow.wdl"},"2":{"name":"variable.name.workflow.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.workflow-start.wdl"}}},{"include":"#input-block"},{"include":"#command-block"},{"include":"#output-block"},{"include":"#requirements-block"},{"include":"#hints-block"},{"include":"#runtime-block"},{"include":"#meta-block"},{"include":"#parameter_meta-block"},{"include":"#atom"}],"repository":{"atom":{"patterns":[{"include":"#double-number-sign-comments"},{"include":"#single-number-sign-comments"},{"include":"#numeric"},{"include":"#strings"},{"include":"#keywords"},{"include":"#identity"}]},"command-block":{"contentName":"meta.embedded.block.shellscript","begin":"(?:\\s*)(command)\\s+(?:(\u003c\u003c\u003c)|({))","end":"(?:^|\\G)(?:\\s*)(?:(\u003e\u003e\u003e)|(}))(?:\\s*)$","patterns":[{"contentName":"meta.embedded.block.shellscript","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*(?:(\u003e\u003e\u003e)|(}))\\s*$)","patterns":[{"include":"source.shell"}]}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.heredoc.command-start.wdl"},"3":{"name":"punctuation.bracket.angle.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.heredoc.command-end.wdl"},"2":{"name":"punctuation.bracket.angle.command-end.wdl"}}},"double-number-sign-comments":{"name":"comment.line.double-number-sign.documentation","begin":"(?:\\s*)(?:##) ?","while":"(?:^|\\G)\\s*(?:##) ?","patterns":[{"include":"source.gfm"}]},"double-quoted-strings":{"name":"string.quoted.double.wdl","begin":"\"","end":"\"","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"escaped-character":{"name":"constant.character.escape.wdl","match":"(\\\\\\\\)|(\\\\n)|(\\\\t)|(\\\\')|(\\\\\")|(\\\\~)|(\\\\\\$)|(\\\\[0-7]{3})|(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})|(\\\\U[0-9a-fA-F]{8})","captures":{"1":{"name":"constant.character.escape.backslash.wdl"},"10":{"name":"constant.character.escape.four-byte-unicode.wdl"},"11":{"name":"constant.character.escape.eight-byte-unicode.wdl"},"2":{"name":"constant.character.escape.newline.wdl"},"3":{"name":"constant.character.escape.tab.wdl"},"4":{"name":"constant.character.escape.single-quote.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.tilde.wdl"},"7":{"name":"constant.character.escape.dollar-sign.wdl"},"8":{"name":"constant.character.escape.octal.wdl"},"9":{"name":"constant.character.escape.hex.wdl"}}},"hints-block":{"name":"entity.hints-block.wdl","begin":"(?:\\s*)(hints)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.hints.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.hints-start.wdl"}}},"identity":{"name":"variable.other.wdl","match":"\\b[A-Za-z][A-Za-z0-9_]*\\b"},"input-block":{"name":"entity.input-block.wdl","begin":"(?:\\s*)(input)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.input.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.input-start.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"\\b(import|version)\\b"},{"name":"storage.modifier.wdl","match":"\\b(alias|as|in|scatter)\\b"},{"name":"keyword.control.wdl","match":"\\b(call|else|if|then)\\b"},{"name":"storage.type","match":"\\b(command|hints|inputs|meta|object|outputs|parameter_meta|requirements|runtime)\\b\\s*(?!:)"},{"name":"constant.language.wdl","match":"\\b(true|false|left|right|null)\\b"},{"name":"keyword.wdl","match":"\\b(after|alias|as|call|command|else|env|false|hints|if|in|import|input|meta|null|object|output|parameter_meta|requirements|runtime|scatter|then|true|version)\\b\\s*(?!:)"},{"name":"entity.name.type.wdl","match":"\\b(Array|Boolean|Directory|File|Float|Int|Map|None|Object|Pair|String)\\b"}]},"meta-block":{"name":"entity.meta-block.wdl","begin":"(?:\\s*)(meta)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.meta-start.wdl"}}},"multi-line-strings":{"name":"string.unquoted.multi-line.wdl","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"numeric":{"name":"constant.numeric.wdl","match":"-?(?:[0-9]+\\.[0-9]*(e|E)?|[0-9]+(e|E)?|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]|0)"},"output-block":{"name":"entity.output-block.wdl","begin":"(?:\\s*)(output)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.output.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.output-start.wdl"}}},"parameter_meta-block":{"name":"entity.parameter_meta-block.wdl","begin":"(?:\\s*)(parameter_meta)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.parameter_meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.parameter_meta-start.wdl"}}},"placeholder":{"name":"constant.other.placeholder.wdl","match":"[$~]{\\s*([A-Za-z][A-Za-z0-9_]*)\\s*}"},"requirements-block":{"name":"entity.requirements-block.wdl","begin":"(?:\\s*)(requirements)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.requirements.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.requirements-start.wdl"}}},"runtime-block":{"name":"entity.runtime-block.wdl","begin":"(?:\\s*)(runtime)\u0008","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.runtime.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.runtime-start.wdl"}}},"single-number-sign-comments":{"name":"comment.line.number-sign.documentation","begin":"(?:\\s*)(?:#(?!#))","while":"(?:^|\\G)(?:\\s*)(?:#(?!#))"},"single-quoted-strings":{"name":"string.quoted.single.wdl","begin":"'","end":"'","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"strings":{"patterns":[{"include":"#single-quoted-strings"},{"include":"#double-quoted-strings"},{"include":"#multi-line-strings"}]}}}
1
+ {"name":"wdl","scopeName":"source.wdl","patterns":[{"include":"#single-number-sign-comments"},{"include":"#double-number-sign-comments"},{"name":"entity.version.wdl","match":"(version)\\s+(.*)","captures":{"1":{"name":"keyword.other.version.wdl"},"2":{"name":"entity.version.number.wdl"}}},{"contentName":"entity.struct.wdl","begin":"(struct)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.struct.wdl"},"2":{"name":"variable.name.struct.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.struct-start.wdl"}}},{"contentName":"entity.task.wdl","begin":"(task)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.task.wdl"},"2":{"name":"variable.name.task.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.task-start.wdl"}}},{"begin":"(workflow)\\s+([A-Za-z][A-Za-z0-9_]+)","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.workflow.wdl"},"2":{"name":"variable.name.workflow.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.workflow-start.wdl"}}},{"include":"#input-block"},{"include":"#command-block-curly"},{"include":"#command-block-heredoc"},{"include":"#output-block"},{"include":"#requirements-block"},{"include":"#hints-block"},{"include":"#runtime-block"},{"include":"#meta-block"},{"include":"#parameter_meta-block"},{"include":"#atom"}],"repository":{"atom":{"patterns":[{"include":"#double-number-sign-comments"},{"include":"#single-number-sign-comments"},{"include":"#numeric"},{"include":"#strings"},{"include":"#keywords"},{"include":"#identity"}]},"bash-arguments":{"name":"string.unquoted.argument.shell","match":"\\b[a-zA-Z0-9/._][a-zA-Z0-9/._-]*\\b"},"bash-arithmetic":{"name":"meta.expression.arithmetic.shell","begin":"(\\(\\()","end":"(\\)\\))","patterns":[{"include":"#bash-variables"},{"include":"#bash-arithmetic-operators"},{"include":"#bash-numeric"},{"include":"#bash-arithmetic-variables"}],"beginCaptures":{"1":{"name":"punctuation.definition.evaluation.begin.shell"}},"endCaptures":{"1":{"name":"punctuation.definition.evaluation.end.shell"}}},"bash-arithmetic-operators":{"name":"keyword.operator.arithmetic.shell","match":"\\*\\*|==|!=|\u003c=|\u003e=|\u0026\u0026|\\|\\||\u003c\u003c|\u003e\u003e|[!~+\\-*/%\u003c\u003e\u0026|^=]"},"bash-arithmetic-variables":{"name":"variable.other.shell","match":"\\b[a-zA-Z_][a-zA-Z0-9_]*\\b"},"bash-assignments":{"patterns":[{"match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)(=)","captures":{"1":{"name":"variable.other.assignment.shell"},"2":{"name":"keyword.operator.assignment.shell"}}}]},"bash-commands":{"patterns":[{"name":"entity.name.function.shell"}]},"bash-comments":{"name":"comment.line.number-sign.shell","match":"#.*$"},"bash-double-quoted-strings":{"name":"string.quoted.double.shell","begin":"\"","end":"\"","patterns":[{"include":"#bash-variables"},{"name":"constant.character.escape.shell","match":"\\\\([\"$`\\\\\\r\\n])"}]},"bash-heredoc-generic":{"name":"string.unquoted.heredoc.shell","begin":"(\u003c\u003c-?)\\s*([a-zA-Z_][a-zA-Z0-9_]*)","end":"^\\s*(\\2)\\s*$","patterns":[{"include":"#placeholder"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"entity.name.tag.heredoc.shell"}},"endCaptures":{"1":{"name":"entity.name.tag.heredoc.shell"}}},"bash-heredoc-python":{"contentName":"source.python.embedded.shell","begin":"(\u003c\u003c-?)\\s*([pP][yY][tT][hH][oO][nN])","end":"^\\s*(\\2)\\s*$","patterns":[{"include":"#placeholder"},{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"entity.name.tag.heredoc.python.shell"}},"endCaptures":{"1":{"name":"entity.name.tag.heredoc.python.shell"}}},"bash-heredocs":{"patterns":[{"include":"#bash-heredoc-python"},{"include":"#bash-heredoc-generic"}]},"bash-in-wdl":{"patterns":[{"include":"#bash-heredocs"},{"include":"#bash-comments"},{"include":"#bash-strings"},{"include":"#bash-arithmetic"},{"include":"#bash-variables"},{"include":"#bash-assignments"},{"include":"#bash-options"},{"include":"#bash-keywords"},{"include":"#bash-commands"},{"include":"#bash-arguments"}]},"bash-keywords":{"patterns":[{"name":"keyword.control.shell","match":"\\b(if|then|else|fi|for|in|while|do|done|case|esac|until|select)\\b"},{"name":"support.function.builtin.shell","match":"\\b(echo|set|unset|export|readonly|shift|source|local|declare|getopts|read|let)\\b"}]},"bash-numeric":{"name":"constant.numeric.shell","match":"\\b(0[xX][0-9a-fA-F]+|\\d+)\\b"},"bash-options":{"patterns":[{"name":"constant.other.option.shell","match":"(?\u003c=^|\\s)(--[a-zA-Z0-9][a-zA-Z0-9-]*|-\\w+)\\b"}]},"bash-single-quoted-strings":{"name":"string.quoted.single.shell","begin":"'","end":"'"},"bash-strings":{"patterns":[{"include":"#bash-single-quoted-strings"},{"include":"#bash-double-quoted-strings"}]},"bash-variables":{"patterns":[{"name":"variable.other.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.shell","begin":"\\$\\{","end":"\\}","beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.parameter.special.shell","match":"\\$([0-9@*#?$$!_])"}]},"command-block-curly":{"contentName":"source.shell.embedded.wdl","begin":"(?:\\s*)(command)\\s+({)","end":"^(?:\\s*)(})(?:\\s*)$","patterns":[{"include":"#placeholder"},{"include":"#bash-in-wdl"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.bracket.curly.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"command-block-heredoc":{"contentName":"source.shell.embedded.wdl","begin":"(?:\\s*)(command)\\s+(\u003c\u003c\u003c)","end":"^(?:\\s*)(\u003e\u003e\u003e)(?:\\s*)$","patterns":[{"include":"#placeholder"},{"include":"#bash-in-wdl"}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.heredoc.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.command-end.wdl"}}},"double-number-sign-comments":{"name":"comment.line.double-number-sign.documentation","begin":"(?:\\s*)(?:##) ?","while":"(?:^|\\G)\\s*(?:##) ?","patterns":[{"include":"source.gfm"}]},"double-quoted-strings":{"name":"string.quoted.double.wdl","begin":"\"","end":"\"","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"escaped-character":{"name":"constant.character.escape.wdl","match":"(\\\\\\\\)|(\\\\n)|(\\\\t)|(\\\\')|(\\\\\")|(\\\\~)|(\\\\\\$)|(\\\\[0-7]{3})|(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})|(\\\\U[0-9a-fA-F]{8})","captures":{"1":{"name":"constant.character.escape.backslash.wdl"},"10":{"name":"constant.character.escape.four-byte-unicode.wdl"},"11":{"name":"constant.character.escape.eight-byte-unicode.wdl"},"2":{"name":"constant.character.escape.newline.wdl"},"3":{"name":"constant.character.escape.tab.wdl"},"4":{"name":"constant.character.escape.single-quote.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.tilde.wdl"},"7":{"name":"constant.character.escape.dollar-sign.wdl"},"8":{"name":"constant.character.escape.octal.wdl"},"9":{"name":"constant.character.escape.hex.wdl"}}},"hints-block":{"name":"entity.hints-block.wdl","begin":"(?:\\s*)(hints)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.hints.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.hints-start.wdl"}}},"identity":{"name":"variable.other.wdl","match":"\\b[A-Za-z][A-Za-z0-9_]*\\b"},"input-block":{"name":"entity.input-block.wdl","begin":"(?:\\s*)(input)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.input.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.input-start.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"\\b(import|version)\\b"},{"name":"storage.modifier.wdl","match":"\\b(alias|as|in|scatter)\\b"},{"name":"keyword.control.wdl","match":"\\b(call|else|if|then)\\b"},{"name":"storage.type","match":"\\b(command|hints|inputs|meta|object|outputs|parameter_meta|requirements|runtime)\\b\\s*(?!:)"},{"name":"constant.language.wdl","match":"\\b(true|false|left|right|null)\\b"},{"name":"keyword.wdl","match":"\\b(after|alias|as|call|command|else|env|false|hints|if|in|import|input|meta|null|object|output|parameter_meta|requirements|runtime|scatter|then|true|version)\\b\\s*(?!:)"},{"name":"entity.name.type.wdl","match":"\\b(Array|Boolean|Directory|File|Float|Int|Map|None|Object|Pair|String)\\b"}]},"meta-block":{"name":"entity.meta-block.wdl","begin":"(?:\\s*)(meta)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.meta-start.wdl"}}},"multi-line-strings":{"name":"string.unquoted.multi-line.wdl","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"numeric":{"name":"constant.numeric.wdl","match":"-?(?:[0-9]+\\.[0-9]*(e|E)?|[0-9]+(e|E)?|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]|0)"},"output-block":{"name":"entity.output-block.wdl","begin":"(?:\\s*)(output)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.output.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.output-start.wdl"}}},"parameter_meta-block":{"name":"entity.parameter_meta-block.wdl","begin":"(?:\\s*)(parameter_meta)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.parameter_meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.parameter_meta-start.wdl"}}},"placeholder":{"name":"meta.other.placeholder.wdl","begin":"[$~]{","end":"}","patterns":[{"include":"source.wdl"}]},"requirements-block":{"name":"entity.requirements-block.wdl","begin":"(?:\\s*)(requirements)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.requirements.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.requirements-start.wdl"}}},"runtime-block":{"name":"entity.runtime-block.wdl","begin":"(?:\\s*)(runtime)\\b","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.runtime.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.curly.runtime-start.wdl"}}},"single-number-sign-comments":{"name":"comment.line.number-sign.documentation","begin":"(?:\\s*)(?:#(?!#))","while":"(?:^|\\G)(?:\\s*)(?:#(?!#))"},"single-quoted-strings":{"name":"string.quoted.single.wdl","begin":"'","end":"'","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"strings":{"patterns":[{"include":"#single-quoted-strings"},{"include":"#double-quoted-strings"},{"include":"#multi-line-strings"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"WESL","scopeName":"source.wesl","patterns":[{"include":"#documentation_comment"},{"include":"#keywords"},{"include":"source.wgsl"}],"repository":{"documentation_comment":{"name":"comment.line.documentation.wgsl","match":"\\s*///.*"},"keywords":{"patterns":[{"name":"keyword.control.import.wesl","match":"\\b(import)\\b"},{"name":"keyword.control.wesl","match":"\\b(package|super|as)\\b"},{"name":"keyword.operator.module.wesl","match":"::"}]}}}
@@ -1 +1 @@
1
- {"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#line_comments"},{"include":"#keywords"},{"include":"#functions"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}],"repository":{"constants":{"patterns":[{"name":"constant.numeric.float.wgsl","match":"(-?\\b[0-9][0-9]*\\.[0-9][0-9]*)([eE][+-]?[0-9]+)?\\b"},{"name":"constant.numeric.decimal.wgsl","match":"-?\\b0x[0-9a-fA-F]+\\b|\\b0\\b|-?\\b[1-9][0-9]*\\b"},{"name":"constant.numeric.decimal.wgsl","match":"\\b0x[0-9a-fA-F]+u\\b|\\b0u\\b|\\b[1-9][0-9]*u\\b"},{"name":"constant.language.boolean.wgsl","match":"\\b(true|false)\\b"}]},"function_calls":{"patterns":[{"name":"meta.function.call.wgsl","begin":"([A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#line_comments"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}}}]},"functions":{"patterns":[{"name":"meta.function.definition.wgsl","begin":"\\b(fn)\\s+([A-Za-z0-9_]+)((\\()|(\u003c))","end":"\\{","patterns":[{"include":"#line_comments"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"keyword.other.fn.wgsl"},"2":{"name":"entity.name.function.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}}}]},"keywords":{"patterns":[{"name":"keyword.control.wgsl","match":"\\b(bitcast|block|break|case|continue|continuing|default|discard|else|elseif|enable|fallthrough|for|function|if|loop|override|private|read|read_write|return|storage|switch|uniform|while|workgroup|write)\\b"},{"name":"keyword.control.wgsl","match":"\\b(asm|const|do|enum|handle|mat|premerge|regardless|typedef|unless|using|vec|void)\\b"},{"name":"keyword.other.wgsl storage.type.wgsl","match":"\\b(let|var)\\b"},{"name":"keyword.declaration.type.wgsl storage.type.wgsl","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.wgsl storage.type.wgsl","match":"\\b(enum)\\b"},{"name":"keyword.declaration.struct.wgsl storage.type.wgsl","match":"\\b(struct)\\b"},{"name":"keyword.other.fn.wgsl","match":"\\bfn\\b"},{"name":"keyword.operator.logical.wgsl","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.wgsl","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.wgsl","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.wgsl","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.wgsl","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.wgsl","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"name":"keyword.operator.access.dot.wgsl","match":"\\.(?!\\.)"},{"name":"keyword.operator.arrow.skinny.wgsl","match":"-\u003e"}]},"line_comments":{"name":"comment.line.double-slash.wgsl","match":"\\s*//.*"},"punctuation":{"patterns":[{"name":"punctuation.comma.wgsl","match":","},{"name":"punctuation.brackets.curly.wgsl","match":"[{}]"},{"name":"punctuation.brackets.round.wgsl","match":"[()]"},{"name":"punctuation.semi.wgsl","match":";"},{"name":"punctuation.brackets.square.wgsl","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.wgsl","match":"(?\u003c!=)[\u003c\u003e]"}]},"types":{"name":"storage.type.wgsl","patterns":[{"name":"storage.type.wgsl","match":"\\b(bool|i32|u32|f32)\\b"},{"name":"storage.type.wgsl","match":"\\b(i64|u64|f64)\\b"},{"name":"storage.type.wgsl","match":"\\b(vec[2-4]|mat[2-4]x[2-4])\\b"},{"name":"storage.type.wgsl","match":"\\b(atomic)\\b"},{"name":"storage.type.wgsl","match":"\\b(array)\\b"},{"name":"entity.name.type.wgsl","match":"\\b([A-Z][A-Za-z0-9]*)\\b"}]},"variables":{"patterns":[{"name":"variable.other.wgsl","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
1
+ {"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#functions"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"},{"include":"#bevy_preprocessor_directives"}],"repository":{"address_spaces":{"name":"storage.modifier.address_spaces.wgsl","match":"\\b(function|private|workgroup|uniform|storage|handle)\\b"},"attributes":{"patterns":[{"match":"(@)\\s*([_$[:alpha:]][_$[:alnum:]]*)\\b","captures":{"1":{"name":"punctuation.attribute.wgsl"},"2":{"name":"entity.other.attribute.wgsl"}}}]},"bevy_preprocessor_directives":{"name":"invalid.deprecated.wgsl","match":"^#(ifdef|else|endif|import|define_import_path)\\b"},"block_comments":{"name":"comment.block.wgsl","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_comments"}]},"built-in_value_names":{"name":"variable.language.built-ins.wgsl","match":"\\b(vertex_index|instance_index|position|front_facing|frag_depth|sample_index|sample_mask|local_invocation_id|local_invocation_index|global_invocation_id|workgroup_id|num_workgroups|subgroup_invocation_id|subgroup_size)\\b"},"function_arguments":{"patterns":[{"include":"#line_ending_comments"},{"include":"#block_comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#literals"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"},{"include":"#reserved_words"},{"include":"#address_spaces"},{"include":"#memory_access_modes"},{"include":"#operators"},{"include":"#built-in_value_names"}]},"function_calls":{"patterns":[{"name":"meta.function.wgsl","begin":"([_$[:alpha:]][_$[:alnum:]]*)\\s*(\u003c[^|\u0026()]+\u003e)?(\\()","end":"\\)","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"patterns":[{"include":"#function_arguments"}]},"3":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}}}]},"functions":{"patterns":[{"name":"meta.function.definition.wgsl","begin":"\\b(fn)\\s+([_$[:alpha:]][_$[:alnum:]]*)\\s*((\\()|(\u003c))","end":"\\{","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"1":{"name":"keyword.fn.wgsl"},"2":{"name":"entity.name.function.definition.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}}}]},"keywords":{"patterns":[{"name":"keyword.other.declarations-and-types.wgsl","match":"\\b(alias|const|fn|let|override|struct|var)\\b"},{"name":"keyword.control.wgsl","match":"\\b(break|case|continue|continuing|default|discard|(?\u003c!#)else|for|if|loop|return|switch|while)\\b"},{"name":"keyword.other.assertions.wgsl","match":"\\b(const_assert)\\b"},{"name":"keyword.other.directive.wgsl","match":"(?\u003c!@)\\b(diagnostic|enable|requires)\\b"}]},"line_ending_comments":{"name":"comment.line.double-slash.wgsl","match":"\\s*//.*"},"literals":{"patterns":[{"name":"constant.numeric.decimal.int.wgsl","match":"\\b(0[iu]?|[1-9][0-9]*[iu]?)\\b"},{"name":"constant.numeric.hex.int.wgsl","match":"\\b(0[xX][0-9a-fA-F]+[iu]?)\\b"},{"name":"constant.numeric.decimal.float.wgsl","match":"\\b(0[fh]|[1-9][0-9]*[fh]|[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?[fh]?|[0-9]+\\.[0-9]*([eE][+-]?[0-9]+)?[fh]?|[0-9]+[eE][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.numeric.hex.float.wgsl","match":"\\b(0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+\\.[0-9a-fA-F]*([pP][+-]?[0-9]+[fh]?)?|0[xX][0-9a-fA-F]+[pP][+-]?[0-9]+[fh]?)\\b"},{"name":"constant.language.boolean.wgsl","match":"\\b(true|false)\\b"}]},"matrix_types":{"patterns":[{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])\\b"},{"name":"storage.type.matrixes.wgsl","match":"\\b(mat[2-4]x[2-4])(f|h)\\b"}]},"memory_access_modes":{"name":"storage.modifier.memory_access_modes.wgsl","match":"\\b(read|write|read_write)\\b"},"memory_views":{"name":"storage.type.ptr.wgsl","match":"\\b(ptr)\\b"},"operators":{"patterns":[{"name":"keyword.operator.logical.wgsl","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.address-of.and.wgsl","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.wgsl","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.wgsl","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.wgsl","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.wgsl","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"name":"keyword.operator.access.dot.wgsl","match":"\\.(?!\\.)"},{"name":"keyword.operator.arrow.skinny.wgsl","match":"-\u003e"},{"name":"keyword.operator.type.annotation.wgsl","match":":"}]},"plain_types":{"patterns":[{"name":"storage.type.boolean.wgsl","match":"\\b(bool)\\b"},{"name":"storage.type.integer.wgsl","match":"\\b(i32|u32)\\b"},{"name":"storage.type.floating-point.wgsl","match":"\\b(f32|f16)\\b"},{"include":"#vector_types"},{"include":"#matrix_types"},{"name":"storage.type.wgsl","match":"\\b(atomic)\\b"},{"name":"storage.type.wgsl","match":"\\b(array)\\b"},{"name":"entity.name.type.wgsl","match":"\\b([A-Z][_$[:alnum:]]*)\\b"},{"name":"storage.type.wgsl","match":"\\b(i64|u64|f64)\\b"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.wgsl","match":","},{"name":"punctuation.brackets.curly.wgsl","match":"[{}]"},{"name":"punctuation.brackets.round.wgsl","match":"[()]"},{"name":"punctuation.semi.wgsl","match":";"},{"name":"punctuation.brackets.square.wgsl","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.wgsl","match":"(?\u003c!=)[\u003c\u003e]"}]},"reserved_words":{"name":"keyword.other.reserved_words.wgsl","match":"\\b(aNULL|Self|abstract|active|alignas|alignof|as|asm|asm_fragment|async|attribute|auto|await|become|cast|catch|class|co_await|co_return|co_yield|coherent|column_major|common|compile|compile_fragment|concept|const_cast|consteval|constexpr|constinit|crate|debugger|decltype|delete|demote|demote_to_helper|do|dynamic_cast|enum|explicit|export|extends|extern|external|fallthrough|filter|final|finally|friend|from|fxgroup|get|goto|groupshared|highp|impl|implements|import|inline|instanceof|interface|layout|lowp|macro|macro_rules|match|mediump|meta|mod|module|move|mut|mutable|namespace|new|nil|noexcept|noinline|nointerpolation|non_coherent|noncoherent|noperspective|null|nullptr|of|operator|package|packoffset|partition|pass|patch|pixelfragment|precise|precision|premerge|priv|protected|pub|public|readonly|ref|regardless|register|reinterpret_cast|require|resource|restrict|self|set|shared|sizeof|smooth|snorm|static|static_assert|static_cast|std|subroutine|super|target|template|this|thread_local|throw|trait|try|type|typedef|typeid|typename|typeof|union|unless|unorm|unsafe|unsized|use|using|varying|virtual|volatile|wgsl|where|with|writeonly|yield)\\b"},"texture_and_sampler_types":{"patterns":[{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array)\\b"},{"name":"storage.type.sampled-texture.wgsl","match":"\\b(texture_multisampled_2d|texture_depth_multisampled_2d)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_external)\\b"},{"name":"storage.type.external-sampled-texture.wgsl","match":"\\b(texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d)\\b"},{"name":"storage.type.depth-texture.wgsl","match":"\\b(texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array)\\b"},{"name":"storage.type.sampler.wgsl","match":"\\b(sampler|sampler_comparison)\\b"}]},"types":{"patterns":[{"include":"#plain_types"},{"include":"#memory_views"},{"include":"#texture_and_sampler_types"}]},"variables":{"patterns":[{"name":"variable.other.wgsl","match":"\\b([_$[:alpha:]][_$[:alnum:]]*)\\b"}]},"vector_types":{"patterns":[{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])\\b"},{"name":"storage.type.vectors.wgsl","match":"\\b(vec)([2-4])(i|u|f|h)\\b"}]}}}