@shikijs/langs-precompiled 3.2.2 → 3.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 (224) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-html.mjs +1 -1
  6. package/dist/angular-inline-style.mjs +1 -1
  7. package/dist/angular-inline-template.mjs +1 -1
  8. package/dist/angular-let-declaration.mjs +1 -1
  9. package/dist/angular-template-blocks.mjs +1 -1
  10. package/dist/angular-ts.mjs +1 -1
  11. package/dist/apache.mjs +1 -1
  12. package/dist/apex.mjs +1 -1
  13. package/dist/apl.mjs +1 -1
  14. package/dist/applescript.mjs +1 -1
  15. package/dist/ara.mjs +1 -1
  16. package/dist/asciidoc.mjs +1 -1
  17. package/dist/asm.mjs +1 -1
  18. package/dist/astro.mjs +1 -1
  19. package/dist/awk.mjs +1 -1
  20. package/dist/ballerina.mjs +1 -1
  21. package/dist/bat.mjs +1 -1
  22. package/dist/beancount.mjs +1 -1
  23. package/dist/berry.mjs +1 -1
  24. package/dist/bibtex.mjs +1 -1
  25. package/dist/bicep.mjs +1 -1
  26. package/dist/blade.mjs +1 -1
  27. package/dist/bsl.mjs +1 -1
  28. package/dist/c.mjs +1 -1
  29. package/dist/cadence.mjs +1 -1
  30. package/dist/cairo.mjs +1 -1
  31. package/dist/clarity.mjs +1 -1
  32. package/dist/clojure.mjs +1 -1
  33. package/dist/cobol.mjs +1 -1
  34. package/dist/codeql.mjs +1 -1
  35. package/dist/coffee.mjs +1 -1
  36. package/dist/common-lisp.mjs +1 -1
  37. package/dist/coq.mjs +1 -1
  38. package/dist/cpp-macro.mjs +1 -1
  39. package/dist/cpp.mjs +1 -1
  40. package/dist/crystal.mjs +1 -1
  41. package/dist/csharp.mjs +1 -1
  42. package/dist/css.mjs +1 -1
  43. package/dist/cue.mjs +1 -1
  44. package/dist/cypher.mjs +1 -1
  45. package/dist/d.mjs +1 -1
  46. package/dist/dart.mjs +1 -1
  47. package/dist/dax.mjs +1 -1
  48. package/dist/desktop.mjs +1 -1
  49. package/dist/diff.mjs +1 -1
  50. package/dist/dotenv.mjs +1 -1
  51. package/dist/dream-maker.mjs +1 -1
  52. package/dist/edge.mjs +1 -1
  53. package/dist/elixir.mjs +1 -1
  54. package/dist/elm.mjs +1 -1
  55. package/dist/emacs-lisp.mjs +1 -1
  56. package/dist/erb.mjs +1 -1
  57. package/dist/erlang.mjs +1 -1
  58. package/dist/es-tag-css.mjs +1 -1
  59. package/dist/es-tag-glsl.mjs +1 -1
  60. package/dist/es-tag-html.mjs +1 -1
  61. package/dist/es-tag-sql.mjs +1 -1
  62. package/dist/es-tag-xml.mjs +1 -1
  63. package/dist/fennel.mjs +1 -1
  64. package/dist/fish.mjs +1 -1
  65. package/dist/fluent.mjs +1 -1
  66. package/dist/fortran-fixed-form.mjs +1 -1
  67. package/dist/fortran-free-form.mjs +1 -1
  68. package/dist/fsharp.mjs +1 -1
  69. package/dist/gdresource.mjs +1 -1
  70. package/dist/gdscript.mjs +1 -1
  71. package/dist/gdshader.mjs +1 -1
  72. package/dist/genie.mjs +1 -1
  73. package/dist/gherkin.mjs +1 -1
  74. package/dist/gleam.mjs +1 -1
  75. package/dist/glimmer-js.mjs +1 -1
  76. package/dist/glimmer-ts.mjs +1 -1
  77. package/dist/glsl.mjs +1 -1
  78. package/dist/gnuplot.mjs +1 -1
  79. package/dist/go.mjs +1 -1
  80. package/dist/graphql.mjs +1 -1
  81. package/dist/groovy.mjs +1 -1
  82. package/dist/hack.mjs +1 -1
  83. package/dist/haml.mjs +1 -1
  84. package/dist/handlebars.mjs +1 -1
  85. package/dist/haskell.mjs +1 -1
  86. package/dist/haxe.mjs +1 -1
  87. package/dist/hcl.mjs +1 -1
  88. package/dist/hjson.mjs +1 -1
  89. package/dist/hlsl.mjs +1 -1
  90. package/dist/html-derivative.mjs +1 -1
  91. package/dist/html.mjs +1 -1
  92. package/dist/http.mjs +1 -1
  93. package/dist/hxml.mjs +1 -1
  94. package/dist/hy.mjs +1 -1
  95. package/dist/imba.mjs +1 -1
  96. package/dist/ini.mjs +1 -1
  97. package/dist/java.mjs +1 -1
  98. package/dist/javascript.mjs +1 -1
  99. package/dist/jinja.mjs +1 -1
  100. package/dist/jison.mjs +1 -1
  101. package/dist/json.mjs +1 -1
  102. package/dist/json5.mjs +1 -1
  103. package/dist/jsonc.mjs +1 -1
  104. package/dist/jsonl.mjs +1 -1
  105. package/dist/jsonnet.mjs +1 -1
  106. package/dist/jssm.mjs +1 -1
  107. package/dist/jsx.mjs +1 -1
  108. package/dist/julia.mjs +1 -1
  109. package/dist/kotlin.mjs +1 -1
  110. package/dist/kusto.mjs +1 -1
  111. package/dist/latex.mjs +1 -1
  112. package/dist/lean.mjs +1 -1
  113. package/dist/less.mjs +1 -1
  114. package/dist/liquid.mjs +1 -1
  115. package/dist/llvm.mjs +1 -1
  116. package/dist/log.mjs +1 -1
  117. package/dist/logo.mjs +1 -1
  118. package/dist/lua.mjs +1 -1
  119. package/dist/luau.mjs +1 -1
  120. package/dist/make.mjs +1 -1
  121. package/dist/markdown-vue.mjs +1 -1
  122. package/dist/markdown.mjs +1 -1
  123. package/dist/marko.mjs +1 -1
  124. package/dist/matlab.mjs +1 -1
  125. package/dist/mdc.mjs +1 -1
  126. package/dist/mdx.mjs +1 -1
  127. package/dist/mermaid.mjs +1 -1
  128. package/dist/mipsasm.mjs +1 -1
  129. package/dist/mojo.mjs +1 -1
  130. package/dist/move.mjs +1 -1
  131. package/dist/narrat.mjs +1 -1
  132. package/dist/nextflow.mjs +1 -1
  133. package/dist/nginx.mjs +1 -1
  134. package/dist/nim.mjs +1 -1
  135. package/dist/nix.mjs +1 -1
  136. package/dist/nushell.mjs +1 -1
  137. package/dist/objective-c.mjs +1 -1
  138. package/dist/objective-cpp.mjs +1 -1
  139. package/dist/ocaml.mjs +1 -1
  140. package/dist/pascal.mjs +1 -1
  141. package/dist/perl.mjs +1 -1
  142. package/dist/php.mjs +1 -1
  143. package/dist/plsql.mjs +1 -1
  144. package/dist/po.mjs +1 -1
  145. package/dist/polar.mjs +1 -1
  146. package/dist/postcss.mjs +1 -1
  147. package/dist/powerquery.mjs +1 -1
  148. package/dist/powershell.mjs +1 -1
  149. package/dist/prisma.mjs +1 -1
  150. package/dist/prolog.mjs +1 -1
  151. package/dist/proto.mjs +1 -1
  152. package/dist/pug.mjs +1 -1
  153. package/dist/puppet.mjs +1 -1
  154. package/dist/purescript.mjs +1 -1
  155. package/dist/python.mjs +1 -1
  156. package/dist/qml.mjs +1 -1
  157. package/dist/qss.mjs +1 -1
  158. package/dist/r.mjs +1 -1
  159. package/dist/racket.mjs +1 -1
  160. package/dist/raku.mjs +1 -1
  161. package/dist/razor.mjs +1 -1
  162. package/dist/reg.mjs +1 -1
  163. package/dist/regexp.mjs +1 -1
  164. package/dist/rel.mjs +1 -1
  165. package/dist/riscv.mjs +1 -1
  166. package/dist/rst.mjs +1 -1
  167. package/dist/ruby.mjs +1 -1
  168. package/dist/rust.mjs +1 -1
  169. package/dist/sas.mjs +1 -1
  170. package/dist/sass.mjs +1 -1
  171. package/dist/scala.mjs +1 -1
  172. package/dist/scheme.mjs +1 -1
  173. package/dist/scss.mjs +1 -1
  174. package/dist/sdbl.mjs +1 -1
  175. package/dist/shaderlab.mjs +1 -1
  176. package/dist/shellscript.mjs +1 -1
  177. package/dist/shellsession.mjs +1 -1
  178. package/dist/smalltalk.mjs +1 -1
  179. package/dist/solidity.mjs +1 -1
  180. package/dist/soy.mjs +1 -1
  181. package/dist/sparql.mjs +1 -1
  182. package/dist/splunk.mjs +1 -1
  183. package/dist/sql.mjs +1 -1
  184. package/dist/ssh-config.mjs +1 -1
  185. package/dist/stata.mjs +1 -1
  186. package/dist/stylus.mjs +1 -1
  187. package/dist/svelte.mjs +1 -1
  188. package/dist/system-verilog.mjs +1 -1
  189. package/dist/systemd.mjs +1 -1
  190. package/dist/talonscript.mjs +1 -1
  191. package/dist/tasl.mjs +1 -1
  192. package/dist/tcl.mjs +1 -1
  193. package/dist/templ.mjs +1 -1
  194. package/dist/terraform.mjs +1 -1
  195. package/dist/tex.mjs +1 -1
  196. package/dist/toml.mjs +1 -1
  197. package/dist/tsx.mjs +1 -1
  198. package/dist/turtle.mjs +1 -1
  199. package/dist/twig.mjs +1 -1
  200. package/dist/typescript.mjs +1 -1
  201. package/dist/typespec.mjs +1 -1
  202. package/dist/typst.mjs +1 -1
  203. package/dist/v.mjs +1 -1
  204. package/dist/vala.mjs +1 -1
  205. package/dist/vb.mjs +1 -1
  206. package/dist/verilog.mjs +1 -1
  207. package/dist/vhdl.mjs +1 -1
  208. package/dist/viml.mjs +1 -1
  209. package/dist/vue-html.mjs +1 -1
  210. package/dist/vue-sfc-style-variable-injection.mjs +1 -1
  211. package/dist/vue.mjs +3 -3
  212. package/dist/vyper.mjs +1 -1
  213. package/dist/wasm.mjs +1 -1
  214. package/dist/wenyan.mjs +1 -1
  215. package/dist/wgsl.mjs +1 -1
  216. package/dist/wikitext.mjs +1 -1
  217. package/dist/wit.mjs +1 -1
  218. package/dist/wolfram.mjs +1 -1
  219. package/dist/xml.mjs +1 -1
  220. package/dist/xsl.mjs +1 -1
  221. package/dist/yaml.mjs +1 -1
  222. package/dist/zenscript.mjs +1 -1
  223. package/dist/zig.mjs +1 -1
  224. package/package.json +4 -4
package/dist/nginx.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
  import lua from './lua.mjs'
3
3
 
4
- const lang = Object.freeze({displayName:"Nginx",fileTypes:["conf.erb","conf","ngx","nginx.conf","mime.types","fastcgi_params","scgi_params","uwsgi_params"],foldingStartMarker:/\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/^\p{space}*\}/dgv,name:"nginx",patterns:[{match:/#[^\n]*/dgv,name:"comment.line.number-sign"},{begin:/\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua(?:_block)?)\p{space}*\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},contentName:"meta.embedded.block.lua",end:/\}/dgv,name:"meta.context.lua.nginx",patterns:[{include:"source.lua"}]},{begin:/\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua)\p{space}*'/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},contentName:"meta.embedded.block.lua",end:/'/dgv,name:"meta.context.lua.nginx",patterns:[{include:"source.lua"}]},{begin:/\b(events) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.events.nginx",patterns:[{include:"$self"}]},{begin:/\b(http) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.http.nginx",patterns:[{include:"$self"}]},{begin:/\b(mail) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.mail.nginx",patterns:[{include:"$self"}]},{begin:/\b(stream) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.stream.nginx",patterns:[{include:"$self"}]},{begin:/\b(server) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.server.nginx",patterns:[{include:"$self"}]},{begin:/\b(location) +(\^?~\*?|=) +([^\n]*?)\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"},"2":{name:"keyword.operator.nginx"},"3":{name:"string.regexp.nginx"}},end:/\}/dgv,name:"meta.context.location.nginx",patterns:[{include:"$self"}]},{begin:/\b(location) +([^\n]*?)\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"},"2":{name:"entity.name.context.location.nginx"}},end:/\}/dgv,name:"meta.context.location.nginx",patterns:[{include:"$self"}]},{begin:/\b(limit_except) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.limit_except.nginx",patterns:[{include:"$self"}]},{begin:/\b(if) +\(/dgv,beginCaptures:{"1":{name:"keyword.control.nginx"}},end:/\)/dgv,name:"meta.context.if.nginx",patterns:[{include:"#if_condition"}]},{begin:/\b(upstream) +([^\n]*?)\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"},"2":{name:"entity.name.context.location.nginx"}},end:/\}/dgv,name:"meta.context.upstream.nginx",patterns:[{include:"$self"}]},{begin:/\b(types) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.types.nginx",patterns:[{include:"$self"}]},{begin:/\b(map) +(\$)([A-Za-z0-9_]+) +(\$)([A-Za-z0-9_]+) *\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"},"2":{name:"punctuation.definition.variable.nginx"},"3":{name:"variable.parameter.nginx"},"4":{name:"punctuation.definition.variable.nginx"},"5":{name:"variable.other.nginx"}},end:/\}/dgv,name:"meta.context.map.nginx",patterns:[{include:"#values"},{match:/;/dgv,name:"punctuation.terminator.nginx"},{match:/#[^\n]*/dgv,name:"comment.line.number-sign"}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.block.nginx",patterns:[{include:"$self"}]},{begin:/\b(return)\b/dgv,beginCaptures:{"1":{name:"keyword.control.nginx"}},end:/;/dgv,patterns:[{include:"#values"}]},{begin:/\b(rewrite)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"}},end:/(last|break|redirect|permanent)?(;)/dgv,endCaptures:{"1":{name:"keyword.other.nginx"},"2":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/\b(server)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"1":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#server_parameters"}]},{begin:/\b(internal|empty_gif|f4f|flv|hls|mp4|break|status|stub_status|ip_hash|ntlm|least_conn|upstream_conf|least_conn|zone_sync)\b/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"}},end:/(;|(?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.terminator.nginx"}}},{begin:/(["'\p{space}]|^)(accept_)(mutex(?:|_delay))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(debug_)(connection|points)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(error_)(log|page)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(ssl_)(engine|buffer_size|certificate|certificate_key|ciphers|client_certificate|conf_command|crl|dhparam|early_data|ecdh_curve|ocsp|ocsp_cache|ocsp_responder|password_file|prefer_server_ciphers|protocols|reject_handshake|session_cache|session_ticket_key|session_tickets|session_timeout|stapling|stapling_file|stapling_responder|stapling_verify|trusted_certificate|verify_client|verify_depth|alpn|handshake_timeout|preread)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(worker_)(aio_requests|connections|cpu_affinity|priority|processes|rlimit_core|rlimit_nofile|shutdown_timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(auth_)(delay|basic|basic_user_file|jwt|jwt_claim_set|jwt_header_set|jwt_key_cache|jwt_key_file|jwt_key_request|jwt_leeway|jwt_type|jwt_require|request|request_set|http|http_header|http_pass_client_cert|http_timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(client_)(body_buffer_size|body_in_file_only|body_in_single_buffer|body_temp_path|body_timeout|header_buffer_size|header_timeout|max_body_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(keepalive_)(disable|requests|time|timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(limit_)(rate|rate_after|conn|conn_dry_run|conn_log_level|conn_status|conn_zone|zone|req|req_dry_run|req_log_level|req_status|req_zone)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(lingering_)(close|time|timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(log_)(not_found|subrequest|format)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(max_)(ranges|errors)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(msie_)(padding|refresh)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(open_)(file_cache|file_cache_errors|file_cache_min_uses|file_cache_valid|log_file_cache)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(send_)(lowat|timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(server_)(name|name_in_redirect|names_hash_bucket_size|names_hash_max_size|tokens)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(tcp_)(no(?:delay|push))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(types_)(hash_(?:bucket_size|max_size))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(variables_)(hash_(?:bucket_size|max_size))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(add_)(before_body|after_body|header|trailer)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(status_)(zone|format)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(autoindex_)(exact_size|format|localtime)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(ancient_)(browser(?:|_value))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(modern_)(browser(?:|_value))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(charset_)(map|types)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(dav_)(access|methods)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(fastcgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|catch_stderr|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|index|intercept_errors|keep_conn|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_lowat|send_timeout|socket_keepalive|split_path_info|store|store_access|temp_file_write_size|temp_path)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(geoip_)(country|city|org|proxy|proxy_recursive)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(grpc_)(bind|buffer_size|connect_timeout|hide_header|ignore_headers|intercept_errors|next_upstream|next_upstream_timeout|next_upstream_tries|pass|pass_header|read_timeout|send_timeout|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(gzip_)(buffers|comp_level|disable|http_version|min_length|proxied|types|vary|static)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(hls_)(buffers|forward_args|fragment|mp4_buffer_size|mp4_max_buffer_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(image_)(filter(?:|_buffer|_interlace|_jpeg_quality|_sharpen|_transparency|_webp_quality))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(map_)(hash_(?:bucket_size|max_size))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(memcached_)(bind|buffer_size|connect_timeout|gzip_flag|next_upstream|next_upstream_timeout|next_upstream_tries|pass|read_timeout|send_timeout|socket_keepalive)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(mp4_)(buffer_size|max_buffer_size|limit_rate|limit_rate_after|start_key_frame)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(perl_)(modules|require|set)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(proxy_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_convert_head|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|cookie_domain|cookie_flags|cookie_path|force_ranges|headers_hash_bucket_size|headers_hash_max_size|hide_header|http_version|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|method|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|redirect|request_buffering|send_lowat|send_timeout|set_body|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path|buffer|pass_error_message|protocol|smtp_auth|timeout|protocol_timeout|download_rate|half_close|requests|responses|session_drop|ssl|upload_rate)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(real_)(ip_(?:header|recursive))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(referer_)(hash_(?:bucket_size|max_size))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(scgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|store|store_access|temp_file_write_size|temp_path)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(secure_)(link(?:|_md5|_secret))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(session_)(log(?:|_format|_zone))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(ssi_)(last_modified|min_file_chunk|silent_errors|types|value_length)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(sub_)(filter(?:|_last_modified|_once|_types))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(health_)(check(?:|_timeout))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(userid_)(domain|expires|flags|mark|name|p3p|path|service)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(uwsgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|modifier1|modifier2|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(http2_)(body_preread_size|chunk_size|idle_timeout|max_concurrent_pushes|max_concurrent_streams|max_field_size|max_header_size|max_requests|push|push_preload|recv_buffer_size|recv_timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(http3_)(hq|max_concurrent_streams|stream_buffer_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(quic_)(active_connection_id_limit|bpf|gso|host_key|retry)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(xslt_)(last_modified|param|string_param|stylesheet|types)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(imap_)(auth|capabilities|client_buffer)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(pop3_)(auth|capabilities)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(smtp_)(auth|capabilities|client_buffer|greeting_delay)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(preread_)(buffer_size|timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(mqtt_)(preread|buffers|rewrite_buffer_size|set_connect)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(zone_)(sync_(?:buffers|connect_retry_interval|connect_timeout|interval|recv_buffer_size|server|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|timeout))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(otel_)(exporter|service_name|trace|trace_context|span_name|span_attr)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(js_)(body_filter|content|fetch_buffer_size|fetch_ciphers|fetch_max_response_buffer_size|fetch_protocols|fetch_timeout|fetch_trusted_certificate|fetch_verify|fetch_verify_depth|header_filter|import|include|path|periodic|preload_object|set|shared_dict_zone|var|access|filter|preread)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(daemon|env|include|pid|use|user|aio|alias|directio|etag|listen|resolver|root|satisfy|sendfile|allow|deny|api|autoindex|charset|geo|gunzip|gzip|expires|index|keyval|mirror|perl|set|slice|ssi|ssl|zone|state|hash|keepalive|queue|random|sticky|match|userid|http2|http3|protocol|timeout|xclient|starttls|mqtt|load_module|lock_file|master_process|multi_accept|pcre_jit|thread_pool|timer_resolution|working_directory|absolute_redirect|aio_write|chunked_transfer_encoding|connection_pool_size|default_type|directio_alignment|disable_symlinks|if_modified_since|ignore_invalid_headers|large_client_header_buffers|merge_slashes|output_buffers|port_in_redirect|postpone_output|read_ahead|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver_timeout|sendfile_max_chunk|subrequest_output_buffer_size|try_files|underscores_in_headers|addition_types|override_charset|source_charset|create_full_put_path|min_delete_depth|f4f_buffer_size|gunzip_buffers|internal_redirect|keyval_zone|access_log|mirror_request_body|random_index|set_real_ip_from|valid_referers|rewrite_log|uninitialized_variable_warn|split_clients|least_time|sticky_cookie_insert|xml_entities|google_perftools_profiles)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/\b([a-zA-Z0-9_]+)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.directive.unknown.nginx"}},end:/(;|(?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/\b([a-z]+\/[A-Za-z0-9\-\.\+]+)\b/dgv,beginCaptures:{"1":{name:"constant.other.mediatype.nginx"}},end:/(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]}],repository:{if_condition:{patterns:[{include:"#variables"},{match:/!?~\*?\p{space}/dgv,name:"keyword.operator.nginx"},{match:/!?-[fdex]\p{space}/dgv,name:"keyword.operator.nginx"},{match:/!?=[^\=]/dgv,name:"keyword.operator.nginx"},{include:"#regexp_and_string"}]},regexp_and_string:{patterns:[{match:/\^[^\n]*?\$/dgv,name:"string.regexp.nginx"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.nginx",patterns:[{match:/\\["'nt\\]/dgv,name:"constant.character.escape.nginx"},{include:"#variables"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.nginx",patterns:[{match:/\\["'nt\\]/dgv,name:"constant.character.escape.nginx"},{include:"#variables"}]}]},server_parameters:{patterns:[{captures:{"1":{name:"variable.parameter.nginx"},"2":{name:"keyword.operator.nginx"},"3":{name:"constant.numeric.nginx"}},match:/(?:^|\p{space})(weight|max_conn|max_fails|fail_timeout|slow_start)(=)(\p{Nd}[\p{Nd}\.]*[bBkKmMgGtTsShHdD]?)(?:[\p{space}\;]|(?=\n?$))/dgv},{include:"#values"}]},values:{patterns:[{include:"#variables"},{match:/#[^\n]*/dgv,name:"comment.line.number-sign"},{captures:{"1":{name:"constant.numeric.nginx"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})(=?[0-9][0-9\\.]*[bBkKmMgGtTsShHdD]?)(?=[\\t \\;])","dgv",{"strategy":"clip_search"})},{match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})(on|off|true|false)(?=[\\t \\;])","dgv",{"strategy":"clip_search"}),name:"constant.language.nginx"},{match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})(kqueue|rtsig|epoll|/dev/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\t \\;])","dgv",{"strategy":"clip_search"}),name:"constant.language.nginx"},{match:/\\[^\n]* |~\*|~|!~\*|!~/dgv,name:"keyword.operator.nginx"},{include:"#regexp_and_string"}]},variables:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.nginx"},"2":{name:"variable.other.nginx"}},match:/(\$)([A-Za-z0-9_]+)\b/dgv},{captures:{"1":{name:"punctuation.definition.variable.nginx"},"2":{name:"variable.other.nginx"},"3":{name:"punctuation.definition.variable.nginx"}},match:/(\$\{)([A-Za-z0-9_]+)(\})/dgv}]}},scopeName:"source.nginx",embeddedLangs:["lua"],aliases:undefined})
4
+ const lang = Object.freeze({displayName:"Nginx",fileTypes:["conf.erb","conf","ngx","nginx.conf","mime.types","fastcgi_params","scgi_params","uwsgi_params"],foldingStartMarker:/\{\p{space}*(?=\n?$)/dgv,foldingStopMarker:/^\p{space}*\}/dgv,name:"nginx",patterns:[{match:/#[^\n]*/dgv,name:"comment.line.number-sign"},{begin:/\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua(?:_block)?)\p{space}*\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},contentName:"meta.embedded.block.lua",end:/\}/dgv,name:"meta.context.lua.nginx",patterns:[{include:"source.lua"}]},{begin:/\b((?:content|rewrite|access|init_worker|init|set|log|balancer|ssl_(?:client_hello|session_fetch|certificate))_by_lua)\p{space}*'/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},contentName:"meta.embedded.block.lua",end:/'/dgv,name:"meta.context.lua.nginx",patterns:[{include:"source.lua"}]},{begin:/\b(events) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.events.nginx",patterns:[{include:"$self"}]},{begin:/\b(http) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.http.nginx",patterns:[{include:"$self"}]},{begin:/\b(mail) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.mail.nginx",patterns:[{include:"$self"}]},{begin:/\b(stream) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.stream.nginx",patterns:[{include:"$self"}]},{begin:/\b(server) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.server.nginx",patterns:[{include:"$self"}]},{begin:/\b(location) +(\^?~\*?|=) +([^\n]*?)\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"},"2":{name:"keyword.operator.nginx"},"3":{name:"string.regexp.nginx"}},end:/\}/dgv,name:"meta.context.location.nginx",patterns:[{include:"$self"}]},{begin:/\b(location) +([^\n]*?)\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"},"2":{name:"entity.name.context.location.nginx"}},end:/\}/dgv,name:"meta.context.location.nginx",patterns:[{include:"$self"}]},{begin:/\b(limit_except) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.limit_except.nginx",patterns:[{include:"$self"}]},{begin:/\b(if) +\(/dgv,beginCaptures:{"1":{name:"keyword.control.nginx"}},end:/\)/dgv,name:"meta.context.if.nginx",patterns:[{include:"#if_condition"}]},{begin:/\b(upstream) +([^\n]*?)\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"},"2":{name:"entity.name.context.location.nginx"}},end:/\}/dgv,name:"meta.context.upstream.nginx",patterns:[{include:"$self"}]},{begin:/\b(types) +\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"}},end:/\}/dgv,name:"meta.context.types.nginx",patterns:[{include:"$self"}]},{begin:/\b(map) +(\$)([0-9A-Z_a-z]+) +(\$)([0-9A-Z_a-z]+) *\{/dgv,beginCaptures:{"1":{name:"storage.type.directive.context.nginx"},"2":{name:"punctuation.definition.variable.nginx"},"3":{name:"variable.parameter.nginx"},"4":{name:"punctuation.definition.variable.nginx"},"5":{name:"variable.other.nginx"}},end:/\}/dgv,name:"meta.context.map.nginx",patterns:[{include:"#values"},{match:/;/dgv,name:"punctuation.terminator.nginx"},{match:/#[^\n]*/dgv,name:"comment.line.number-sign"}]},{begin:/\{/dgv,end:/\}/dgv,name:"meta.block.nginx",patterns:[{include:"$self"}]},{begin:/\b(return)\b/dgv,beginCaptures:{"1":{name:"keyword.control.nginx"}},end:/;/dgv,patterns:[{include:"#values"}]},{begin:/\b(rewrite)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"}},end:/(last|break|redirect|permanent)?(;)/dgv,endCaptures:{"1":{name:"keyword.other.nginx"},"2":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/\b(server)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"1":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#server_parameters"}]},{begin:/\b(internal|empty_gif|f4f|flv|hls|mp4|break|status|stub_status|ip_hash|ntlm|least_conn|upstream_conf|least_conn|zone_sync)\b/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"}},end:/(;|(?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.terminator.nginx"}}},{begin:/(["'\p{space}]|^)(accept_)(mutex(?:|_delay))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(debug_)(connection|points)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(error_)(log|page)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(ssl_)(engine|buffer_size|certificate|certificate_key|ciphers|client_certificate|conf_command|crl|dhparam|early_data|ecdh_curve|ocsp|ocsp_cache|ocsp_responder|password_file|prefer_server_ciphers|protocols|reject_handshake|session_cache|session_ticket_key|session_tickets|session_timeout|stapling|stapling_file|stapling_responder|stapling_verify|trusted_certificate|verify_client|verify_depth|alpn|handshake_timeout|preread)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(worker_)(aio_requests|connections|cpu_affinity|priority|processes|rlimit_core|rlimit_nofile|shutdown_timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(auth_)(delay|basic|basic_user_file|jwt|jwt_claim_set|jwt_header_set|jwt_key_cache|jwt_key_file|jwt_key_request|jwt_leeway|jwt_type|jwt_require|request|request_set|http|http_header|http_pass_client_cert|http_timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(client_)(body_buffer_size|body_in_file_only|body_in_single_buffer|body_temp_path|body_timeout|header_buffer_size|header_timeout|max_body_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(keepalive_)(disable|requests|time|timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(limit_)(rate|rate_after|conn|conn_dry_run|conn_log_level|conn_status|conn_zone|zone|req|req_dry_run|req_log_level|req_status|req_zone)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(lingering_)(close|time|timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(log_)(not_found|subrequest|format)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(max_)(ranges|errors)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(msie_)(padding|refresh)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(open_)(file_cache|file_cache_errors|file_cache_min_uses|file_cache_valid|log_file_cache)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(send_)(lowat|timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(server_)(name|name_in_redirect|names_hash_bucket_size|names_hash_max_size|tokens)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(tcp_)(no(?:delay|push))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(types_)(hash_(?:bucket|max)_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(variables_)(hash_(?:bucket|max)_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(add_)(before_body|after_body|header|trailer)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(status_)(zone|format)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(autoindex_)(exact_size|format|localtime)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(ancient_)(browser(?:|_value))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(modern_)(browser(?:|_value))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(charset_)(map|types)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(dav_)(access|methods)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(fastcgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|catch_stderr|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|index|intercept_errors|keep_conn|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_lowat|send_timeout|socket_keepalive|split_path_info|store|store_access|temp_file_write_size|temp_path)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(geoip_)(country|city|org|proxy|proxy_recursive)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(grpc_)(bind|buffer_size|connect_timeout|hide_header|ignore_headers|intercept_errors|next_upstream|next_upstream_timeout|next_upstream_tries|pass|pass_header|read_timeout|send_timeout|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(gzip_)(buffers|comp_level|disable|http_version|min_length|proxied|types|vary|static)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(hls_)(buffers|forward_args|fragment|mp4_buffer_size|mp4_max_buffer_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(image_)(filter(?:|_buffer|_interlace|_jpeg_quality|_sharpen|_transparency|_webp_quality))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(map_)(hash_(?:bucket|max)_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(memcached_)(bind|buffer_size|connect_timeout|gzip_flag|next_upstream|next_upstream_timeout|next_upstream_tries|pass|read_timeout|send_timeout|socket_keepalive)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(mp4_)(buffer_size|max_buffer_size|limit_rate|limit_rate_after|start_key_frame)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(perl_)(modules|require|set)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(proxy_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_convert_head|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|cookie_domain|cookie_flags|cookie_path|force_ranges|headers_hash_bucket_size|headers_hash_max_size|hide_header|http_version|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|method|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|redirect|request_buffering|send_lowat|send_timeout|set_body|set_header|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path|buffer|pass_error_message|protocol|smtp_auth|timeout|protocol_timeout|download_rate|half_close|requests|responses|session_drop|ssl|upload_rate)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(real_)(ip_(?:header|recursive))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(referer_)(hash_(?:bucket|max)_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(scgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|store|store_access|temp_file_write_size|temp_path)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(secure_)(link(?:|_md5|_secret))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(session_)(log(?:|_format|_zone))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(ssi_)(last_modified|min_file_chunk|silent_errors|types|value_length)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(sub_)(filter(?:|_last_modified|_once|_types))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(health_)(check(?:|_timeout))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(userid_)(domain|expires|flags|mark|name|p3p|path|service)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(uwsgi_)(bind|buffer_size|buffering|buffers|busy_buffers_size|cache|cache_background_update|cache_bypass|cache_key|cache_lock|cache_lock_age|cache_lock_timeout|cache_max_range_offset|cache_methods|cache_min_uses|cache_path|cache_purge|cache_revalidate|cache_use_stale|cache_valid|connect_timeout|force_ranges|hide_header|ignore_client_abort|ignore_headers|intercept_errors|limit_rate|max_temp_file_size|modifier1|modifier2|next_upstream|next_upstream_timeout|next_upstream_tries|no_cache|param|pass|pass_header|pass_request_body|pass_request_headers|read_timeout|request_buffering|send_timeout|socket_keepalive|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_session_reuse|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|store|store_access|temp_file_write_size|temp_path)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(http2_)(body_preread_size|chunk_size|idle_timeout|max_concurrent_pushes|max_concurrent_streams|max_field_size|max_header_size|max_requests|push|push_preload|recv_buffer_size|recv_timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(http3_)(hq|max_concurrent_streams|stream_buffer_size)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(quic_)(active_connection_id_limit|bpf|gso|host_key|retry)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(xslt_)(last_modified|param|string_param|stylesheet|types)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(imap_)(auth|capabilities|client_buffer)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(pop3_)(auth|capabilities)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(smtp_)(auth|capabilities|client_buffer|greeting_delay)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(preread_)(buffer_size|timeout)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(mqtt_)(preread|buffers|rewrite_buffer_size|set_connect)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(zone_)(sync_(?:buffers|connect_retry_interval|connect_timeout|interval|recv_buffer_size|server|ssl|ssl_certificate|ssl_certificate_key|ssl_ciphers|ssl_conf_command|ssl_crl|ssl_name|ssl_password_file|ssl_protocols|ssl_server_name|ssl_trusted_certificate|ssl_verify|ssl_verify_depth|timeout))(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(otel_)(exporter|service_name|trace|trace_context|span_name|span_attr)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(js_)(body_filter|content|fetch_buffer_size|fetch_ciphers|fetch_max_response_buffer_size|fetch_protocols|fetch_timeout|fetch_trusted_certificate|fetch_verify|fetch_verify_depth|header_filter|import|include|path|periodic|preload_object|set|shared_dict_zone|var|access|filter|preread)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"},"4":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/(["'\p{space}]|^)(daemon|env|include|pid|use|user|aio|alias|directio|etag|listen|resolver|root|satisfy|sendfile|allow|deny|api|autoindex|charset|geo|gunzip|gzip|expires|index|keyval|mirror|perl|set|slice|ssi|ssl|zone|state|hash|keepalive|queue|random|sticky|match|userid|http2|http3|protocol|timeout|xclient|starttls|mqtt|load_module|lock_file|master_process|multi_accept|pcre_jit|thread_pool|timer_resolution|working_directory|absolute_redirect|aio_write|chunked_transfer_encoding|connection_pool_size|default_type|directio_alignment|disable_symlinks|if_modified_since|ignore_invalid_headers|large_client_header_buffers|merge_slashes|output_buffers|port_in_redirect|postpone_output|read_ahead|recursive_error_pages|request_pool_size|reset_timedout_connection|resolver_timeout|sendfile_max_chunk|subrequest_output_buffer_size|try_files|underscores_in_headers|addition_types|override_charset|source_charset|create_full_put_path|min_delete_depth|f4f_buffer_size|gunzip_buffers|internal_redirect|keyval_zone|access_log|mirror_request_body|random_index|set_real_ip_from|valid_referers|rewrite_log|uninitialized_variable_warn|split_clients|least_time|sticky_cookie_insert|xml_entities|google_perftools_profiles)(["'\p{space}]|(?=\n?$))/dgv,beginCaptures:{"1":{name:"keyword.directive.nginx"},"2":{name:"keyword.directive.nginx"},"3":{name:"keyword.directive.nginx"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/\b([0-9A-Z_a-z]+)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.directive.unknown.nginx"}},end:/(;|(?=\n?$))/dgv,endCaptures:{"1":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]},{begin:/\b([a-z]+\/[\-\+\.0-9A-Za-z]+)\b/dgv,beginCaptures:{"1":{name:"constant.other.mediatype.nginx"}},end:/(;)/dgv,endCaptures:{"1":{name:"punctuation.terminator.nginx"}},patterns:[{include:"#values"}]}],repository:{if_condition:{patterns:[{include:"#variables"},{match:/!?~\*?\p{space}/dgv,name:"keyword.operator.nginx"},{match:/!?-[defx]\p{space}/dgv,name:"keyword.operator.nginx"},{match:/!?=[^\=]/dgv,name:"keyword.operator.nginx"},{include:"#regexp_and_string"}]},regexp_and_string:{patterns:[{match:/\^[^\n]*?\$/dgv,name:"string.regexp.nginx"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.nginx",patterns:[{match:/\\["'\\nt]/dgv,name:"constant.character.escape.nginx"},{include:"#variables"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.nginx",patterns:[{match:/\\["'\\nt]/dgv,name:"constant.character.escape.nginx"},{include:"#variables"}]}]},server_parameters:{patterns:[{captures:{"1":{name:"variable.parameter.nginx"},"2":{name:"keyword.operator.nginx"},"3":{name:"constant.numeric.nginx"}},match:/(?:^|\p{space})(weight|max_conn|max_fails|fail_timeout|slow_start)(=)(\p{Nd}[\.\p{Nd}]*[BDGHKMSTbdghkmst]?)(?:[\;\p{space}]|(?=\n?$))/dgv},{include:"#values"}]},values:{patterns:[{include:"#variables"},{match:/#[^\n]*/dgv,name:"comment.line.number-sign"},{captures:{"1":{name:"constant.numeric.nginx"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})(=?[0-9][\\.0-9]*[BDGHKMSTbdghkmst]?)(?=[\\t \\;])","dgv",{"strategy":"clip_search"})},{match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})(on|off|true|false)(?=[\\t \\;])","dgv",{"strategy":"clip_search"}),name:"constant.language.nginx"},{match:/*@__PURE__*/ new EmulatedRegExp("(?<=^|\\p{space})(kqueue|rtsig|epoll|/dev/poll|select|poll|eventport|max|all|default_server|default|main|crit|error|debug|warn|notice|last)(?=[\\t \\;])","dgv",{"strategy":"clip_search"}),name:"constant.language.nginx"},{match:/\\[^\n]* |~\*|~|!~\*|!~/dgv,name:"keyword.operator.nginx"},{include:"#regexp_and_string"}]},variables:{patterns:[{captures:{"1":{name:"punctuation.definition.variable.nginx"},"2":{name:"variable.other.nginx"}},match:/(\$)([0-9A-Z_a-z]+)\b/dgv},{captures:{"1":{name:"punctuation.definition.variable.nginx"},"2":{name:"variable.other.nginx"},"3":{name:"punctuation.definition.variable.nginx"}},match:/(\$\{)([0-9A-Z_a-z]+)(\})/dgv}]}},scopeName:"source.nginx",embeddedLangs:["lua"],aliases:undefined})
5
5
 
6
6
  export default [
7
7
  ...lua,
package/dist/nim.mjs CHANGED
@@ -7,7 +7,7 @@ import css from './css.mjs'
7
7
  import glsl from './glsl.mjs'
8
8
  import markdown from './markdown.mjs'
9
9
 
10
- const lang = Object.freeze({displayName:"Nim",fileTypes:["nim"],name:"nim",patterns:[{begin:/[ \t]*##\[/dgv,contentName:"comment.block.doc-comment.content.nim",end:/\]##/dgv,name:"comment.block.doc-comment.nim",patterns:[{include:"#multilinedoccomment",name:"comment.block.doc-comment.nested.nim"}]},{begin:/[ \t]*#\[/dgv,contentName:"comment.block.content.nim",end:/\]#/dgv,name:"comment.block.nim",patterns:[{include:"#multilinecomment",name:"comment.block.nested.nim"}]},{begin:/(^[ \t]+)?(?=##)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/##/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.nim"}},end:/\n/dgv,name:"comment.line.number-sign.doc-comment.nim"}]},{begin:/(^[ \t]+)?(?=#[^\[])/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.nim"}},end:/\n/dgv,name:"comment.line.number-sign.nim"}]},{name:"meta.proc.nim",patterns:[{begin:/\b(proc|method|template|macro|iterator|converter|func)\p{space}+`?([^\:\{\p{space}\`\*\(]*)`?(\p{space}*\*)?\p{space}*(?=[\(\=\:\[\n\{])/dgv,captures:{"1":{name:"keyword.other"},"2":{name:"entity.name.function.nim"},"3":{name:"keyword.control.export"}},end:/\)/dgv,patterns:[{include:"source.nim"}]}]},{begin:/discard """/dgv,end:/"""(?!")/dgv,name:"comment.line.discarded.nim"},{include:"#float_literal"},{include:"#integer_literal"},{match:/(?<=`)[^\` ]+(?=`)/dgv,name:"entity.name.function.nim"},{captures:{"1":{name:"keyword.control.export"}},match:/\b\p{space}*(\*)(?:\p{space}*(?=[\,\:])|\p{space}+(?==))/dgv},{captures:{"1":{name:"support.type.nim"},"2":{name:"keyword.control.export"}},match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]+)(\*)/dgv},{include:"#string_literal"},{match:/\b(true|false|Inf|NegInf|NaN|nil)\b/dgv,name:"constant.language.nim"},{match:/\b(block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\b/dgv,name:"keyword.control.nim"},{match:/(\b(and|in|is|isnot|not|notin|or|xor)\b)/dgv,name:"keyword.boolean.nim"},{match:/([\=\+\-\*\/\<\>\@\$\~\&\%\!\?\^\.\:\\])+/dgv,name:"keyword.operator.nim"},{match:/(\b(addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template)\b)/dgv,name:"keyword.other.nim"},{match:/(\b(generic|interface|lambda|out|shared)\b)/dgv,name:"invalid.illegal.invalid-keyword.nim"},{match:/\b(new|await|assert|echo|defined|declared|newException|countup|countdown|high|low)\b/dgv,name:"keyword.other.common.function.nim"},{match:/\b(((uint|int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)\b/dgv,name:"storage.type.concrete.nim"},{match:/\b(range|array|seq|set|pointer)\b/dgv,name:"storage.type.generic.nim"},{match:/\b(openarray|varargs|void)\b/dgv,name:"storage.type.generic.nim"},{match:/\b[A-Z][A-Z0-9_]+\b/dgv,name:"support.constant.nim"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"support.type.nim"},{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\b(?=(\[([a-zA-Z0-9_\,\p{space}])+\])?\()/dgv,name:"support.function.any-method.nim"},{match:/(?!(openarray|varargs|void|range|array|seq|set|pointer|new|await|assert|echo|defined|declared|newException|countup|countdown|high|low|((uint|int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed|addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template|and|in|is|isnot|not|notin|or|xor|proc|method|template|macro|iterator|converter|func|true|false|Inf|NegInf|NaN|nil|block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\b)[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+(?!(and|in|is|isnot|not|notin|or|xor|[^a-zA-Z0-9_"'\`\(-\+]+)\b)(?=[a-zA-Z0-9_"'\`\(-\+])/dgv,name:"support.function.any-method.nim"},{begin:/(^\p{space}*)?(?=\{\.emit: ?""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/\{\.(emit:) ?(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.c",end:/(")""(?!")(\.?\})?/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.c"}},name:"meta.embedded.block.c",patterns:[{begin:/`/dgv,end:/`/dgv,name:"keyword.operator.nim"},{include:"source.c"}]}]},{begin:/\{\./dgv,beginCaptures:{"0":{name:"punctuation.pragma.start.nim"}},end:/\.?\}/dgv,endCaptures:{"0":{name:"punctuation.pragma.end.nim"}},patterns:[{begin:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)(?:\p{space}|\p{space}*:)/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"}},end:/(?=\.?\}|,)/dgv,patterns:[{include:"source.nim"}]},{begin:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)\(/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{captures:{"1":{name:"meta.preprocessor.pragma.nim"}},match:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)(?=\.?\}|,)/dgv},{begin:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)(""")/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"""(?!")/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"},{begin:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)(")/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim"},{begin:/\b(hint\[[\p{L}\p{M}\p{N}\p{Pc}]+\]):/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"}},end:/(?=\.?\}|,)/dgv,patterns:[{include:"source.nim"}]},{match:/,/dgv,name:"punctuation.separator.comma.nim"}]},{begin:/(^\p{space}*)?(?=asm """)/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(asm) (""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.asm",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.asm"}},name:"meta.embedded.block.asm",patterns:[{begin:/`/dgv,end:/`/dgv,name:"keyword.operator.nim"},{include:"source.asm"}]}]},{captures:{"1":{name:"storage.type.function.nim"},"2":{name:"keyword.operator.nim"}},match:/(tmpl(i)?)(?=( (html|xml|js|css|glsl|md))?""")/dgv},{begin:/(^\p{space}*)?(?=html""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(html)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.html",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"text.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\{\n])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"text.html.basic"}]}]},{begin:/(^\p{space}*)?(?=xml""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(xml)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.xml",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"text.xml"}},name:"meta.embedded.block.xml",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\{\n])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"text.xml"}]}]},{begin:/(^\p{space}*)?(?=js""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(js)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.js",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.js"}},name:"meta.embedded.block.js",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\{\n])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"source.js"}]}]},{begin:/(^\p{space}*)?(?=css""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(css)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.css",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.css"}},name:"meta.embedded.block.css",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\{\n])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"source.css"}]}]},{begin:/(^\p{space}*)?(?=glsl""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(glsl)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.glsl",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.glsl"}},name:"meta.embedded.block.glsl",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\{\n])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"source.glsl"}]}]},{begin:/(^\p{space}*)?(?=md""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(md)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.html.markdown",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"text.html.markdown"}},name:"meta.embedded.block.html.markdown",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\{\n])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"text.html.markdown"}]}]}],repository:{char_escapes:{patterns:[{match:/\\[cCrR]/dgv,name:"constant.character.escape.carriagereturn.nim"},{match:/\\[lLnN]/dgv,name:"constant.character.escape.linefeed.nim"},{match:/\\[fF]/dgv,name:"constant.character.escape.formfeed.nim"},{match:/\\[tT]/dgv,name:"constant.character.escape.tabulator.nim"},{match:/\\[vV]/dgv,name:"constant.character.escape.verticaltabulator.nim"},{match:/\\"/dgv,name:"constant.character.escape.double-quote.nim"},{match:/\\'/dgv,name:"constant.character.escape.single-quote.nim"},{match:/\\[0-9]+/dgv,name:"constant.character.escape.chardecimalvalue.nim"},{match:/\\[aA]/dgv,name:"constant.character.escape.alert.nim"},{match:/\\[bB]/dgv,name:"constant.character.escape.backspace.nim"},{match:/\\[eE]/dgv,name:"constant.character.escape.escape.nim"},{match:/\\[xX]\p{AHex}\p{AHex}/dgv,name:"constant.character.escape.hex.nim"},{match:/\\\\/dgv,name:"constant.character.escape.backslash.nim"}]},extended_string_quoted_double_raw:{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)(")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{include:"#raw_string_escapes"}]},extended_string_quoted_triple_raw:{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)(""")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"},float_literal:{patterns:[{match:/\b\p{Nd}[_\p{Nd}]*((\.\p{Nd}[_\p{Nd}]*([eE][\+\-]?\p{Nd}[_\p{Nd}]*)?)|([eE][\+\-]?\p{Nd}[_\p{Nd}]*))('([fF](32|64|128)|[fFdD]))?/dgv,name:"constant.numeric.float.decimal.nim"},{match:/\b0[xX]\p{AHex}[_\p{AHex}]*'([fF](32|64|128)|[fFdD])/dgv,name:"constant.numeric.float.hexadecimal.nim"},{match:/\b0o[0-7][_0-7]*'([fF](32|64|128)|[fFdD])/dgv,name:"constant.numeric.float.octal.nim"},{match:/\b0([bB])[01][_01]*'([fF](32|64|128)|[fFdD])/dgv,name:"constant.numeric.float.binary.nim"},{match:/\b(\p{Nd}[_\p{Nd}]*)'([fF](32|64|128)|[fFdD])/dgv,name:"constant.numeric.float.decimal.nim"}]},fmt_interpolation:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.nim"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.nim"}},name:"meta.template.expression.nim",patterns:[{begin:/:/dgv,end:/(?=\})/dgv,name:"meta.template.format-specifier.nim"},{include:"source.nim"}]},fmt_string:{begin:/\b(fmt)(")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{match:/(?<!")"(?!")/dgv,name:"invalid.illegal.nim"},{include:"#raw_string_escapes"},{include:"#fmt_interpolation"}]},fmt_string_call:{begin:/(fmt)\((?=")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"}},end:/\)/dgv,patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"(?=\))/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{match:/"/dgv,name:"invalid.illegal.nim"},{include:"#string_escapes"},{include:"#fmt_interpolation"}]}]},fmt_string_operator:{begin:/(&)(")/dgv,beginCaptures:{"1":{name:"keyword.operator.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{match:/"/dgv,name:"invalid.illegal.nim"},{include:"#string_escapes"},{include:"#fmt_interpolation"}]},fmt_string_triple:{begin:/\b(fmt)(""")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim",patterns:[{include:"#fmt_interpolation"}]},fmt_string_triple_operator:{begin:/(&)(""")/dgv,beginCaptures:{"1":{name:"keyword.operator.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim",patterns:[{include:"#fmt_interpolation"}]},integer_literal:{patterns:[{match:/\b(0[xX]\p{AHex}[_\p{AHex}]*)('(([iIuU](8|16|32|64))|[uU]))?/dgv,name:"constant.numeric.integer.hexadecimal.nim"},{match:/\b(0o[0-7][_0-7]*)('(([iIuU](8|16|32|64))|[uU]))?/dgv,name:"constant.numeric.integer.octal.nim"},{match:/\b(0([bB])[01][_01]*)('(([iIuU](8|16|32|64))|[uU]))?/dgv,name:"constant.numeric.integer.binary.nim"},{match:/\b(\p{Nd}[_\p{Nd}]*)('(([iIuU](8|16|32|64))|[uU]))?/dgv,name:"constant.numeric.integer.decimal.nim"}]},multilinecomment:{begin:/#\[/dgv,end:/\]#/dgv,patterns:[{include:"#multilinecomment"}]},multilinedoccomment:{begin:/##\[/dgv,end:/\]##/dgv,patterns:[{include:"#multilinedoccomment"}]},raw_string_escapes:{captures:{"1":{name:"constant.character.escape.double-quote.nim"}},match:/[^"]("")/dgv},string_escapes:{patterns:[{match:/\\[pP]/dgv,name:"constant.character.escape.newline.nim"},{match:/\\[uU]\p{AHex}\p{AHex}\p{AHex}\p{AHex}/dgv,name:"constant.character.escape.hex.nim"},{match:/\\[uU]\{\p{AHex}+\}/dgv,name:"constant.character.escape.hex.nim"},{include:"#char_escapes"}]},string_literal:{patterns:[{include:"#fmt_string_triple"},{include:"#fmt_string_triple_operator"},{include:"#extended_string_quoted_triple_raw"},{include:"#string_quoted_triple_raw"},{include:"#fmt_string_operator"},{include:"#fmt_string"},{include:"#fmt_string_call"},{include:"#string_quoted_double_raw"},{include:"#extended_string_quoted_double_raw"},{include:"#string_quoted_single"},{include:"#string_quoted_triple"},{include:"#string_quoted_double"}]},string_quoted_double:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{include:"#string_escapes"}]},string_quoted_double_raw:{begin:/\br"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{include:"#raw_string_escapes"}]},string_quoted_single:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.single.nim",patterns:[{include:"#char_escapes"},{match:/([^']{2,}?)/dgv,name:"invalid.illegal.character.nim"}]},string_quoted_triple:{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"""(?!")/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.nim"},string_quoted_triple_raw:{begin:/r"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"}},scopeName:"source.nim",embeddedLangs:["c","html","xml","javascript","css","glsl","markdown"],aliases:undefined})
10
+ const lang = Object.freeze({displayName:"Nim",fileTypes:["nim"],name:"nim",patterns:[{begin:/[\t ]*##\[/dgv,contentName:"comment.block.doc-comment.content.nim",end:/\]##/dgv,name:"comment.block.doc-comment.nim",patterns:[{include:"#multilinedoccomment",name:"comment.block.doc-comment.nested.nim"}]},{begin:/[\t ]*#\[/dgv,contentName:"comment.block.content.nim",end:/\]#/dgv,name:"comment.block.nim",patterns:[{include:"#multilinecomment",name:"comment.block.nested.nim"}]},{begin:/(^[\t ]+)?(?=##)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/##/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.nim"}},end:/\n/dgv,name:"comment.line.number-sign.doc-comment.nim"}]},{begin:/(^[\t ]+)?(?=#[^\[])/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.nim"}},end:/\n/dgv,name:"comment.line.number-sign.nim"}]},{name:"meta.proc.nim",patterns:[{begin:/\b(proc|method|template|macro|iterator|converter|func)\p{space}+`?([^\(\*\:\`\{\p{space}]*)`?(\p{space}*\*)?\p{space}*(?=[\n\(\:\=\[\{])/dgv,captures:{"1":{name:"keyword.other"},"2":{name:"entity.name.function.nim"},"3":{name:"keyword.control.export"}},end:/\)/dgv,patterns:[{include:"source.nim"}]}]},{begin:/discard """/dgv,end:/"""(?!")/dgv,name:"comment.line.discarded.nim"},{include:"#float_literal"},{include:"#integer_literal"},{match:/(?<=`)[^ \`]+(?=`)/dgv,name:"entity.name.function.nim"},{captures:{"1":{name:"keyword.control.export"}},match:/\b\p{space}*(\*)(?:\p{space}*(?=[\,\:])|\p{space}+(?==))/dgv},{captures:{"1":{name:"support.type.nim"},"2":{name:"keyword.control.export"}},match:/\b([A-Z][\p{L}\p{M}\p{N}\p{Pc}]+)(\*)/dgv},{include:"#string_literal"},{match:/\b(true|false|Inf|NegInf|NaN|nil)\b/dgv,name:"constant.language.nim"},{match:/\b(block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\b/dgv,name:"keyword.control.nim"},{match:/\b((and|in|is|isnot|not|notin|or|xor))\b/dgv,name:"keyword.boolean.nim"},{match:/([\-\!\$\%\&\*\+\.\/\:\<-\@\\\^\~])+/dgv,name:"keyword.operator.nim"},{match:/\b((addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template))\b/dgv,name:"keyword.other.nim"},{match:/\b((generic|interface|lambda|out|shared))\b/dgv,name:"invalid.illegal.invalid-keyword.nim"},{match:/\b(new|await|assert|echo|defined|declared|newException|countup|countdown|high|low)\b/dgv,name:"keyword.other.common.function.nim"},{match:/\b((((?:u|)int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed)\b/dgv,name:"storage.type.concrete.nim"},{match:/\b(range|array|seq|set|pointer)\b/dgv,name:"storage.type.generic.nim"},{match:/\b(openarray|varargs|void)\b/dgv,name:"storage.type.generic.nim"},{match:/\b[A-Z][0-9A-Z_]+\b/dgv,name:"support.constant.nim"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]+\b/dgv,name:"support.type.nim"},{match:/\b[\p{L}\p{M}\p{N}\p{Pc}]+\b(?=(\[([\,0-9A-Z_a-z\p{space}])+\])?\()/dgv,name:"support.function.any-method.nim"},{match:/(?!(openarray|varargs|void|range|array|seq|set|pointer|new|await|assert|echo|defined|declared|newException|countup|countdown|high|low|(((?:u|)int)(8|16|32|64)?)|float(32|64)?|bool|string|auto|cstring|char|byte|tobject|typedesc|stmt|expr|any|untyped|typed|addr|as|asm|atomic|bind|cast|const|converter|concept|defer|discard|distinct|div|enum|export|from|import|include|let|mod|mixin|object|of|ptr|ref|shl|shr|static|type|using|var|tuple|iterator|macro|func|method|proc|template|and|in|is|isnot|not|notin|or|xor|proc|method|template|macro|iterator|converter|func|true|false|Inf|NegInf|NaN|nil|block|break|case|continue|do|elif|else|end|except|finally|for|if|raise|return|try|when|while|yield)\b)[\p{L}\p{M}\p{N}\p{Pc}]+\p{space}+(?!(and|in|is|isnot|not|notin|or|xor|[^"'-\+0-9A-Z_-z]+)\b)(?=["'-\+0-9A-Z_-z])/dgv,name:"support.function.any-method.nim"},{begin:/(^\p{space}*)?(?=\{\.emit: ?""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/\{\.(emit:) ?(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.c",end:/(")""(?!")(\.?\})?/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.c"}},name:"meta.embedded.block.c",patterns:[{begin:/`/dgv,end:/`/dgv,name:"keyword.operator.nim"},{include:"source.c"}]}]},{begin:/\{\./dgv,beginCaptures:{"0":{name:"punctuation.pragma.start.nim"}},end:/\.?\}/dgv,endCaptures:{"0":{name:"punctuation.pragma.end.nim"}},patterns:[{begin:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)(?:\p{space}|\p{space}*:)/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"}},end:/(?=\.?\}|,)/dgv,patterns:[{include:"source.nim"}]},{begin:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)\(/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{captures:{"1":{name:"meta.preprocessor.pragma.nim"}},match:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)(?=\.?\}|,)/dgv},{begin:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)(""")/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"""(?!")/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"},{begin:/\b(\p{Alpha}[\p{L}\p{M}\p{N}\p{Pc}]*)(")/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim"},{begin:/\b(hint\[[\p{L}\p{M}\p{N}\p{Pc}]+\]):/dgv,beginCaptures:{"1":{name:"meta.preprocessor.pragma.nim"}},end:/(?=\.?\}|,)/dgv,patterns:[{include:"source.nim"}]},{match:/,/dgv,name:"punctuation.separator.comma.nim"}]},{begin:/(^\p{space}*)?(?=asm """)/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(asm) (""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.asm",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.asm"}},name:"meta.embedded.block.asm",patterns:[{begin:/`/dgv,end:/`/dgv,name:"keyword.operator.nim"},{include:"source.asm"}]}]},{captures:{"1":{name:"storage.type.function.nim"},"2":{name:"keyword.operator.nim"}},match:/(tmpl(i)?)(?=( (html|xml|js|css|glsl|md))?""")/dgv},{begin:/(^\p{space}*)?(?=html""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(html)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.html",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"text.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\n\{])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"text.html.basic"}]}]},{begin:/(^\p{space}*)?(?=xml""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(xml)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.xml",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"text.xml"}},name:"meta.embedded.block.xml",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\n\{])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"text.xml"}]}]},{begin:/(^\p{space}*)?(?=js""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(js)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.js",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.js"}},name:"meta.embedded.block.js",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\n\{])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"source.js"}]}]},{begin:/(^\p{space}*)?(?=css""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(css)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.css",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.css"}},name:"meta.embedded.block.css",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\n\{])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"source.css"}]}]},{begin:/(^\p{space}*)?(?=glsl""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(glsl)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"source.glsl",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"source.glsl"}},name:"meta.embedded.block.glsl",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\n\{])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"source.glsl"}]}]},{begin:/(^\p{space}*)?(?=md""")/dgv,beginCaptures:{"0":{name:"punctuation.whitespace.embedded.leading.nim"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)(\\p{space}*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"0":{name:"punctuation.whitespace.embedded.trailing.nim"}},patterns:[{begin:/(md)(""")/dgv,captures:{"1":{name:"keyword.other.nim"},"2":{name:"punctuation.section.embedded.begin.nim"}},contentName:"text.html.markdown",end:/(")""(?!")/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nim"},"1":{name:"text.html.markdown"}},name:"meta.embedded.block.html.markdown",patterns:[{begin:/(?<!\$)(\$)\(/dgv,captures:{"1":{name:"keyword.operator.nim"}},end:/\)/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)\{/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/\}/dgv,patterns:[{include:"source.nim"}]},{begin:/(?<!\$)(\$)(for|while|case|of|when|if|else|elif)( )/dgv,captures:{"1":{name:"keyword.operator.nim"},"2":{name:"keyword.operator.nim"}},end:/([\n\{])/dgv,endCaptures:{"1":{name:"plain"}},patterns:[{include:"source.nim"}]},{match:/(?<!\$)(\$[\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,name:"keyword.operator.nim"},{include:"text.html.markdown"}]}]}],repository:{char_escapes:{patterns:[{match:/\\[CRcr]/dgv,name:"constant.character.escape.carriagereturn.nim"},{match:/\\[LNln]/dgv,name:"constant.character.escape.linefeed.nim"},{match:/\\[Ff]/dgv,name:"constant.character.escape.formfeed.nim"},{match:/\\[Tt]/dgv,name:"constant.character.escape.tabulator.nim"},{match:/\\[Vv]/dgv,name:"constant.character.escape.verticaltabulator.nim"},{match:/\\"/dgv,name:"constant.character.escape.double-quote.nim"},{match:/\\'/dgv,name:"constant.character.escape.single-quote.nim"},{match:/\\[0-9]+/dgv,name:"constant.character.escape.chardecimalvalue.nim"},{match:/\\[Aa]/dgv,name:"constant.character.escape.alert.nim"},{match:/\\[Bb]/dgv,name:"constant.character.escape.backspace.nim"},{match:/\\[Ee]/dgv,name:"constant.character.escape.escape.nim"},{match:/\\[Xx]\p{AHex}\p{AHex}/dgv,name:"constant.character.escape.hex.nim"},{match:/\\\\/dgv,name:"constant.character.escape.backslash.nim"}]},extended_string_quoted_double_raw:{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)(")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{include:"#raw_string_escapes"}]},extended_string_quoted_triple_raw:{begin:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)(""")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"},float_literal:{patterns:[{match:/\b\p{Nd}[_\p{Nd}]*((\.\p{Nd}[_\p{Nd}]*([Ee][\-\+]?\p{Nd}[_\p{Nd}]*)?)|([Ee][\-\+]?\p{Nd}[_\p{Nd}]*))('([Ff](32|64|128)|[DFdf]))?/dgv,name:"constant.numeric.float.decimal.nim"},{match:/\b0[Xx]\p{AHex}[_\p{AHex}]*'([Ff](32|64|128)|[DFdf])/dgv,name:"constant.numeric.float.hexadecimal.nim"},{match:/\b0o[0-7][0-7_]*'([Ff](32|64|128)|[DFdf])/dgv,name:"constant.numeric.float.octal.nim"},{match:/\b0([Bb])[01][01_]*'([Ff](32|64|128)|[DFdf])/dgv,name:"constant.numeric.float.binary.nim"},{match:/\b(\p{Nd}[_\p{Nd}]*)'([Ff](32|64|128)|[DFdf])/dgv,name:"constant.numeric.float.decimal.nim"}]},fmt_interpolation:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.nim"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.nim"}},name:"meta.template.expression.nim",patterns:[{begin:/:/dgv,end:/(?=\})/dgv,name:"meta.template.format-specifier.nim"},{include:"source.nim"}]},fmt_string:{begin:/\b(fmt)(")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{match:/(?<!")"(?!")/dgv,name:"invalid.illegal.nim"},{include:"#raw_string_escapes"},{include:"#fmt_interpolation"}]},fmt_string_call:{begin:/(fmt)\((?=")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"}},end:/\)/dgv,patterns:[{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"(?=\))/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{match:/"/dgv,name:"invalid.illegal.nim"},{include:"#string_escapes"},{include:"#fmt_interpolation"}]}]},fmt_string_operator:{begin:/(&)(")/dgv,beginCaptures:{"1":{name:"keyword.operator.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{match:/"/dgv,name:"invalid.illegal.nim"},{include:"#string_escapes"},{include:"#fmt_interpolation"}]},fmt_string_triple:{begin:/\b(fmt)(""")/dgv,beginCaptures:{"1":{name:"support.function.any-method.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim",patterns:[{include:"#fmt_interpolation"}]},fmt_string_triple_operator:{begin:/(&)(""")/dgv,beginCaptures:{"1":{name:"keyword.operator.nim"},"2":{name:"punctuation.definition.string.begin.nim"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim",patterns:[{include:"#fmt_interpolation"}]},integer_literal:{patterns:[{match:/\b(0[Xx]\p{AHex}[_\p{AHex}]*)('(([IUiu](8|16|32|64))|[Uu]))?/dgv,name:"constant.numeric.integer.hexadecimal.nim"},{match:/\b(0o[0-7][0-7_]*)('(([IUiu](8|16|32|64))|[Uu]))?/dgv,name:"constant.numeric.integer.octal.nim"},{match:/\b(0([Bb])[01][01_]*)('(([IUiu](8|16|32|64))|[Uu]))?/dgv,name:"constant.numeric.integer.binary.nim"},{match:/\b(\p{Nd}[_\p{Nd}]*)('(([IUiu](8|16|32|64))|[Uu]))?/dgv,name:"constant.numeric.integer.decimal.nim"}]},multilinecomment:{begin:/#\[/dgv,end:/\]#/dgv,patterns:[{include:"#multilinecomment"}]},multilinedoccomment:{begin:/##\[/dgv,end:/\]##/dgv,patterns:[{include:"#multilinedoccomment"}]},raw_string_escapes:{captures:{"1":{name:"constant.character.escape.double-quote.nim"}},match:/[^"]("")/dgv},string_escapes:{patterns:[{match:/\\[Pp]/dgv,name:"constant.character.escape.newline.nim"},{match:/\\[Uu]\p{AHex}\p{AHex}\p{AHex}\p{AHex}/dgv,name:"constant.character.escape.hex.nim"},{match:/\\[Uu]\{\p{AHex}+\}/dgv,name:"constant.character.escape.hex.nim"},{include:"#char_escapes"}]},string_literal:{patterns:[{include:"#fmt_string_triple"},{include:"#fmt_string_triple_operator"},{include:"#extended_string_quoted_triple_raw"},{include:"#string_quoted_triple_raw"},{include:"#fmt_string_operator"},{include:"#fmt_string"},{include:"#fmt_string_call"},{include:"#string_quoted_double_raw"},{include:"#extended_string_quoted_double_raw"},{include:"#string_quoted_single"},{include:"#string_quoted_triple"},{include:"#string_quoted_double"}]},string_quoted_double:{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.nim",patterns:[{include:"#string_escapes"}]},string_quoted_double_raw:{begin:/\br"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.double.raw.nim",patterns:[{include:"#raw_string_escapes"}]},string_quoted_single:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.single.nim",patterns:[{include:"#char_escapes"},{match:/([^']{2,}?)/dgv,name:"invalid.illegal.character.nim"}]},string_quoted_triple:{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"""(?!")/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.nim"},string_quoted_triple_raw:{begin:/r"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nim"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nim"}},name:"string.quoted.triple.raw.nim"}},scopeName:"source.nim",embeddedLangs:["c","html","xml","javascript","css","glsl","markdown"],aliases:undefined})
11
11
 
12
12
  export default [
13
13
  ...c,
package/dist/nix.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze({displayName:"Nix",fileTypes:["nix"],name:"nix",patterns:[{include:"#expression"}],repository:{"attribute-bind":{patterns:[{include:"#attribute-name"},{include:"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.bind.nix"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.bind.nix"}},patterns:[{include:"#expression"}]},"attribute-inherit":{begin:/\binherit\b/dgv,beginCaptures:{"0":{name:"keyword.other.inherit.nix"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.inherit.nix"}},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.function.arguments.nix"}},end:/(?=;)/dgv,patterns:[{begin:/\)/dgv,beginCaptures:{"0":{name:"punctuation.section.function.arguments.nix"}},end:/(?=;)/dgv,patterns:[{include:"#bad-reserved"},{include:"#attribute-name-single"},{include:"#others"}]},{include:"#expression"}]},{begin:/(?=[a-zA-Z_])/dgv,end:/(?=;)/dgv,patterns:[{include:"#bad-reserved"},{include:"#attribute-name-single"},{include:"#others"}]},{include:"#others"}]},"attribute-name":{patterns:[{match:/\b[a-zA-Z_][a-zA-Z0-9_'\-]*/dgv,name:"entity.other.attribute-name.multipart.nix"},{match:/\./dgv},{include:"#string-quoted"},{include:"#interpolation"}]},"attribute-name-single":{match:/\b[a-zA-Z_][a-zA-Z0-9_'\-]*/dgv,name:"entity.other.attribute-name.single.nix"},"attrset-contents":{patterns:[{include:"#attribute-inherit"},{include:"#bad-reserved"},{include:"#attribute-bind"},{include:"#others"}]},"attrset-definition":{begin:/(?=\{)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{begin:/(\{)/dgv,beginCaptures:{"0":{name:"punctuation.definition.attrset.nix"}},end:/(\})/dgv,endCaptures:{"0":{name:"punctuation.definition.attrset.nix"}},patterns:[{include:"#attrset-contents"}]},{begin:/(?<=\})/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]}]},"attrset-definition-brace-opened":{patterns:[{begin:/(?<=\})/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/(?=[^\n]?)/dgv,end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.attrset.nix"}},patterns:[{include:"#attrset-contents"}]}]},"attrset-for-sure":{patterns:[{begin:/(?=\brec\b)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{begin:/\brec\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/(?=\{)/dgv,patterns:[{include:"#others"}]},{include:"#attrset-definition"},{include:"#others"}]},{begin:/(?=\{\p{space}*(\}|[^\,\?]*([\=\;])))/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#attrset-definition"},{include:"#others"}]}]},"attrset-or-function":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.attrset-or-function.nix"}},end:/(?=([\]\)\}\;]|\b(else|then)\b))/dgv,patterns:[{begin:/(?=(\p{space}*\}|"|\binherit\b|\$\{|\b[a-zA-Z_][a-zA-Z0-9_'\-]*(\p{space}*\.|\p{space}*=[^\=])))/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#attrset-definition-brace-opened"}]},{begin:/(?=(\.\.\.|\b[a-zA-Z_][a-zA-Z0-9_'\-]*\p{space}*[\,\?]))/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#function-definition-brace-opened"}]},{include:"#bad-reserved"},{begin:/\b[a-zA-Z_][a-zA-Z0-9_'\-]*/dgv,beginCaptures:{"0":{name:"variable.parameter.function.maybe.nix"}},end:/(?=([\]\)\}\;]|\b(else|then)\b))/dgv,patterns:[{begin:/(?=\.)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#attrset-definition-brace-opened"}]},{begin:/\p{space}*(,)/dgv,beginCaptures:{"1":{name:"keyword.operator.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#function-definition-brace-opened"}]},{begin:/(?==)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#attribute-bind-from-equals"},{include:"#attrset-definition-brace-opened"}]},{begin:/(?=\?)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#function-parameter-default"},{begin:/,/dgv,beginCaptures:{"0":{name:"keyword.operator.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#function-definition-brace-opened"}]}]},{include:"#others"}]},{include:"#others"}]},"bad-reserved":{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}'\-])(if|then|else|assert|with|let|in|rec|inherit)(?![\p{L}\p{M}\p{N}\p{Pc}'\-])/dgv,name:"invalid.illegal.reserved.nix"},comment:{patterns:[{begin:/\/\*([^\*]|\*[^\/])*/dgv,end:/\*\//dgv,name:"comment.block.nix",patterns:[{include:"#comment-remark"}]},{begin:/#/dgv,end:/(?=\n?$)/dgv,name:"comment.line.number-sign.nix",patterns:[{include:"#comment-remark"}]}]},"comment-remark":{captures:{"1":{name:"markup.bold.comment.nix"}},match:/(TODO|FIXME|BUG|!!!):?/dgv},constants:{patterns:[{begin:/\b(builtins|true|false|null)\b/dgv,beginCaptures:{"0":{name:"constant.language.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\b/dgv,beginCaptures:{"0":{name:"support.function.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/\b[0-9]+\b/dgv,beginCaptures:{"0":{name:"constant.numeric.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]}]},expression:{patterns:[{include:"#parens-and-cont"},{include:"#list-and-cont"},{include:"#string"},{include:"#interpolation"},{include:"#with-assert"},{include:"#function-for-sure"},{include:"#attrset-for-sure"},{include:"#attrset-or-function"},{include:"#let"},{include:"#if"},{include:"#operator-unary"},{include:"#constants"},{include:"#bad-reserved"},{include:"#parameter-name-and-cont"},{include:"#others"}]},"expression-cont":{begin:/(?=[^\n]?)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#parens"},{include:"#list"},{include:"#string"},{include:"#interpolation"},{include:"#function-for-sure"},{include:"#attrset-for-sure"},{include:"#attrset-or-function"},{match:/(\bor\b|\.|\|>|<\||==|!=|!|<=|<|>=|>|&&|\|\||->|\/\/|\?|\+\+|[\-\*]|\/(?=([^\*]|(?=\n?$)))|\+)/dgv,name:"keyword.operator.nix"},{include:"#constants"},{include:"#bad-reserved"},{include:"#parameter-name"},{include:"#others"}]},"function-body":{begin:/(@\p{space}*([a-zA-Z_][a-zA-Z0-9_'\-]*)\p{space}*)?(:)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression"}]},"function-body-from-colon":{begin:/(:)/dgv,beginCaptures:{"0":{name:"punctuation.definition.function.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression"}]},"function-contents":{patterns:[{include:"#bad-reserved"},{include:"#function-parameter"},{include:"#others"}]},"function-definition":{begin:/(?=[^\n]?)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#function-body-from-colon"},{begin:/(?=[^\n]?)/dgv,end:/(?=:)/dgv,patterns:[{begin:/(\b[a-zA-Z_][a-zA-Z0-9_'\-]*)/dgv,beginCaptures:{"0":{name:"variable.parameter.function.4.nix"}},end:/(?=:)/dgv,patterns:[{begin:/@/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-until-colon-no-arg"},{include:"#others"}]},{include:"#others"}]},{begin:/(?=\{)/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-until-colon-with-arg"}]}]},{include:"#others"}]},"function-definition-brace-opened":{begin:/(?=[^\n]?)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#function-body-from-colon"},{begin:/(?=[^\n]?)/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-close-brace-with-arg"},{begin:/(?=[^\n]?)/dgv,end:/(?=\})/dgv,patterns:[{include:"#function-contents"}]}]},{include:"#others"}]},"function-for-sure":{patterns:[{begin:/(?=(\b[a-zA-Z_][a-zA-Z0-9_'\-]*\p{space}*[\:\@]|\{[^\}]*\}\p{space}*:|\{[^\#\}"'\/\=]*[\,\?]))/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#function-definition"}]}]},"function-header-close-brace-no-arg":{begin:/\}/dgv,beginCaptures:{"0":{name:"punctuation.definition.entity.function.nix"}},end:/(?=:)/dgv,patterns:[{include:"#others"}]},"function-header-close-brace-with-arg":{begin:/\}/dgv,beginCaptures:{"0":{name:"punctuation.definition.entity.function.nix"}},end:/(?=:)/dgv,patterns:[{include:"#function-header-terminal-arg"},{include:"#others"}]},"function-header-open-brace":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.entity.function.2.nix"}},end:/(?=\})/dgv,patterns:[{include:"#function-contents"}]},"function-header-terminal-arg":{begin:/(?=@)/dgv,end:/(?=:)/dgv,patterns:[{begin:/@/dgv,end:/(?=:)/dgv,patterns:[{begin:/(\b[a-zA-Z_][a-zA-Z0-9_'\-]*)/dgv,end:/(?=:)/dgv,name:"variable.parameter.function.3.nix"},{include:"#others"}]},{include:"#others"}]},"function-header-until-colon-no-arg":{begin:/(?=\{)/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-open-brace"},{include:"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{begin:/(?=\{)/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-open-brace"},{include:"#function-header-close-brace-with-arg"}]},"function-parameter":{patterns:[{begin:/(\.\.\.)/dgv,end:/(,|(?=\}))/dgv,name:"keyword.operator.nix",patterns:[{include:"#others"}]},{begin:/\b[a-zA-Z_][a-zA-Z0-9_'\-]*/dgv,beginCaptures:{"0":{name:"variable.parameter.function.1.nix"}},end:/(,|(?=\}))/dgv,endCaptures:{"0":{name:"keyword.operator.nix"}},patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#function-parameter-default"},{include:"#expression"}]},{include:"#others"}]},"function-parameter-default":{begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.nix"}},end:/(?=[\,\}])/dgv,patterns:[{include:"#expression"}]},if:{begin:/(?=\bif\b)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{begin:/\bif\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/\bth(?=en\b)/dgv,endCaptures:{"0":{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]},{begin:/(?<=th)en\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/\bel(?=se\b)/dgv,endCaptures:{"0":{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]},{begin:/(?<=el)se\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,endCaptures:{"0":{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]}]},illegal:{match:/[^\n]/dgv,name:"invalid.illegal"},interpolation:{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.nix"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nix"}},name:"meta.embedded",patterns:[{include:"#expression"}]},let:{begin:/(?=\blet\b)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{begin:/\blet\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/(?=([\]\)\}\;\,]|\b(in|else|then)\b))/dgv,patterns:[{begin:/(?=\{)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#attrset-contents"}]},{begin:/(^|(?<=\}))/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{include:"#others"}]},{include:"#attrset-contents"},{include:"#others"}]},{begin:/\bin\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression"}]}]},list:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.nix"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.nix"}},patterns:[{include:"#expression"}]},"list-and-cont":{begin:/(?=\[)/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#list"},{include:"#expression-cont"}]},"operator-unary":{match:/([\!\-])/dgv,name:"keyword.operator.unary.nix"},others:{patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#illegal"}]},"parameter-name":{captures:{"0":{name:"variable.parameter.name.nix"}},match:/\b[a-zA-Z_][a-zA-Z0-9_'\-]*/dgv},"parameter-name-and-cont":{begin:/\b[a-zA-Z_][a-zA-Z0-9_'\-]*/dgv,beginCaptures:{"0":{name:"variable.parameter.name.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},parens:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.expression.nix"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.expression.nix"}},patterns:[{include:"#expression"}]},"parens-and-cont":{begin:/(?=\()/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#parens"},{include:"#expression-cont"}]},string:{patterns:[{begin:/(?='')/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{begin:/''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.other.start.nix"}},end:/''(?![\$']|\\[^\n])/dgv,endCaptures:{"0":{name:"punctuation.definition.string.other.end.nix"}},name:"string.quoted.other.nix",patterns:[{match:/''([\$']|\\[^\n])/dgv,name:"constant.character.escape.nix"},{include:"#interpolation"}]},{include:"#expression-cont"}]},{begin:/(?=")/dgv,end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#string-quoted"},{include:"#expression-cont"}]},{begin:/(~?[a-zA-Z0-9\._\-\+]*(\/[a-zA-Z0-9\._\-\+]+)+)/dgv,beginCaptures:{"0":{name:"string.unquoted.path.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/(<[a-zA-Z0-9\._\-\+]+(\/[a-zA-Z0-9\._\-\+]+)*>)/dgv,beginCaptures:{"0":{name:"string.unquoted.spath.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/([a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-_\.\!\~\*']+)/dgv,beginCaptures:{"0":{name:"string.unquoted.url.nix"}},end:/(?=([\]\)\}\;\,]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]}]},"string-quoted":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.double.start.nix"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.double.end.nix"}},name:"string.quoted.double.nix",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.nix"},{include:"#interpolation"}]},whitespace:{match:/\p{space}+/dgv},"with-assert":{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}'\-])(with|assert)(?![\p{L}\p{M}\p{N}\p{Pc}'\-])/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/;/dgv,patterns:[{include:"#expression"}]}},scopeName:"source.nix",embeddedLangs:undefined,aliases:undefined})
1
+ const lang = Object.freeze({displayName:"Nix",fileTypes:["nix"],name:"nix",patterns:[{include:"#expression"}],repository:{"attribute-bind":{patterns:[{include:"#attribute-name"},{include:"#attribute-bind-from-equals"}]},"attribute-bind-from-equals":{begin:/=/dgv,beginCaptures:{"0":{name:"keyword.operator.bind.nix"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.bind.nix"}},patterns:[{include:"#expression"}]},"attribute-inherit":{begin:/\binherit\b/dgv,beginCaptures:{"0":{name:"keyword.other.inherit.nix"}},end:/;/dgv,endCaptures:{"0":{name:"punctuation.terminator.inherit.nix"}},patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.section.function.arguments.nix"}},end:/(?=;)/dgv,patterns:[{begin:/\)/dgv,beginCaptures:{"0":{name:"punctuation.section.function.arguments.nix"}},end:/(?=;)/dgv,patterns:[{include:"#bad-reserved"},{include:"#attribute-name-single"},{include:"#others"}]},{include:"#expression"}]},{begin:/(?=[A-Z_a-z])/dgv,end:/(?=;)/dgv,patterns:[{include:"#bad-reserved"},{include:"#attribute-name-single"},{include:"#others"}]},{include:"#others"}]},"attribute-name":{patterns:[{match:/\b[A-Z_a-z][\-'0-9A-Z_a-z]*/dgv,name:"entity.other.attribute-name.multipart.nix"},{match:/\./dgv},{include:"#string-quoted"},{include:"#interpolation"}]},"attribute-name-single":{match:/\b[A-Z_a-z][\-'0-9A-Z_a-z]*/dgv,name:"entity.other.attribute-name.single.nix"},"attrset-contents":{patterns:[{include:"#attribute-inherit"},{include:"#bad-reserved"},{include:"#attribute-bind"},{include:"#others"}]},"attrset-definition":{begin:/(?=\{)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{begin:/(\{)/dgv,beginCaptures:{"0":{name:"punctuation.definition.attrset.nix"}},end:/(\})/dgv,endCaptures:{"0":{name:"punctuation.definition.attrset.nix"}},patterns:[{include:"#attrset-contents"}]},{begin:/(?<=\})/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]}]},"attrset-definition-brace-opened":{patterns:[{begin:/(?<=\})/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/(?=[^\n]?)/dgv,end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.attrset.nix"}},patterns:[{include:"#attrset-contents"}]}]},"attrset-for-sure":{patterns:[{begin:/(?=\brec\b)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{begin:/\brec\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/(?=\{)/dgv,patterns:[{include:"#others"}]},{include:"#attrset-definition"},{include:"#others"}]},{begin:/(?=\{\p{space}*(\}|[^\,\?]*([\;\=])))/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#attrset-definition"},{include:"#others"}]}]},"attrset-or-function":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.attrset-or-function.nix"}},end:/(?=([\]\)\;\}]|\b(else|then)\b))/dgv,patterns:[{begin:/(?=(\p{space}*\}|"|\binherit\b|\$\{|\b[A-Z_a-z][\-'0-9A-Z_a-z]*(\p{space}*\.|\p{space}*=[^\=])))/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#attrset-definition-brace-opened"}]},{begin:/(?=(\.\.\.|\b[A-Z_a-z][\-'0-9A-Z_a-z]*\p{space}*[\,\?]))/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#function-definition-brace-opened"}]},{include:"#bad-reserved"},{begin:/\b[A-Z_a-z][\-'0-9A-Z_a-z]*/dgv,beginCaptures:{"0":{name:"variable.parameter.function.maybe.nix"}},end:/(?=([\]\)\;\}]|\b(else|then)\b))/dgv,patterns:[{begin:/(?=\.)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#attrset-definition-brace-opened"}]},{begin:/\p{space}*(,)/dgv,beginCaptures:{"1":{name:"keyword.operator.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#function-definition-brace-opened"}]},{begin:/(?==)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#attribute-bind-from-equals"},{include:"#attrset-definition-brace-opened"}]},{begin:/(?=\?)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#function-parameter-default"},{begin:/,/dgv,beginCaptures:{"0":{name:"keyword.operator.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#function-definition-brace-opened"}]}]},{include:"#others"}]},{include:"#others"}]},"bad-reserved":{match:/(?<![\-'\p{L}\p{M}\p{N}\p{Pc}])(if|then|else|assert|with|let|in|rec|inherit)(?![\-'\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"invalid.illegal.reserved.nix"},comment:{patterns:[{begin:/\/\*([^\*]|\*[^\/])*/dgv,end:/\*\//dgv,name:"comment.block.nix",patterns:[{include:"#comment-remark"}]},{begin:/#/dgv,end:/(?=\n?$)/dgv,name:"comment.line.number-sign.nix",patterns:[{include:"#comment-remark"}]}]},"comment-remark":{captures:{"1":{name:"markup.bold.comment.nix"}},match:/(TODO|FIXME|BUG|!!!):?/dgv},constants:{patterns:[{begin:/\b(builtins|true|false|null)\b/dgv,beginCaptures:{"0":{name:"constant.language.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/\b(scopedImport|import|isNull|abort|throw|baseNameOf|dirOf|removeAttrs|map|toString|derivationStrict|derivation)\b/dgv,beginCaptures:{"0":{name:"support.function.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/\b[0-9]+\b/dgv,beginCaptures:{"0":{name:"constant.numeric.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]}]},expression:{patterns:[{include:"#parens-and-cont"},{include:"#list-and-cont"},{include:"#string"},{include:"#interpolation"},{include:"#with-assert"},{include:"#function-for-sure"},{include:"#attrset-for-sure"},{include:"#attrset-or-function"},{include:"#let"},{include:"#if"},{include:"#operator-unary"},{include:"#constants"},{include:"#bad-reserved"},{include:"#parameter-name-and-cont"},{include:"#others"}]},"expression-cont":{begin:/(?=[^\n]?)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#parens"},{include:"#list"},{include:"#string"},{include:"#interpolation"},{include:"#function-for-sure"},{include:"#attrset-for-sure"},{include:"#attrset-or-function"},{match:/(\bor\b|\.|\|>|<\||==|!=|!|<=|<|>=|>|&&|\|\||->|\/\/|\?|\+\+|[\-\*]|\/(?=([^\*]|(?=\n?$)))|\+)/dgv,name:"keyword.operator.nix"},{include:"#constants"},{include:"#bad-reserved"},{include:"#parameter-name"},{include:"#others"}]},"function-body":{begin:/(@\p{space}*([A-Z_a-z][\-'0-9A-Z_a-z]*)\p{space}*)?(:)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression"}]},"function-body-from-colon":{begin:/(:)/dgv,beginCaptures:{"0":{name:"punctuation.definition.function.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression"}]},"function-contents":{patterns:[{include:"#bad-reserved"},{include:"#function-parameter"},{include:"#others"}]},"function-definition":{begin:/(?=[^\n]?)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#function-body-from-colon"},{begin:/(?=[^\n]?)/dgv,end:/(?=:)/dgv,patterns:[{begin:/\b([A-Z_a-z][\-'0-9A-Z_a-z]*)/dgv,beginCaptures:{"0":{name:"variable.parameter.function.4.nix"}},end:/(?=:)/dgv,patterns:[{begin:/@/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-until-colon-no-arg"},{include:"#others"}]},{include:"#others"}]},{begin:/(?=\{)/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-until-colon-with-arg"}]}]},{include:"#others"}]},"function-definition-brace-opened":{begin:/(?=[^\n]?)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#function-body-from-colon"},{begin:/(?=[^\n]?)/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-close-brace-with-arg"},{begin:/(?=[^\n]?)/dgv,end:/(?=\})/dgv,patterns:[{include:"#function-contents"}]}]},{include:"#others"}]},"function-for-sure":{patterns:[{begin:/(?=(\b[A-Z_a-z][\-'0-9A-Z_a-z]*\p{space}*[\:\@]|\{[^\}]*\}\p{space}*:|\{[^"\#'\/\=\}]*[\,\?]))/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#function-definition"}]}]},"function-header-close-brace-no-arg":{begin:/\}/dgv,beginCaptures:{"0":{name:"punctuation.definition.entity.function.nix"}},end:/(?=:)/dgv,patterns:[{include:"#others"}]},"function-header-close-brace-with-arg":{begin:/\}/dgv,beginCaptures:{"0":{name:"punctuation.definition.entity.function.nix"}},end:/(?=:)/dgv,patterns:[{include:"#function-header-terminal-arg"},{include:"#others"}]},"function-header-open-brace":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.entity.function.2.nix"}},end:/(?=\})/dgv,patterns:[{include:"#function-contents"}]},"function-header-terminal-arg":{begin:/(?=@)/dgv,end:/(?=:)/dgv,patterns:[{begin:/@/dgv,end:/(?=:)/dgv,patterns:[{begin:/\b([A-Z_a-z][\-'0-9A-Z_a-z]*)/dgv,end:/(?=:)/dgv,name:"variable.parameter.function.3.nix"},{include:"#others"}]},{include:"#others"}]},"function-header-until-colon-no-arg":{begin:/(?=\{)/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-open-brace"},{include:"#function-header-close-brace-no-arg"}]},"function-header-until-colon-with-arg":{begin:/(?=\{)/dgv,end:/(?=:)/dgv,patterns:[{include:"#function-header-open-brace"},{include:"#function-header-close-brace-with-arg"}]},"function-parameter":{patterns:[{begin:/(\.\.\.)/dgv,end:/(,|(?=\}))/dgv,name:"keyword.operator.nix",patterns:[{include:"#others"}]},{begin:/\b[A-Z_a-z][\-'0-9A-Z_a-z]*/dgv,beginCaptures:{"0":{name:"variable.parameter.function.1.nix"}},end:/(,|(?=\}))/dgv,endCaptures:{"0":{name:"keyword.operator.nix"}},patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#function-parameter-default"},{include:"#expression"}]},{include:"#others"}]},"function-parameter-default":{begin:/\?/dgv,beginCaptures:{"0":{name:"keyword.operator.nix"}},end:/(?=[\,\}])/dgv,patterns:[{include:"#expression"}]},if:{begin:/(?=\bif\b)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{begin:/\bif\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/\bth(?=en\b)/dgv,endCaptures:{"0":{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]},{begin:/(?<=th)en\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/\bel(?=se\b)/dgv,endCaptures:{"0":{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]},{begin:/(?<=el)se\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,endCaptures:{"0":{name:"keyword.other.nix"}},patterns:[{include:"#expression"}]}]},illegal:{match:/[^\n]/dgv,name:"invalid.illegal"},interpolation:{begin:/\$\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.nix"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.nix"}},name:"meta.embedded",patterns:[{include:"#expression"}]},let:{begin:/(?=\blet\b)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{begin:/\blet\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/(?=([\]\)\,\;\}]|\b(in|else|then)\b))/dgv,patterns:[{begin:/(?=\{)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#attrset-contents"}]},{begin:/(^|(?<=\}))/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{include:"#others"}]},{include:"#attrset-contents"},{include:"#others"}]},{begin:/\bin\b/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression"}]}]},list:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.nix"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.nix"}},patterns:[{include:"#expression"}]},"list-and-cont":{begin:/(?=\[)/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#list"},{include:"#expression-cont"}]},"operator-unary":{match:/([\-\!])/dgv,name:"keyword.operator.unary.nix"},others:{patterns:[{include:"#whitespace"},{include:"#comment"},{include:"#illegal"}]},"parameter-name":{captures:{"0":{name:"variable.parameter.name.nix"}},match:/\b[A-Z_a-z][\-'0-9A-Z_a-z]*/dgv},"parameter-name-and-cont":{begin:/\b[A-Z_a-z][\-'0-9A-Z_a-z]*/dgv,beginCaptures:{"0":{name:"variable.parameter.name.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},parens:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.expression.nix"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.expression.nix"}},patterns:[{include:"#expression"}]},"parens-and-cont":{begin:/(?=\()/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#parens"},{include:"#expression-cont"}]},string:{patterns:[{begin:/(?='')/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{begin:/''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.other.start.nix"}},end:/''(?![\$']|\\[^\n])/dgv,endCaptures:{"0":{name:"punctuation.definition.string.other.end.nix"}},name:"string.quoted.other.nix",patterns:[{match:/''([\$']|\\[^\n])/dgv,name:"constant.character.escape.nix"},{include:"#interpolation"}]},{include:"#expression-cont"}]},{begin:/(?=")/dgv,end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#string-quoted"},{include:"#expression-cont"}]},{begin:/(~?[\-\+\.0-9A-Z_a-z]*(\/[\-\+\.0-9A-Z_a-z]+)+)/dgv,beginCaptures:{"0":{name:"string.unquoted.path.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/(<[\-\+\.0-9A-Z_a-z]+(\/[\-\+\.0-9A-Z_a-z]+)*>)/dgv,beginCaptures:{"0":{name:"string.unquoted.spath.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]},{begin:/([A-Za-z][\-\+\.0-9A-Za-z]*:[\!\$-'\*-\:\=\?-Z_a-z\~]+)/dgv,beginCaptures:{"0":{name:"string.unquoted.url.nix"}},end:/(?=([\]\)\,\;\}]|\b(else|then)\b))/dgv,patterns:[{include:"#expression-cont"}]}]},"string-quoted":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.double.start.nix"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.double.end.nix"}},name:"string.quoted.double.nix",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.nix"},{include:"#interpolation"}]},whitespace:{match:/\p{space}+/dgv},"with-assert":{begin:/(?<![\-'\p{L}\p{M}\p{N}\p{Pc}])(with|assert)(?![\-'\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"keyword.other.nix"}},end:/;/dgv,patterns:[{include:"#expression"}]}},scopeName:"source.nix",embeddedLangs:undefined,aliases:undefined})
2
2
 
3
3
  export default [
4
4
  lang
package/dist/nushell.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { EmulatedRegExp } from 'oniguruma-to-es'
2
2
 
3
- const lang = Object.freeze({displayName:"nushell",name:"nushell",patterns:[{include:"#define-variable"},{include:"#define-alias"},{include:"#function"},{include:"#extern"},{include:"#module"},{include:"#use-module"},{include:"#expression"},{include:"#comment"}],repository:{binary:{begin:/\b(0x)(\[)/dgv,beginCaptures:{"1":{name:"constant.numeric.nushell"},"2":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},name:"constant.binary.nushell",patterns:[{match:/\p{AHex}{2}/dgv,name:"constant.numeric.nushell"}]},"braced-expression":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.nushell"}},name:"meta.expression.braced.nushell",patterns:[{begin:/(?<=\{)\p{space}*\|/dgv,end:/\|/dgv,name:"meta.closure.parameters.nushell",patterns:[{include:"#function-parameter"}]},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(:)\p{space}*/dgv},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"variable.other.nushell",patterns:[{include:"#paren-expression"}]},"3":{name:"keyword.control.nushell"}},match:/(\$"((?:[^"\\]|\\[^\n])*)")\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/("(?:[^"\\]|\\[^\n])*")\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"variable.other.nushell",patterns:[{include:"#paren-expression"}]},"3":{name:"keyword.control.nushell"}},match:/(\$'([^']*)')\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/('[^']*')\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{include:"#spread"},{include:"source.nushell"}]},command:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(\^)|(?![0-9\$]))([\p{L}\p{M}\p{N}\p{Pc}\.\!]+(?: (?!-)[\p{L}\p{M}\p{N}\p{Pc}\-\.\!]+(?:(?=[ \)])|(?=\n?$))|[\p{L}\p{M}\p{N}\p{Pc}\-\.\!]+)*|(?<=\^)\$?(?:"[^"]+"|'[^']+'))/dgv,beginCaptures:{"1":{name:"keyword.operator.nushell"},"2":{patterns:[{include:"#control-keywords"},{captures:{"0":{name:"keyword.other.builtin.nushell"}},match:/(?:ansi|char) [\p{L}\p{M}\p{N}\p{Pc}]+/dgv},{captures:{"1":{name:"keyword.other.builtin.nushell"},"2":{patterns:[{include:"#value"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(a(?:l(?:ias|l)|n(?:si(?: (?:gradient|link|strip))?|y)|ppend|st)|b(?:g|its(?: (?:and|not|or|ro[lr]|sh[lr]|xor))?|reak|ytes(?: (?:a(?:dd|t)|build|collect|ends-with|index-of|length|re(?:move|place|verse)|starts-with))?)|c(?:al|d|h(?:ar|unks)|lear|o(?:l(?:lect|umns)|m(?:mandline(?: (?:edit|get-cursor|set-cursor))?|p(?:act|lete))|n(?:fig(?: (?:env|nu|reset))?|st|tinue))|p)|d(?:ate(?: (?:format|humanize|list-timezone|now|to-(?:record|t(?:able|imezone))))?|e(?:bug(?: (?:info|profile))?|code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|f(?:ault)?|scribe|tect columns)|o|rop(?: (?:column|nth))?|t(?: (?:add|diff|format|now|part|to|utcnow))?|u)|e(?:ach(?: while)?|cho|moji|n(?:code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|umerate)|rror make|very|x(?:ec|it|p(?:l(?:ain|ore)|ort(?: (?:alias|const|def|extern|module|use)|-env)?)|tern))|f(?:i(?:l(?:[el]|ter)|nd|rst)|latten|mt|or(?:mat(?: (?:d(?:ate|uration)|filesize|pattern))?)?|rom(?: (?:csv|eml|i(?:cs|ni)|json|msgpackz?|nuon|ods|p(?:arquet|list)|ssv|t(?:oml|sv)|url|vcf|x(?:lsx|ml)|y(?:aml|ml)))?)|g(?:e(?:nerate|t)|lob|r(?:id|oup(?:-by)?)|stat)|h(?:ash(?: (?:md5|sha256))?|e(?:aders|lp(?: (?:aliases|commands|e(?:scapes|xterns)|modules|operators))?)|i(?:de(?:-env)?|sto(?:gram|ry(?: session)?))|ttp(?: (?:delete|get|head|options|p(?:atch|ost|ut)))?)|i(?:f|gnore|n(?:c|put(?: list(?:en)?)?|s(?:ert|pect)|t(?:erleave|o(?: (?:b(?:i(?:nary|ts)|ool)|cell-path|d(?:atetime|uration)|f(?:ilesize|loat)|glob|int|record|s(?:qlite|tring)|value))?))|s-(?:admin|empty|not-empty|terminal)|tems)|j(?:oin|son path|walk)|k(?:eybindings(?: (?:default|list(?:en)?))?|ill)|l(?:ast|e(?:ngth|t(?:-env)?)|ines|o(?:ad-env|op)|s)|m(?:at(?:ch|h(?: (?:a(?:bs|rc(?:cosh?|sinh?|tanh?)|vg)|c(?:eil|osh?)|exp|floor|l(?:n|og)|m(?:ax|edian|in|ode)|product|round|s(?:inh?|qrt|tddev|um)|tanh?|variance))?)|d|e(?:rge|tadata(?: (?:access|set))?)|k(?:dir|temp)|o(?:dule|ve)|ut|v)|nu-(?:check|highlight)|o(?:pen|verlay(?: (?:hide|list|new|use))?)|p(?:a(?:nic|r(?:-each|se)|th(?: (?:basename|dirname|ex(?:ists|pand)|join|parse|relative-to|split|type))?)|lugin(?: (?:add|list|rm|stop|use))?|net|o(?:lars(?: (?:a(?:gg(?:-groups)?|ll-(?:false|true)|ppend|rg-(?:m(?:ax|in)|sort|true|unique|where)|s(?:-date(?:time)?)?)|c(?:a(?:che|st)|o(?:l(?:lect|umns)?|n(?:cat(?:-str)?|tains)|unt(?:-null)?)|umulative)|d(?:atepart|ecimal|rop(?:-(?:duplicates|nulls))?|ummies)|exp(?:lode|r-not)|f(?:etch|i(?:l(?:l-n(?:an|ull)|ter(?:-with)?)|rst)|latten)|g(?:et(?:-(?:day|hour|m(?:inute|onth)|nanosecond|ordinal|second|week(?:day)?|year))?|roup-by)|i(?:mplode|nt(?:eger|o-(?:df|lazy|nu))|s-(?:duplicated|in|n(?:ot-null|ull)|unique))|join|l(?:ast|it|owercase)|m(?:ax|e(?:an|dian)|in)|n(?:-unique|ot)|o(?:pen|therwise)|p(?:ivot|rofile)|qu(?:antile|ery)|r(?:e(?:name|place(?:-all)?|verse)|olling)|s(?:a(?:mple|ve)|chema|e(?:lect|t(?:-with-idx)?)|h(?:ape|ift)|lice|ort-by|t(?:d|ore-(?:get|ls|rm)|r(?:-(?:join|lengths|slice)|ftime))|um(?:mary)?)|take|u(?:n(?:ique|pivot)|ppercase)|va(?:lue-counts|r)|w(?:hen|ith-column)))?|rt)|r(?:epend|int)|s)|query(?: (?:db|git|json|web(?:page-info)?|xml))?|r(?:an(?:dom(?: (?:b(?:inary|ool)|chars|dice|float|int|uuid))?|ge)|e(?:duce|g(?:ex|istry query)|ject|name|turn|verse)|m|o(?:ll(?: (?:down|left|right|up))?|tate)|un-external)|s(?:ave|c(?:hema|ope(?: (?:aliases|commands|e(?:ngine-stats|xterns)|modules|variables))?)|e(?:lect|q(?: (?:char|date))?)|huffle|kip(?: (?:until|while))?|leep|o(?:rt(?:-by)?|urce(?:-env)?)|plit(?: (?:c(?:ell-path|hars|olumn)|list|row|words)|-by)?|t(?:art|or(?: (?:create|delete|export|i(?:mport|nsert)|open|reset|update))?|r(?: (?:c(?:a(?:mel-case|pitalize)|ontains)|d(?:istance|owncase)|e(?:nds-with|xpand)|index-of|join|kebab-case|length|pascal-case|re(?:place|verse)|s(?:creaming-snake-case|imilarity|nake-case|ta(?:rts-with|ts)|ubstring)|t(?:itle-case|rim)|upcase)|ess_internals)?)|ys(?: (?:cpu|disks|host|mem|net|temp|users))?)|t(?:a(?:ble|ke(?: (?:until|while))?)|e(?:e|rm size)|imeit|o(?: (?:csv|html|json|m(?:d|sgpackz?)|nuon|p(?:arquet|list)|t(?:ext|oml|sv)|xml|yaml)|uch)?|r(?:anspose|y)|utor)|u(?:limit|n(?:ame|iq(?:-by)?)|p(?:date(?: cells)?|sert)|rl(?: (?:build-query|decode|encode|join|parse))?|se)|v(?:alues|ersion|iew(?: (?:files|ir|s(?:ource|pan)))?)|w(?:atch|h(?:ere|i(?:ch|le)|oami)|i(?:ndow|th-env)|rap)|zip)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])( ([^\\n]*))?","dgv",{"lazyCompile":true})},{captures:{"1":{patterns:[{include:"#paren-expression"}]}},match:/(?<=\^)(?:\$("[^"]+"|'[^']+')|"[^"]+"|'[^']+')/dgv,name:"entity.name.type.external.nushell"},{captures:{"1":{name:"entity.name.type.external.nushell"},"2":{patterns:[{include:"#value"}]}},match:/([\p{L}\p{M}\p{N}\p{Pc}\.]+(?:-[\p{L}\p{M}\p{N}\p{Pc}\.\!]+)*)(?: ([^\n]*))?/dgv},{include:"#value"}]}},end:/(?=[\|\)\}\;])|(?=\n?$)/dgv,name:"meta.command.nushell",patterns:[{include:"#parameters"},{include:"#spread"},{include:"#value"}]},comment:{match:/(#[^\n]*)(?=\n?$)/dgv,name:"comment.nushell"},"constant-keywords":{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.nushell"},"constant-value":{patterns:[{include:"#constant-keywords"},{include:"#datetime"},{include:"#numbers"},{include:"#numbers-hexa"},{include:"#numbers-octal"},{include:"#numbers-binary"},{include:"#binary"}]},"control-keywords":{match:/(?<![0-9a-zA-Z_\-\.\/\:\\])(?:break|continue|else(?: if)?|for|if|loop|mut|return|try|while)(?![0-9a-zA-Z_\-\.\/\:\\])/dgv,name:"keyword.control.nushell"},datetime:{match:/\b\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}(?:T\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}(?:\.\p{Nd}+)?(?:\+\p{Nd}{2}:?\p{Nd}{2}|Z)?)?\b/dgv,name:"constant.numeric.nushell"},"define-alias":{captures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"},"3":{patterns:[{include:"#operators"}]}},match:/((?:export )?alias)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-\!]+)\p{space}*(=)/dgv},"define-variable":{captures:{"1":{name:"keyword.other.nushell"},"2":{name:"variable.other.nushell"},"3":{patterns:[{include:"#operators"}]}},match:/(let|mut|(?:export\p{space}+)?const)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(=)/dgv},expression:{patterns:[{include:"#pre-command"},{include:"#for-loop"},{include:"#operators"},{match:/\|/dgv,name:"keyword.control.nushell"},{include:"#control-keywords"},{include:"#constant-value"},{include:"#string-raw"},{include:"#command"},{include:"#value"}]},extern:{begin:/((?:export\p{space}+)?extern)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+")/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"}},end:/(?<=\])/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.nushell"}},patterns:[{include:"#function-parameters"}]},"for-loop":{begin:/(for)\p{space}+(\$?[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(in)\p{space}+([^\n]+)\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.other.nushell"},"2":{name:"variable.other.nushell"},"3":{name:"keyword.other.nushell"},"4":{patterns:[{include:"#value"}]},"5":{name:"punctuation.section.block.begin.bracket.curly.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.nushell"}},name:"meta.for-loop.nushell",patterns:[{include:"source.nushell"}]},function:{begin:/((?:export\p{space}+)?def(?:\p{space}+--[\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"|'[\p{L}\p{M}\p{N}\p{Pc}\- ]+'|`[\p{L}\p{M}\p{N}\p{Pc}\- ]+`)(\p{space}+--[\p{L}\p{M}\p{N}\p{Pc}]+)*/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"},"3":{name:"entity.name.function.nushell"}},end:/(?<=\})/dgv,patterns:[{include:"#function-parameters"},{include:"#function-body"},{include:"#function-inout"}]},"function-body":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.function.begin.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.nushell"}},name:"meta.function.body.nushell",patterns:[{include:"source.nushell"}]},"function-inout":{patterns:[{include:"#types"},{match:/->/dgv,name:"keyword.operator.nushell"},{include:"#function-multiple-inout"}]},"function-multiple-inout":{begin:/(?<=\]\p{space}*)(:)\p{space}+(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.in-out.nushell"},"2":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},patterns:[{include:"#types"},{captures:{"1":{name:"punctuation.separator.nushell"}},match:/\p{space}*(,)\p{space}*/dgv},{captures:{"1":{name:"keyword.operator.nushell"}},match:/\p{space}+(->)\p{space}+/dgv}]},"function-parameter":{patterns:[{captures:{"1":{name:"keyword.control.nushell"}},match:/(-{0,2}|\.{3})[\p{L}\p{M}\p{N}\p{Pc}\-]+(?:\((-[\p{L}\p{M}\p{N}\p{Pc}\?])\))?/dgv,name:"variable.parameter.nushell"},{begin:/\??:\p{space}*/dgv,end:/(?=\p{space}+(?:-{0,2}|\.{3})[\p{L}\p{M}\p{N}\p{Pc}\-]+|\p{space}*(?:[\,\]\|\@\=\#]|(?=\n?$)))/dgv,patterns:[{include:"#types"}]},{begin:/@(?=["'])/dgv,end:/(?<=["'])/dgv,patterns:[{include:"#string"}]},{begin:/=\p{space}*/dgv,end:/(?=\p{space}+-{0,2}[\p{L}\p{M}\p{N}\p{Pc}\-]+|\p{space}*(?:[\,\]\|\#]|(?=\n?$)))/dgv,name:"default.value.nushell",patterns:[{include:"#value"}]}]},"function-parameters":{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},name:"meta.function.parameters.nushell",patterns:[{include:"#function-parameter"},{include:"#comment"}]},"internal-variables":{match:/\$(?:nu|env)\b/dgv,name:"variable.language.nushell"},keyword:{match:/def(?:-env)?/dgv,name:"keyword.other.nushell"},module:{begin:/((?:export\p{space}+)?module)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+)\p{space}*\{/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.module.end.nushell"}},name:"meta.module.nushell",patterns:[{include:"source.nushell"}]},numbers:{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])(?:(?=(_*))\\1)[\\-\\+]?(?:(?=(_*))\\2)(?:(?:NaN|infinity|inf)(?:(?=(_*))\\3)|(?:\\p{Nd}(?:(?=([\\p{Nd}_]*))\\4)\\.?|\\.(?:(?=(_*))\\5)\\p{Nd})(?:(?=([\\p{Nd}_]*))\\6)(?:E(?:(?=(_*))\\7)[\\-\\+]?(?:(?=(_*))\\8)\\p{Nd}(?:(?=([\\p{Nd}_]*))\\9))?)(?:ns|us|µs|ms|sec|min|hr|day|wk|b|kb|mb|gb|tb|pt|eb|zb|kib|mib|gib|tib|pit|eib|zib)?(?:(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\.])|(?=\\.\\.))","dgiv",{"hiddenCaptures":[1,2,3,4,5,6,7,8,9]}),name:"constant.numeric.nushell"},"numbers-binary":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)b(?:(?=(_*))\\3)[01](?:(?=([01_]*))\\4)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\.])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},"numbers-hexa":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)x(?:(?=(_*))\\3)\\p{AHex}(?:(?=([_\\p{AHex}]*))\\4)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\.])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},"numbers-octal":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}\\-])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)o(?:(?=(_*))\\3)[0-7](?:(?=([0-7_]*))\\4)(?![\\p{L}\\p{M}\\p{N}\\p{Pc}\\.])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},operators:{patterns:[{include:"#operators-word"},{include:"#operators-symbols"},{include:"#ranges"}]},"operators-symbols":{match:/(?<= )(?:[\+\-\*\/]=?|\/\/|\*\*|!=|[\<\>\=]=?|[\!\=]~|\+\+=?)(?= |(?=\n?$))/dgv,name:"keyword.control.nushell"},"operators-word":{match:/(?<=[ \(])(?:mod|in|not-(?:in|like|has)|not|and|or|xor|bit-(?:or|and|xor|shl|shr)|starts-with|ends-with|like|has)(?=[ \)]|(?=\n?$))/dgv,name:"keyword.control.nushell"},parameters:{captures:{"1":{name:"keyword.control.nushell"}},match:/(?<=\p{space})(-{1,2})[\p{L}\p{M}\p{N}\p{Pc}\-]+/dgv,name:"variable.parameter.nushell"},"paren-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.begin.nushell"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.end.nushell"}},name:"meta.expression.parenthesis.nushell",patterns:[{include:"#expression"}]},"pre-command":{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+)(=)/dgv,beginCaptures:{"1":{name:"variable.other.nushell"},"2":{patterns:[{include:"#operators"}]}},end:/(?=\p{space}+)/dgv,patterns:[{include:"#value"}]},ranges:{match:/\.\.<?/dgv,name:"keyword.control.nushell"},spread:{match:/\.\.\.(?=[^\p{space}\]\}])/dgv,name:"keyword.control.nushell"},string:{patterns:[{include:"#string-single-quote"},{include:"#string-backtick"},{include:"#string-double-quote"},{include:"#string-interpolated-double"},{include:"#string-interpolated-single"},{include:"#string-raw"},{include:"#string-bare"}]},"string-backtick":{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.single.nushell"},"string-bare":{match:/[^\$\[\{\("'\,\|\#\p{space}\;][^\[\]\{\}\(\)"'\p{space}\,\|\;]*/dgv,name:"string.bare.nushell"},"string-double-quote":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.double.nushell",patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv},{include:"#string-escape"}]},"string-escape":{match:/\\(?:[bfrnt\\'"\/]|u\p{AHex}{4})/dgv,name:"constant.character.escape.nushell"},"string-interpolated-double":{begin:/\$"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.interpolated.double.nushell",patterns:[{match:/\\[\(\)]/dgv,name:"constant.character.escape.nushell"},{include:"#string-escape"},{include:"#paren-expression"}]},"string-interpolated-single":{begin:/\$'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.interpolated.single.nushell",patterns:[{include:"#paren-expression"}]},"string-raw":{begin:/r(#+)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.raw.nushell"},"string-single-quote":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.single.nushell"},table:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},name:"meta.table.nushell",patterns:[{include:"#spread"},{include:"#value"},{match:/,/dgv,name:"punctuation.separator.nushell"}]},types:{patterns:[{begin:/\b(list)\p{space}*</dgv,beginCaptures:{"1":{name:"entity.name.type.nushell"}},end:/>/dgv,name:"meta.list.nushell",patterns:[{include:"#types"}]},{begin:/\b(record)\p{space}*</dgv,beginCaptures:{"1":{name:"entity.name.type.nushell"}},end:/>/dgv,name:"meta.record.nushell",patterns:[{captures:{"1":{name:"variable.parameter.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"|'[^']+')\p{space}*:\p{space}*/dgv},{include:"#types"}]},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.nushell"}]},"use-module":{patterns:[{captures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"},"3":{name:"keyword.other.nushell"}},match:/^\p{space}*((?:export )?use)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"|'[\p{L}\p{M}\p{N}\p{Pc}\- ]+')(?:\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"|'[\p{L}\p{M}\p{N}\p{Pc}\- ]+'|\*))?\p{space}*;?(?=\n?$)/dgv},{begin:/^\p{space}*((?:export )?use)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"|'[\p{L}\p{M}\p{N}\p{Pc}\- ]+')\p{space}*\[/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"}},end:/(\])\p{space}*;?\p{space}*(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.square.end.nushell"}},patterns:[{captures:{"1":{name:"keyword.other.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"|'[\p{L}\p{M}\p{N}\p{Pc}\- ]+'|\*),?/dgv},{include:"#comment"}]},{captures:{"2":{name:"entity.name.function.nushell"},"3":{name:"string.bare.nushell",patterns:[{captures:{"1":{name:"entity.name.namespace.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}\- ]+)(?:\.nu)?(?=(?=\n?$)|["'])/dgv}]},"4":{name:"keyword.other.nushell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<path>(?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+(?:\\.nu)?){0}^\\p{space}*((?:export )?use)\\p{space}+(\"((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+(?:\\.nu)?)\"|'((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+(?:\\.nu)?)'|(?![\"'])((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+(?:\\.nu)?))(?:\\p{space}+([\\p{L}\\p{M}\\p{N}\\p{Pc}\\-]+|\"[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+\"|'[^']+'|\\*))?\\p{space}*;?(?=\\n?$)","dgv",{"hiddenCaptures":[4,5,6],"transfers":[[1,[4,5,6]]]})},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<path>(?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+(?:\\.nu)?){0}^\\p{space}*((?:export )?use)\\p{space}+(\"((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+(?:\\.nu)?)\"|'((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+(?:\\.nu)?)'|(?![\"'])((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\p{L}\\p{M}\\p{N}\\p{Pc}\\- ]+(?:\\.nu)?))\\p{space}+\\[","dgv",{"hiddenCaptures":[4,5,6],"transfers":[[1,[4,5,6]]]}),beginCaptures:{"2":{name:"entity.name.function.nushell"},"3":{name:"string.bare.nushell",patterns:[{captures:{"1":{name:"entity.name.namespace.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}\- ]+)(?:\.nu)?(?=(?=\n?$)|["'])/dgv}]}},end:/(\])\p{space}*;?\p{space}*(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.square.end.nushell"}},patterns:[{captures:{"0":{name:"keyword.other.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"|'[\p{L}\p{M}\p{N}\p{Pc}\- ]+'|\*),?/dgv},{include:"#comment"}]},{captures:{"0":{name:"entity.name.function.nushell"}},match:/^\p{space}*(?:export )?use\b/dgv}]},value:{patterns:[{include:"#variables"},{include:"#variable-fields"},{include:"#control-keywords"},{include:"#constant-value"},{include:"#table"},{include:"#operators"},{include:"#paren-expression"},{include:"#braced-expression"},{include:"#string"},{include:"#comment"}]},"variable-fields":{match:/(?<=[\)\}\]])(?:\.(?:[\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"))+/dgv,name:"variable.other.nushell"},variables:{captures:{"1":{patterns:[{include:"#internal-variables"},{match:/\$[^\n]+/dgv,name:"variable.other.nushell"}]},"2":{name:"variable.other.nushell"}},match:/(\$[a-zA-Z0-9_]+)((?:\.(?:[\p{L}\p{M}\p{N}\p{Pc}\-]+|"[\p{L}\p{M}\p{N}\p{Pc}\- ]+"))*)/dgv}},scopeName:"source.nushell",embeddedLangs:undefined,aliases:["nu"]})
3
+ const lang = Object.freeze({displayName:"nushell",name:"nushell",patterns:[{include:"#define-variable"},{include:"#define-alias"},{include:"#function"},{include:"#extern"},{include:"#module"},{include:"#use-module"},{include:"#expression"},{include:"#comment"}],repository:{binary:{begin:/\b(0x)(\[)/dgv,beginCaptures:{"1":{name:"constant.numeric.nushell"},"2":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},name:"constant.binary.nushell",patterns:[{match:/\p{AHex}{2}/dgv,name:"constant.numeric.nushell"}]},"braced-expression":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.section.block.begin.bracket.curly.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.nushell"}},name:"meta.expression.braced.nushell",patterns:[{begin:/(?<=\{)\p{space}*\|/dgv,end:/\|/dgv,name:"meta.closure.parameters.nushell",patterns:[{include:"#function-parameter"}]},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(:)\p{space}*/dgv},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"variable.other.nushell",patterns:[{include:"#paren-expression"}]},"3":{name:"keyword.control.nushell"}},match:/(\$"((?:[^"\\]|\\[^\n])*)")\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/("(?:[^"\\]|\\[^\n])*")\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"variable.other.nushell",patterns:[{include:"#paren-expression"}]},"3":{name:"keyword.control.nushell"}},match:/(\$'([^']*)')\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{captures:{"1":{name:"variable.other.nushell"},"2":{name:"keyword.control.nushell"}},match:/('[^']*')\p{space}*(:)\p{space}*/dgv,name:"meta.record-entry.nushell"},{include:"#spread"},{include:"source.nushell"}]},command:{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(?:(\^)|(?![\$0-9]))([\!\.\p{L}\p{M}\p{N}\p{Pc}]+(?: (?!-)[\-\!\.\p{L}\p{M}\p{N}\p{Pc}]+(?:(?=[ \)])|(?=\n?$))|[\-\!\.\p{L}\p{M}\p{N}\p{Pc}]+)*|(?<=\^)\$?(?:"[^"]+"|'[^']+'))/dgv,beginCaptures:{"1":{name:"keyword.operator.nushell"},"2":{patterns:[{include:"#control-keywords"},{captures:{"0":{name:"keyword.other.builtin.nushell"}},match:/(?:ansi|char) [\p{L}\p{M}\p{N}\p{Pc}]+/dgv},{captures:{"1":{name:"keyword.other.builtin.nushell"},"2":{patterns:[{include:"#value"}]}},match:/*@__PURE__*/ new EmulatedRegExp("(a(?:l(?:ias|l)|n(?:si(?: (?:gradient|link|strip))?|y)|ppend|st)|b(?:g|its(?: (?:and|not|or|ro[lr]|sh[lr]|xor))?|reak|ytes(?: (?:a(?:dd|t)|build|collect|ends-with|index-of|length|re(?:move|place|verse)|starts-with))?)|c(?:al|d|h(?:ar|unks)|lear|o(?:l(?:lect|umns)|m(?:mandline(?: (?:edit|get-cursor|set-cursor))?|p(?:act|lete))|n(?:fig(?: (?:env|nu|reset))?|st|tinue))|p)|d(?:ate(?: (?:format|humanize|list-timezone|now|to-(?:record|t(?:able|imezone))))?|e(?:bug(?: (?:info|profile))?|code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|f(?:ault)?|scribe|tect columns)|o|rop(?: (?:column|nth))?|t(?: (?:add|diff|format|now|part|to|utcnow))?|u)|e(?:ach(?: while)?|cho|moji|n(?:code(?: (?:base(?:32(?:hex)?|64)|hex|new-base64))?|umerate)|rror make|very|x(?:ec|it|p(?:l(?:ain|ore)|ort(?: (?:alias|const|def|extern|module|use)|-env)?)|tern))|f(?:i(?:l(?:[el]|ter)|nd|rst)|latten|mt|or(?:mat(?: (?:d(?:ate|uration)|filesize|pattern))?)?|rom(?: (?:csv|eml|i(?:cs|ni)|json|msgpackz?|nuon|ods|p(?:arquet|list)|ssv|t(?:oml|sv)|url|vcf|x(?:lsx|ml)|y(?:a|)ml))?)|g(?:e(?:nerate|t)|lob|r(?:id|oup(?:-by)?)|stat)|h(?:ash(?: (?:md5|sha256))?|e(?:aders|lp(?: (?:aliases|commands|e(?:scapes|xterns)|modules|operators))?)|i(?:de(?:-env)?|sto(?:gram|ry(?: session)?))|ttp(?: (?:delete|get|head|options|p(?:atch|ost|ut)))?)|i(?:f|gnore|n(?:c|put(?: list(?:en)?)?|s(?:ert|pect)|t(?:erleave|o(?: (?:b(?:i(?:nary|ts)|ool)|cell-path|d(?:atetime|uration)|f(?:ilesize|loat)|glob|int|record|s(?:qlite|tring)|value))?))|s-(?:admin|empty|not-empty|terminal)|tems)|j(?:oin|son path|walk)|k(?:eybindings(?: (?:default|list(?:en)?))?|ill)|l(?:ast|e(?:ngth|t(?:-env)?)|ines|o(?:ad-env|op)|s)|m(?:at(?:ch|h(?: (?:a(?:bs|rc(?:cosh?|sinh?|tanh?)|vg)|c(?:eil|osh?)|exp|floor|l(?:n|og)|m(?:ax|edian|in|ode)|product|round|s(?:inh?|qrt|tddev|um)|tanh?|variance))?)|d|e(?:rge|tadata(?: (?:access|set))?)|k(?:dir|temp)|o(?:dule|ve)|ut|v)|nu-(?:check|highlight)|o(?:pen|verlay(?: (?:hide|list|new|use))?)|p(?:a(?:nic|r(?:-each|se)|th(?: (?:basename|dirname|ex(?:ists|pand)|join|parse|relative-to|split|type))?)|lugin(?: (?:add|list|rm|stop|use))?|net|o(?:lars(?: (?:a(?:gg(?:-groups)?|ll-(?:false|true)|ppend|rg-(?:m(?:ax|in)|sort|true|unique|where)|s(?:-date(?:time)?)?)|c(?:a(?:che|st)|o(?:l(?:lect|umns)?|n(?:cat(?:-str)?|tains)|unt(?:-null)?)|umulative)|d(?:atepart|ecimal|rop(?:-(?:duplicates|nulls))?|ummies)|exp(?:lode|r-not)|f(?:etch|i(?:l(?:l-n(?:an|ull)|ter(?:-with)?)|rst)|latten)|g(?:et(?:-(?:day|hour|m(?:inute|onth)|nanosecond|ordinal|second|week(?:day)?|year))?|roup-by)|i(?:mplode|nt(?:eger|o-(?:df|lazy|nu))|s-(?:duplicated|in|n(?:ot-n|)ull|unique))|join|l(?:ast|it|owercase)|m(?:ax|e(?:an|dian)|in)|n(?:-unique|ot)|o(?:pen|therwise)|p(?:ivot|rofile)|qu(?:antile|ery)|r(?:e(?:name|place(?:-all)?|verse)|olling)|s(?:a(?:mple|ve)|chema|e(?:lect|t(?:-with-idx)?)|h(?:ape|ift)|lice|ort-by|t(?:d|ore-(?:get|ls|rm)|r(?:-(?:join|lengths|slice)|ftime))|um(?:mary)?)|take|u(?:n(?:ique|pivot)|ppercase)|va(?:lue-counts|r)|w(?:hen|ith-column)))?|rt)|r(?:epend|int)|s)|query(?: (?:db|git|json|web(?:page-info)?|xml))?|r(?:an(?:dom(?: (?:b(?:inary|ool)|chars|dice|float|int|uuid))?|ge)|e(?:duce|g(?:ex|istry query)|ject|name|turn|verse)|m|o(?:ll(?: (?:down|left|right|up))?|tate)|un-external)|s(?:ave|c(?:hema|ope(?: (?:aliases|commands|e(?:ngine-stats|xterns)|modules|variables))?)|e(?:lect|q(?: (?:char|date))?)|huffle|kip(?: (?:until|while))?|leep|o(?:rt(?:-by)?|urce(?:-env)?)|plit(?: (?:c(?:ell-path|hars|olumn)|list|row|words)|-by)?|t(?:art|or(?: (?:create|delete|export|i(?:mport|nsert)|open|reset|update))?|r(?: (?:c(?:a(?:mel-case|pitalize)|ontains)|d(?:istance|owncase)|e(?:nds-with|xpand)|index-of|join|kebab-case|length|pascal-case|re(?:place|verse)|s(?:creaming-snake-case|imilarity|nake-case|ta(?:rts-with|ts)|ubstring)|t(?:itle-case|rim)|upcase)|ess_internals)?)|ys(?: (?:cpu|disks|host|mem|net|temp|users))?)|t(?:a(?:ble|ke(?: (?:until|while))?)|e(?:e|rm size)|imeit|o(?: (?:csv|html|json|m(?:d|sgpackz?)|nuon|p(?:arquet|list)|t(?:ext|oml|sv)|xml|yaml)|uch)?|r(?:anspose|y)|utor)|u(?:limit|n(?:ame|iq(?:-by)?)|p(?:date(?: cells)?|sert)|rl(?: (?:build-query|decode|encode|join|parse))?|se)|v(?:alues|ersion|iew(?: (?:files|ir|s(?:ource|pan)))?)|w(?:atch|h(?:ere|i(?:ch|le)|oami)|i(?:ndow|th-env)|rap)|zip)(?![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])( ([^\\n]*))?","dgv",{"lazyCompile":true})},{captures:{"1":{patterns:[{include:"#paren-expression"}]}},match:/(?<=\^)(?:\$("[^"]+"|'[^']+')|"[^"]+"|'[^']+')/dgv,name:"entity.name.type.external.nushell"},{captures:{"1":{name:"entity.name.type.external.nushell"},"2":{patterns:[{include:"#value"}]}},match:/([\.\p{L}\p{M}\p{N}\p{Pc}]+(?:-[\!\.\p{L}\p{M}\p{N}\p{Pc}]+)*)(?: ([^\n]*))?/dgv},{include:"#value"}]}},end:/(?=[\)\;\|\}])|(?=\n?$)/dgv,name:"meta.command.nushell",patterns:[{include:"#parameters"},{include:"#spread"},{include:"#value"}]},comment:{match:/(#[^\n]*)(?=\n?$)/dgv,name:"comment.nushell"},"constant-keywords":{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.nushell"},"constant-value":{patterns:[{include:"#constant-keywords"},{include:"#datetime"},{include:"#numbers"},{include:"#numbers-hexa"},{include:"#numbers-octal"},{include:"#numbers-binary"},{include:"#binary"}]},"control-keywords":{match:/(?<![\--\:A-Z\\_a-z])(?:break|continue|else(?: if)?|for|if|loop|mut|return|try|while)(?![\--\:A-Z\\_a-z])/dgv,name:"keyword.control.nushell"},datetime:{match:/\b\p{Nd}{4}-\p{Nd}{2}-\p{Nd}{2}(?:T\p{Nd}{2}:\p{Nd}{2}:\p{Nd}{2}(?:\.\p{Nd}+)?(?:\+\p{Nd}{2}:?\p{Nd}{2}|Z)?)?\b/dgv,name:"constant.numeric.nushell"},"define-alias":{captures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"},"3":{patterns:[{include:"#operators"}]}},match:/((?:export )?alias)\p{space}+([\-\!\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(=)/dgv},"define-variable":{captures:{"1":{name:"keyword.other.nushell"},"2":{name:"variable.other.nushell"},"3":{patterns:[{include:"#operators"}]}},match:/(let|mut|(?:export\p{space}+)?const)\p{space}+([\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(=)/dgv},expression:{patterns:[{include:"#pre-command"},{include:"#for-loop"},{include:"#operators"},{match:/\|/dgv,name:"keyword.control.nushell"},{include:"#control-keywords"},{include:"#constant-value"},{include:"#string-raw"},{include:"#command"},{include:"#value"}]},extern:{begin:/((?:export\p{space}+)?extern)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+")/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"}},end:/(?<=\])/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.nushell"}},patterns:[{include:"#function-parameters"}]},"for-loop":{begin:/(for)\p{space}+(\$?[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}+(in)\p{space}+([^\n]+)\p{space}*(\{)/dgv,beginCaptures:{"1":{name:"keyword.other.nushell"},"2":{name:"variable.other.nushell"},"3":{name:"keyword.other.nushell"},"4":{patterns:[{include:"#value"}]},"5":{name:"punctuation.section.block.begin.bracket.curly.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.block.end.bracket.curly.nushell"}},name:"meta.for-loop.nushell",patterns:[{include:"source.nushell"}]},function:{begin:/((?:export\p{space}+)?def(?:\p{space}+--[\p{L}\p{M}\p{N}\p{Pc}]+)*)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|`[\- \p{L}\p{M}\p{N}\p{Pc}]+`)(\p{space}+--[\p{L}\p{M}\p{N}\p{Pc}]+)*/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.type.nushell"},"3":{name:"entity.name.function.nushell"}},end:/(?<=\})/dgv,patterns:[{include:"#function-parameters"},{include:"#function-body"},{include:"#function-inout"}]},"function-body":{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.function.begin.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.function.end.nushell"}},name:"meta.function.body.nushell",patterns:[{include:"source.nushell"}]},"function-inout":{patterns:[{include:"#types"},{match:/->/dgv,name:"keyword.operator.nushell"},{include:"#function-multiple-inout"}]},"function-multiple-inout":{begin:/(?<=\]\p{space}*)(:)\p{space}+(\[)/dgv,beginCaptures:{"1":{name:"punctuation.definition.in-out.nushell"},"2":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},patterns:[{include:"#types"},{captures:{"1":{name:"punctuation.separator.nushell"}},match:/\p{space}*(,)\p{space}*/dgv},{captures:{"1":{name:"keyword.operator.nushell"}},match:/\p{space}+(->)\p{space}+/dgv}]},"function-parameter":{patterns:[{captures:{"1":{name:"keyword.control.nushell"}},match:/(-{0,2}|\.{3})[\-\p{L}\p{M}\p{N}\p{Pc}]+(?:\((-[\?\p{L}\p{M}\p{N}\p{Pc}])\))?/dgv,name:"variable.parameter.nushell"},{begin:/\??:\p{space}*/dgv,end:/(?=\p{space}+(?:-{0,2}|\.{3})[\-\p{L}\p{M}\p{N}\p{Pc}]+|\p{space}*(?:[\]\#\,\=\@\|]|(?=\n?$)))/dgv,patterns:[{include:"#types"}]},{begin:/@(?=["'])/dgv,end:/(?<=["'])/dgv,patterns:[{include:"#string"}]},{begin:/=\p{space}*/dgv,end:/(?=\p{space}+-{0,2}[\-\p{L}\p{M}\p{N}\p{Pc}]+|\p{space}*(?:[\]\#\,\|]|(?=\n?$)))/dgv,name:"default.value.nushell",patterns:[{include:"#value"}]}]},"function-parameters":{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},name:"meta.function.parameters.nushell",patterns:[{include:"#function-parameter"},{include:"#comment"}]},"internal-variables":{match:/\$(?:nu|env)\b/dgv,name:"variable.language.nushell"},keyword:{match:/def(?:-env)?/dgv,name:"keyword.other.nushell"},module:{begin:/((?:export\p{space}+)?module)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*\{/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.module.end.nushell"}},name:"meta.module.nushell",patterns:[{include:"source.nushell"}]},numbers:{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)[\\-\\+]?(?:(?=(_*))\\2)(?:(?:NaN|infinity|inf)(?:(?=(_*))\\3)|(?:\\p{Nd}(?:(?=([_\\p{Nd}]*))\\4)\\.?|\\.(?:(?=(_*))\\5)\\p{Nd})(?:(?=([_\\p{Nd}]*))\\6)(?:E(?:(?=(_*))\\7)[\\-\\+]?(?:(?=(_*))\\8)\\p{Nd}(?:(?=([_\\p{Nd}]*))\\9))?)(?:ns|us|µs|ms|sec|min|hr|day|wk|b|kb|mb|gb|tb|pt|eb|zb|kib|mib|gib|tib|pit|eib|zib)?(?:(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=\\.\\.))","dgiv",{"hiddenCaptures":[1,2,3,4,5,6,7,8,9]}),name:"constant.numeric.nushell"},"numbers-binary":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)b(?:(?=(_*))\\3)[01](?:(?=([01_]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},"numbers-hexa":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)x(?:(?=(_*))\\3)\\p{AHex}(?:(?=([_\\p{AHex}]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},"numbers-octal":{match:/*@__PURE__*/ new EmulatedRegExp("(?<![\\-\\p{L}\\p{M}\\p{N}\\p{Pc}])(?:(?=(_*))\\1)0(?:(?=(_*))\\2)o(?:(?=(_*))\\3)[0-7](?:(?=([0-7_]*))\\4)(?![\\.\\p{L}\\p{M}\\p{N}\\p{Pc}])","dgv",{"hiddenCaptures":[1,2,3,4]}),name:"constant.numeric.nushell"},operators:{patterns:[{include:"#operators-word"},{include:"#operators-symbols"},{include:"#ranges"}]},"operators-symbols":{match:/(?<= )(?:[\-\*\+\/]=?|\/\/|\*\*|!=|[\<\=\>]=?|[\!\=]~|\+\+=?)(?= |(?=\n?$))/dgv,name:"keyword.control.nushell"},"operators-word":{match:/(?<=[ \(])(?:mod|in|not-(?:in|like|has)|not|and|or|xor|bit-(?:or|and|xor|shl|shr)|starts-with|ends-with|like|has)(?=[ \)]|(?=\n?$))/dgv,name:"keyword.control.nushell"},parameters:{captures:{"1":{name:"keyword.control.nushell"}},match:/(?<=\p{space})(-{1,2})[\-\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"variable.parameter.nushell"},"paren-expression":{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.begin.nushell"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.end.nushell"}},name:"meta.expression.parenthesis.nushell",patterns:[{include:"#expression"}]},"pre-command":{begin:/([\p{L}\p{M}\p{N}\p{Pc}]+)(=)/dgv,beginCaptures:{"1":{name:"variable.other.nushell"},"2":{patterns:[{include:"#operators"}]}},end:/(?=\p{space}+)/dgv,patterns:[{include:"#value"}]},ranges:{match:/\.\.<?/dgv,name:"keyword.control.nushell"},spread:{match:/\.\.\.(?=[^\]\}\p{space}])/dgv,name:"keyword.control.nushell"},string:{patterns:[{include:"#string-single-quote"},{include:"#string-backtick"},{include:"#string-double-quote"},{include:"#string-interpolated-double"},{include:"#string-interpolated-single"},{include:"#string-raw"},{include:"#string-bare"}]},"string-backtick":{begin:/`/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/`/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.single.nushell"},"string-bare":{match:/[^"\#\$'\(\,\;\[\{\|\p{space}][^\]"'\(\)\,\;\[\{\|\}\p{space}]*/dgv,name:"string.bare.nushell"},"string-double-quote":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.double.nushell",patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]+/dgv},{include:"#string-escape"}]},"string-escape":{match:/\\(?:["'\/\\bfnrt]|u\p{AHex}{4})/dgv,name:"constant.character.escape.nushell"},"string-interpolated-double":{begin:/\$"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.interpolated.double.nushell",patterns:[{match:/\\[\(\)]/dgv,name:"constant.character.escape.nushell"},{include:"#string-escape"},{include:"#paren-expression"}]},"string-interpolated-single":{begin:/\$'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.interpolated.single.nushell",patterns:[{include:"#paren-expression"}]},"string-raw":{begin:/r(#+)'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'\1()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.raw.nushell"},"string-single-quote":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.nushell"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.nushell"}},name:"string.quoted.single.nushell"},table:{begin:/\[/dgv,beginCaptures:{"0":{name:"meta.brace.square.begin.nushell"}},end:/\]/dgv,endCaptures:{"0":{name:"meta.brace.square.end.nushell"}},name:"meta.table.nushell",patterns:[{include:"#spread"},{include:"#value"},{match:/,/dgv,name:"punctuation.separator.nushell"}]},types:{patterns:[{begin:/\b(list)\p{space}*</dgv,beginCaptures:{"1":{name:"entity.name.type.nushell"}},end:/>/dgv,name:"meta.list.nushell",patterns:[{include:"#types"}]},{begin:/\b(record)\p{space}*</dgv,beginCaptures:{"1":{name:"entity.name.type.nushell"}},end:/>/dgv,name:"meta.record.nushell",patterns:[{captures:{"1":{name:"variable.parameter.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[^']+')\p{space}*:\p{space}*/dgv},{include:"#types"}]},{match:/\b([\p{L}\p{M}\p{N}\p{Pc}]+)\b/dgv,name:"entity.name.type.nushell"}]},"use-module":{patterns:[{captures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"},"3":{name:"keyword.other.nushell"}},match:/^\p{space}*((?:export )?use)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+')(?:\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*))?\p{space}*;?(?=\n?$)/dgv},{begin:/^\p{space}*((?:export )?use)\p{space}+([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+')\p{space}*\[/dgv,beginCaptures:{"1":{name:"entity.name.function.nushell"},"2":{name:"entity.name.namespace.nushell"}},end:/(\])\p{space}*;?\p{space}*(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.square.end.nushell"}},patterns:[{captures:{"1":{name:"keyword.other.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*),?/dgv},{include:"#comment"}]},{captures:{"2":{name:"entity.name.function.nushell"},"3":{name:"string.bare.nushell",patterns:[{captures:{"1":{name:"entity.name.namespace.nushell"}},match:/([\- \p{L}\p{M}\p{N}\p{Pc}]+)(?:\.nu)?(?=(?=\n?$)|["'])/dgv}]},"4":{name:"keyword.other.nushell"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<path>(?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?){0}^\\p{space}*((?:export )?use)\\p{space}+(\"((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)\"|'((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)'|(?![\"'])((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?))(?:\\p{space}+([\\-\\p{L}\\p{M}\\p{N}\\p{Pc}]+|\"[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+\"|'[^']+'|\\*))?\\p{space}*;?(?=\\n?$)","dgv",{"hiddenCaptures":[4,5,6],"transfers":[[1,[4,5,6]]]})},{begin:/*@__PURE__*/ new EmulatedRegExp("(?<path>(?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?){0}^\\p{space}*((?:export )?use)\\p{space}+(\"((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)\"|'((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?)'|(?![\"'])((?:[\\/\\\\]|~[\\/\\\\]|\\.\\.?[\\/\\\\])?(?:[^\\/\\\\]+[\\/\\\\])*[\\- \\p{L}\\p{M}\\p{N}\\p{Pc}]+(?:\\.nu)?))\\p{space}+\\[","dgv",{"hiddenCaptures":[4,5,6],"transfers":[[1,[4,5,6]]]}),beginCaptures:{"2":{name:"entity.name.function.nushell"},"3":{name:"string.bare.nushell",patterns:[{captures:{"1":{name:"entity.name.namespace.nushell"}},match:/([\- \p{L}\p{M}\p{N}\p{Pc}]+)(?:\.nu)?(?=(?=\n?$)|["'])/dgv}]}},end:/(\])\p{space}*;?\p{space}*(?=\n?$)/dgv,endCaptures:{"1":{name:"meta.brace.square.end.nushell"}},patterns:[{captures:{"0":{name:"keyword.other.nushell"}},match:/([\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"|'[\- \p{L}\p{M}\p{N}\p{Pc}]+'|\*),?/dgv},{include:"#comment"}]},{captures:{"0":{name:"entity.name.function.nushell"}},match:/^\p{space}*(?:export )?use\b/dgv}]},value:{patterns:[{include:"#variables"},{include:"#variable-fields"},{include:"#control-keywords"},{include:"#constant-value"},{include:"#table"},{include:"#operators"},{include:"#paren-expression"},{include:"#braced-expression"},{include:"#string"},{include:"#comment"}]},"variable-fields":{match:/(?<=[\]\)\}])(?:\.(?:[\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"))+/dgv,name:"variable.other.nushell"},variables:{captures:{"1":{patterns:[{include:"#internal-variables"},{match:/\$[^\n]+/dgv,name:"variable.other.nushell"}]},"2":{name:"variable.other.nushell"}},match:/(\$[0-9A-Z_a-z]+)((?:\.(?:[\-\p{L}\p{M}\p{N}\p{Pc}]+|"[\- \p{L}\p{M}\p{N}\p{Pc}]+"))*)/dgv}},scopeName:"source.nushell",embeddedLangs:undefined,aliases:["nu"]})
4
4
 
5
5
  export default [
6
6
  lang