github-linguist 9.1.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +24 -5
  3. data/grammars/etc.json +1 -1
  4. data/grammars/injection.interpolated-ruby.json +1 -0
  5. data/grammars/injections.etc.json +1 -1
  6. data/grammars/inline.edgeql.json +1 -1
  7. data/grammars/liquid.injection.json +1 -1
  8. data/grammars/markdown.move.codeblock.json +1 -1
  9. data/grammars/source.4dm.json +1 -1
  10. data/grammars/source.QB64.json +1 -1
  11. data/grammars/source.abl.json +1 -1
  12. data/grammars/source.aiken.json +1 -0
  13. data/grammars/source.apex.json +1 -1
  14. data/grammars/source.ash.json +1 -0
  15. data/grammars/source.ats.json +1 -1
  16. data/grammars/source.ballerina.json +1 -1
  17. data/grammars/source.brs.json +1 -1
  18. data/grammars/source.bru.json +1 -0
  19. data/grammars/source.c++.json +1 -1
  20. data/grammars/source.c.calendar.json +1 -0
  21. data/grammars/source.c.json +1 -1
  22. data/grammars/source.c.linker.json +1 -1
  23. data/grammars/source.c3.json +1 -0
  24. data/grammars/source.cl.json +1 -1
  25. data/grammars/source.clue.json +1 -0
  26. data/grammars/source.cmake.json +1 -1
  27. data/grammars/source.cobol.json +1 -1
  28. data/grammars/source.cooklang.json +1 -0
  29. data/grammars/source.cs.json +1 -1
  30. data/grammars/source.curlrc.json +1 -1
  31. data/grammars/source.daslang.json +1 -0
  32. data/grammars/source.dds.dspf.json +1 -1
  33. data/grammars/source.dotenv.json +1 -1
  34. data/grammars/source.edgeql.json +1 -1
  35. data/grammars/source.erlang.json +1 -1
  36. data/grammars/source.flix.json +1 -0
  37. data/grammars/source.fsharp.json +1 -1
  38. data/grammars/source.gdscript.json +1 -1
  39. data/grammars/source.git-revlist.json +1 -1
  40. data/grammars/source.gitignore.json +1 -1
  41. data/grammars/source.gleam.json +1 -1
  42. data/grammars/source.harbour.json +1 -1
  43. data/grammars/source.httpspec.json +1 -1
  44. data/grammars/source.hx.json +1 -1
  45. data/grammars/source.ilecobol.json +1 -0
  46. data/grammars/source.inputrc.json +1 -1
  47. data/grammars/source.jai.json +1 -1
  48. data/grammars/source.jq.json +1 -1
  49. data/grammars/source.json.comments.json +1 -1
  50. data/grammars/source.julia.console.json +1 -1
  51. data/grammars/source.julia.json +1 -1
  52. data/grammars/source.just.json +1 -1
  53. data/grammars/source.koka.json +1 -0
  54. data/grammars/source.lean4.json +1 -1
  55. data/grammars/source.leo.json +1 -0
  56. data/grammars/source.livescript.json +1 -1
  57. data/grammars/source.luau.json +1 -1
  58. data/grammars/source.m2.json +1 -1
  59. data/grammars/source.m3u.json +1 -0
  60. data/grammars/source.mermaid.flowchart.json +1 -1
  61. data/grammars/source.mermaid.gantt.json +1 -1
  62. data/grammars/source.mermaid.json +1 -1
  63. data/grammars/source.mermaid.pie-chart.json +1 -1
  64. data/grammars/source.mermaid.quad-chart.json +1 -0
  65. data/grammars/source.mermaid.sankey.json +1 -0
  66. data/grammars/source.mermaid.timeline.json +1 -0
  67. data/grammars/source.mermaid.user-journey.json +1 -1
  68. data/grammars/source.mermaid.zenuml.json +1 -0
  69. data/grammars/source.moonbit.json +1 -1
  70. data/grammars/source.move.json +1 -1
  71. data/grammars/source.nasl.json +1 -1
  72. data/grammars/source.nginx.json +1 -1
  73. data/grammars/source.nickel.json +1 -0
  74. data/grammars/source.nim.json +1 -1
  75. data/grammars/source.nr.json +1 -1
  76. data/grammars/source.nushell.json +1 -1
  77. data/grammars/source.objc.json +1 -1
  78. data/grammars/source.odin-ehr.json +1 -1
  79. data/grammars/source.odin.json +1 -1
  80. data/grammars/source.openqasm.json +1 -0
  81. data/grammars/source.postscript.json +1 -1
  82. data/grammars/source.psl.json +1 -0
  83. data/grammars/source.quakec.json +1 -0
  84. data/grammars/source.record-jar.json +1 -1
  85. data/grammars/source.rescript.json +1 -1
  86. data/grammars/source.roc.json +1 -1
  87. data/grammars/source.rosmsg.json +1 -0
  88. data/grammars/source.rust.json +1 -1
  89. data/grammars/source.sail.json +1 -0
  90. data/grammars/source.sieve.json +1 -1
  91. data/grammars/source.slang.json +1 -1
  92. data/grammars/source.slint.json +1 -1
  93. data/grammars/source.smithy.json +1 -1
  94. data/grammars/source.soql.json +1 -1
  95. data/grammars/source.stan.json +1 -1
  96. data/grammars/source.sway.json +1 -1
  97. data/grammars/source.swift.json +1 -1
  98. data/grammars/source.tact.json +1 -1
  99. data/grammars/source.talon.json +1 -1
  100. data/grammars/source.templ.json +1 -1
  101. data/grammars/source.toc.json +1 -1
  102. data/grammars/source.torrc.json +1 -0
  103. data/grammars/source.typst.json +1 -1
  104. data/grammars/source.uplc.json +1 -0
  105. data/grammars/source.vba.json +1 -1
  106. data/grammars/source.vcl.json +1 -0
  107. data/grammars/source.vento.json +1 -0
  108. data/grammars/source.vhdl.json +1 -1
  109. data/grammars/source.vue.json +1 -1
  110. data/grammars/source.wdl.json +1 -1
  111. data/grammars/source.wesl.json +1 -0
  112. data/grammars/source.wgsl.json +1 -1
  113. data/grammars/source.wit.json +1 -1
  114. data/grammars/source.zmodel.json +1 -0
  115. data/grammars/text.adblock.json +1 -1
  116. data/grammars/text.codeowners.json +1 -1
  117. data/grammars/text.html.jte.json +1 -1
  118. data/grammars/text.html.liquid.json +1 -1
  119. data/grammars/text.html.vento.json +1 -0
  120. data/grammars/text.jira.json +1 -0
  121. data/grammars/text.marko.json +1 -1
  122. data/grammars/text.slim.json +1 -1
  123. data/grammars/text.srt.json +1 -1
  124. data/grammars/text.valve-cfg.json +1 -1
  125. data/grammars/text.xml.svg.json +1 -1
  126. data/grammars/version +1 -1
  127. data/lib/linguist/VERSION +1 -1
  128. data/lib/linguist/generated.rb +28 -6
  129. data/lib/linguist/generic.yml +2 -0
  130. data/lib/linguist/heuristics.yml +47 -9
  131. data/lib/linguist/instrumenter.rb +19 -0
  132. data/lib/linguist/languages.json +1 -1
  133. data/lib/linguist/languages.yml +327 -102
  134. data/lib/linguist/samples.json +1 -1
  135. data/lib/linguist.rb +1 -0
  136. metadata +39 -12
  137. data/grammars/source.c.platform.json +0 -1
  138. data/grammars/source.varnish.vcl.json +0 -1
@@ -1 +1 @@
1
- {"name":".curlrc","scopeName":"source.curlrc","patterns":[{"include":"#main"}],"repository":{"auth":{"patterns":[{"match":"([^\\s:;]+)(:)([^\\s=:;]*)","captures":{"1":{"name":"constant.other.auth-info.curlrc"},"2":{"patterns":[{"include":"etc#kolon"}]},"3":{"name":"constant.other.auth-info.curlrc"}}},{"match":"(:)([^\\s:;]*)","captures":{"1":{"patterns":[{"include":"etc#kolon"}]},"2":{"name":"constant.other.auth-info.curlrc"}}}]},"authProtocol":{"match":"(?:\\G|^)([^\\\\:\\s/]*)(://|:)","captures":{"1":{"name":"entity.other.protocol.curlrc"},"2":{"name":"keyword.operator.protocol.separator.curlrc"}}},"autoRefer":{"match":"(;)(auto)\\b","captures":{"1":{"name":"punctuation.separator.key-value.semicolon.curlrc"},"2":{"name":"variable.assignment.parameter.name.curlrc"}}},"comment":{"name":"comment.line.number-sign.curlrc","begin":"(?:^|(?\u003c=[ \\t\\xA0\"]))#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.curlrc"}}},"header":{"match":"(?:\\G|^)\\s*([-A-Za-z0-9]+)\\s*(?:(:)\\s*(.*)|(;))","captures":{"1":{"name":"entity.name.header.curlrc"},"2":{"patterns":[{"include":"etc#kolon"}]},"3":{"name":"string.unquoted.header-value.curlrc"},"4":{"name":"punctuation.terminator.statement.semicolon.curlrc"}}},"longOptions":{"patterns":[{"name":"meta.option.long.curlrc","match":"(?x)\n(?:\\G|^|(?\u003c=[ \\t])) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_no_parameter\u003e\n\t\tanyauth\n\t|\tappend\n\t|\tbasic\n\t|\tca-native\n\t|\tcert-status\n\t|\tcompressed-ssh\n\t|\tcompressed\n\t|\tcreate-dirs\n\t|\tcrlf\n\t|\tdigest\n\t|\tdisable-eprt\n\t|\tdisable-epsv\n\t|\tdisable\n\t|\tdisallow-username-in-url\n\t|\tdoh-cert-status\n\t|\tdoh-insecure\n\t|\tdump-ca-embed\n\t|\tfail-early\n\t|\tfail-with-body\n\t|\tfail\n\t|\tfalse-start\n\t|\tform-escape\n\t|\tftp-create-dirs\n\t|\tftp-pasv\n\t|\tftp-pret\n\t|\tftp-skip-pasv-ip\n\t|\tftp-ssl-ccc\n\t|\tftp-ssl-control\n\t|\tget\n\t|\tgloboff\n\t|\thaproxy-protocol\n\t|\thead\n\t|\thttp0.9\n\t|\thttp1.0\n\t|\thttp1.1\n\t|\thttp2-prior-knowledge\n\t|\thttp2\n\t|\thttp3-only\n\t|\thttp3\n\t|\tignore-content-length\n\t|\tinclude\n\t|\tinsecure\n\t|\tipv4\n\t|\tipv6\n\t|\tjunk-session-cookies\n\t|\tlist-only\n\t|\tlocation-trusted\n\t|\tlocation\n\t|\tmail-rcpt-allowfails\n\t|\tmanual\n\t|\tmetalink\n\t|\tnegotiate\n\t|\tnetrc-optional\n\t|\tnetrc\n\t|\tnext\n\t|\tno-alpn\n\t|\tno-buffer\n\t|\tno-clobber\n\t|\tno-keepalive\n\t|\tno-npn\n\t|\tno-progress-meter\n\t|\tno-sessionid\n\t|\tmptcp\n\t|\tntlm-wb\n\t|\tntlm\n\t|\tparallel-immediate\n\t|\tparallel\n\t|\tpath-as-is\n\t|\tpost301\n\t|\tpost302\n\t|\tpost303\n\t|\tprogress-bar\n\t|\tproxy-anyauth\n\t|\tproxy-basic\n\t|\tproxy-ca-native\n\t|\tproxy-digest\n\t|\tproxy-http2\n\t|\tproxy-insecure\n\t|\tproxy-negotiate\n\t|\tproxy-ntlm\n\t|\tproxy-ssl-allow-beast\n\t|\tproxy-ssl-auto-client-cert\n\t|\tproxy-tlsv1\n\t|\tproxytunnel\n\t|\traw\n\t|\tremote-header-name\n\t|\tremote-name-all\n\t|\tremote-name\n\t|\tremote-time\n\t|\tremove-on-error\n\t|\tretry-all-errors\n\t|\tretry-connrefused\n\t|\tsasl-ir\n\t|\tshow-error\n\t|\tshow-headers\n\t|\tsilent\n\t|\tskip-existing\n\t|\tsocks5-basic\n\t|\tsocks5-gssapi-nec\n\t|\tsocks5-gssapi\n\t|\tssl-allow-beast\n\t|\tssl-auto-client-cert\n\t|\tssl-no-revoke\n\t|\tssl-reqd\n\t|\tssl-revoke-best-effort\n\t|\tsslv2\n\t|\tsslv3\n\t|\tssl\n\t|\tstyled-output\n\t|\tsuppress-connect-headers\n\t|\ttcp-fastopen\n\t|\ttcp-nodelay\n\t|\ttftp-no-options\n\t|\ttlsv1.0\n\t|\ttlsv1.1\n\t|\ttlsv1.2\n\t|\ttlsv1.3\n\t|\ttlsv1\n\t|\ttr-encoding\n\t|\ttrace-ids\n\t|\ttrace-time\n\t|\tuse-ascii\n\t|\tverbose\n\t|\tversion\n\t|\txattr\n\t)\n)\n(?=\\s|$)","captures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_urls\u003e\n\t\tdns-ipv4-addr\n\t|\tdns-ipv6-addr\n\t|\tdns-servers\n\t|\tdoh-url\n\t|\thaproxy-clientip\n\t|\tipfs-gateway\n\t|\tmail-auth\n\t|\tmail-from\n\t|\tmail-rcpt\n\t|\tnoproxy\n\t|\treferer\n\t|\turl\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#url"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"name":"string.unquoted.curlrc","patterns":[{"include":"#url"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_headers\u003e\n\t\theader\n\t|\tproxy-header\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#header"},{"include":"etc#bareword"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#header"},{"include":"etc#bareword"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_form_data\u003e\n\t\tcookie\n\t|\tform-string\n\t|\tform\n\t|\ttelnet-option\n\t|\tvariable\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#params"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#params"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_protocols\u003e\n\t\tproto-default\n\t|\tproto-redir\n\t|\tproto\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#protocols"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#protocols"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_port\u003e\n\t\tftp-port\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"name":"constant.other.port-address.curlrc","patterns":[{"include":"etc#esc"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"name":"constant.other.port-address.curlrc"}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_md5\u003e\n\t\thostpubmd5\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"name":"constant.other.md5.checksum.curlrc","patterns":[{"include":"etc#esc"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"name":"constant.other.md5.checksum.curlrc"}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_range\u003e\n\t\tlocal-port\n\t|\trange\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#range"},{"include":"etc#esc"},{"include":"etc#bareword"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#range"},{"include":"etc#bareword"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:](?=\\s)) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_kv_colon\u003e\n\t\taws-sigv4\n\t|\tcert\n\t|\tconnect-to\n\t|\tpreproxy\n\t|\tproxy-cert\n\t|\tproxy-user\n\t|\tproxy1.0\n\t|\tproxy\n\t|\tresolve\n\t|\tsocks4a\n\t|\tsocks4\n\t|\tsocks5-hostname\n\t|\tsocks5\n\t|\tuser\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#auth"},{"include":"etc#bareword"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#auth"},{"include":"etc#bareword"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:](?=\\s)) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_string\u003e\n\t\tabstract-unix-socket\n\t|\talt-svc\n\t|\tcacert\n\t|\tcapath\n\t|\tcert-type\n\t|\tciphers\n\t|\tconfig\n\t|\tcookie-jar\n\t|\tcrlfile\n\t|\tcurves\n\t|\tdata-ascii\n\t|\tdata-binary\n\t|\tdata-raw\n\t|\tdata-urlencode\n\t|\tdata\n\t|\tdelegation\n\t|\tdns-interface\n\t|\tdump-header\n\t|\tech\n\t|\tegd-file\n\t|\tengine\n\t|\tetag-compare\n\t|\tetag-save\n\t|\tftp-account\n\t|\tftp-alternative-to-user\n\t|\tftp-method\n\t|\tftp-ssl-ccc-mode\n\t|\thappy-eyeballs-timeout-ms\n\t|\thelp\n\t|\thostpubsha256\n\t|\thsts\n\t|\tinterface\n\t|\tjson\n\t|\tkey-type\n\t|\tkey\n\t|\tkrb\n\t|\tlibcurl\n\t|\tlogin-options\n\t|\tnetrc-file\n\t|\toauth2-bearer\n\t|\toutput-dir\n\t|\toutput\n\t|\tpass\n\t|\tpinnedpubkey\n\t|\tproxy-cacert\n\t|\tproxy-capath\n\t|\tproxy-cert-type\n\t|\tproxy-ciphers\n\t|\tproxy-crlfile\n\t|\tproxy-key-type\n\t|\tproxy-key\n\t|\tproxy-pass\n\t|\tproxy-pinnedpubkey\n\t|\tproxy-service-name\n\t|\tproxy-tls13-ciphers\n\t|\tproxy-tlsauthtype\n\t|\tproxy-tlspassword\n\t|\tproxy-tlsuser\n\t|\tpubkey\n\t|\tquote\n\t|\trandom-file\n\t|\trequest-target\n\t|\trequest\n\t|\tsasl-authzid\n\t|\tservice-name\n\t|\tsocks5-gssapi-service\n\t|\tstderr\n\t|\ttls-max\n\t|\ttls13-ciphers\n\t|\ttlsauthtype\n\t|\ttlspassword\n\t|\ttlsuser\n\t|\ttrace-ascii\n\t|\ttrace-config\n\t|\ttrace\n\t|\tunix-socket\n\t|\tupload-file\n\t|\turl-query\n\t|\tuser-agent\n\t|\twrite-out\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:(=)?|(?:([-A-Za-z0-9%_]+)(=)?)?([@\u003c]))?(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"keyword.operator.encoding-modifier.curlrc"},"2":{"name":"entity.name.form-field.curlrc"},"3":{"patterns":[{"include":"etc#eql"}]},"4":{"name":"keyword.operator.source-modifier.curlrc"},"5":{"name":"string.quoted.double.curlrc"},"6":{"name":"punctuation.definition.string.begin.curlrc"},"7":{"patterns":[{"include":"etc#esc"}]},"8":{"name":"punctuation.definition.string.end.curlrc"},"9":{"name":"string.unquoted.curlrc"}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:])\n\\s*\n(\n\t(--)?\n\t(?\u003coptlist_numeric\u003e\n\t\tconnect-timeout\n\t|\tcontinue-at\n\t|\tcreate-file-mode\n\t|\texpect100-timeout\n\t|\tip-tos\n\t|\tkeepalive-cnt\n\t|\tkeepalive-time\n\t|\tlimit-rate\n\t|\tmax-filesize\n\t|\tmax-redirs\n\t|\tmax-time\n\t|\tparallel-max\n\t|\trate\n\t|\tretry-delay\n\t|\tretry-max-time\n\t|\tretry\n\t|\tspeed-limit\n\t|\tspeed-time\n\t|\ttftp-blksize\n\t|\ttime-cond\n\t|\tvlan-priority\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"etc#num"},{"include":"etc#bareword"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"etc#num"},{"include":"etc#bareword"}]}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#shortOptions"},{"include":"#longOptions"}]},"params":{"patterns":[{"include":"#autoRefer"},{"name":"keyword.operator.encoding-modifier.curlrc","match":"(?:\\G|^|(?\u003c=\\G\"|^\"))="},{"match":"(?:\\G|^|(?\u003c=\\G\"|^\"))(;)([^\\s=;\"]+(?=\"?(?:\\s|$)))?","captures":{"1":{"name":"punctuation.separator.key-value.semicolon.curlrc"},"2":{"name":"variable.assignment.parameter.name.curlrc"}}},{"match":"(?:\\G|^|(?\u003c=\\G\"|^\"))(?:([-A-Za-z0-9%_]+)(=)?)?([@\u003c])","captures":{"1":{"name":"entity.name.form-field.curlrc"},"2":{"patterns":[{"include":"etc#eql"}]},"3":{"name":"keyword.operator.source-modifier.curlrc"}}},{"name":"meta.parameter.curlrc","match":"([^\\s=;]+)(=)([^\\s=;]*)(;)?","captures":{"1":{"name":"variable.assignment.parameter.name.curlrc"},"2":{"patterns":[{"include":"etc#eql"}]},"3":{"name":"constant.other.parameter.value.curlrc"},"4":{"name":"punctuation.separator.key-value.semicolon.curlrc"}}},{"match":"(?\u003c=@)(\"(?:[^\\\\\"]|\\\\.)++\"|(?:[^\"\\s;\\\\]|\\\\.)++)(?:(;)|(?=$|\\s))","captures":{"1":{"name":"variable.assignment.parameter.name.curlrc","patterns":[{"include":"etc#esc"}]},"2":{"name":"punctuation.separator.key-value.semicolon.curlrc"}}},{"include":"etc#esc"},{"include":"etc#bareword"}]},"protocols":{"patterns":[{"name":"constant.other.protocol-name.curlrc","match":"[^\\s,+=-]+"},{"name":"keyword.control.permit-protocol.curlrc","match":"\\+"},{"name":"keyword.control.deny-protocol.curlrc","match":"-"},{"name":"keyword.control.permit-protocol.only.curlrc","match":"="},{"include":"etc#comma"}]},"range":{"patterns":[{"name":"meta.byte-range.curlrc","match":"([0-9]+)(-)([0-9]+)?|(-)([0-9]+)","captures":{"1":{"name":"constant.numeric.integer.int.decimal.dec.range.start.curlrc"},"2":{"name":"punctuation.separator.range.dash.curlrc"},"3":{"name":"constant.numeric.integer.int.decimal.dec.range.end.curlrc"},"4":{"name":"punctuation.separator.range.dash.curlrc"},"5":{"name":"constant.numeric.integer.int.decimal.dec.range.end.curlrc"}}},{"include":"etc#comma"},{"include":"etc#int"}]},"separators":{"patterns":[{"include":"etc#eql"},{"include":"etc#kolon"}]},"shortOptions":{"patterns":[{"name":"meta.option.short.curlrc","begin":"^\\s*((-)[:#012346BGIJLMNOQRSVafghijklnpqsv]*[ACDEFHKPQTUXYbcdehmortuwxyz])","end":"(?x)\n$\n|\n\n# Numbers\n(?\u003c=(?#optlist_numeric)[CYmyz])\n\\G (?:(?! )\\s)*\n([-+]?[0-9.]+)\n\n|\n\n# Byte range\n(?\u003c=(?#optlist_range)r)\n\\G (?:(?! )\\s)*\n([-0-9,]+)\n\n|\n\n# “key=value” pairs\n(?\u003c=(?#optlist_form_data)[Fbt])\n\\G (?:(?! )\\s)*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)\n\n|\n\n# “key:value” pairs\n(?\u003c=(?#optlist_kv_colon)[EUux])\n\\G (?:(?! )\\s)*\n((?:[^\\\\:\\s/]| )*://)?\n(\n\t(?:[^\\\\:\\s]|\\\\.| )+\n\t(?::(?:[^\\\\:\\s]|\\\\.| )+)*\n\t:?\n)\n\n|\n\n# Headers\n(?\u003c=(?#optlist_headers)H)\n\\G (?:(?! )\\s)*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.| )*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)\n\n|\n\n# URLs\n(?\u003c=(?#optlist_urls)e)\n\\G (?:(?! )\\s)*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.| )*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)\n\n|\n\n# Port address\n(?\u003c=(?#optlist_port)P)\n\\G (?:(?! )\\s)*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.| )*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)\n\n|\n\n# Anything else\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.| )*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)","beginCaptures":{"1":{"name":"entity.short.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.short.option.curlrc"}},"endCaptures":{"1":{"patterns":[{"include":"etc#num"}]},"10":{"name":"meta.http-headers.curlrc"},"11":{"name":"punctuation.definition.string.begin.curlrc"},"12":{"patterns":[{"include":"#header"}]},"13":{"name":"punctuation.definition.string.end.curlrc"},"14":{"patterns":[{"include":"#header"}]},"15":{"name":"meta.url-string.curlrc"},"16":{"name":"punctuation.definition.string.begin.curlrc"},"17":{"patterns":[{"include":"#url"}]},"18":{"name":"punctuation.definition.string.end.curlrc"},"19":{"patterns":[{"include":"#url"}]},"2":{"patterns":[{"include":"#range"}]},"20":{"name":"string.quoted.double.curlrc"},"21":{"name":"punctuation.definition.string.begin.curlrc"},"22":{"name":"constant.other.port-address.curlrc","patterns":[{"include":"etc#esc"}]},"23":{"name":"punctuation.definition.string.end.curlrc"},"24":{"name":"constant.other.port-address.curlrc"},"25":{"name":"string.quoted.double.curlrc"},"26":{"name":"punctuation.definition.string.begin.curlrc"},"27":{"patterns":[{"include":"etc#esc"}]},"28":{"name":"punctuation.definition.string.end.curlrc"},"29":{"name":"string.unquoted.curlrc"},"3":{"name":"meta.parameter-string.curlrc"},"4":{"name":"punctuation.definition.string.begin.curlrc"},"5":{"patterns":[{"include":"#params"}]},"6":{"name":"punctuation.definition.string.end.curlrc"},"7":{"patterns":[{"include":"#params"}]},"8":{"patterns":[{"include":"#authProtocol"}]},"9":{"patterns":[{"include":"#auth"}]}}},{"name":"meta.option.short.curlrc","match":"^\\s*((-)(?#optlist_no_parameter)[#012346:BGIJLMNORSVZafgijklnpqsv]+)","captures":{"1":{"name":"entity.short.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.short.option.curlrc"}}}]},"string":{"name":"string.quoted.double.curlrc","begin":"\"","end":"\"|(?=$)","patterns":[{"name":"constant.character.escape.backslash.curlrc","match":"(\\\\)[\\\\\"tnrv]","captures":{"1":{"name":"punctuation.definition.escape.backslash.curlrc"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.curlrc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.curlrc"}}},"url":{"patterns":[{"include":"#autoRefer"},{"include":"etc#comma"},{"match":"(?\u003c=\\G\"|^\")((?:[^\"\\\\]|\\\\.)*)(?=$|\"|;)|(?:\\G(?\u003c!\")|^)([^\\s,]+?)(?=$|\\s|;|,)","captures":{"1":{"patterns":[{"include":"etc#url"},{"include":"#urlNoSchema"}]},"2":{"patterns":[{"include":"etc#url"},{"include":"#urlNoSchema"}]}}},{"include":"#params"},{"include":"etc#bareword"}]},"urlNoSchema":{"match":"(?:\\G|^)\\s*([-a-zA-Z0-9]+(?:\\.|@)[-a-zA-Z0-9]+.*)\\s*","captures":{"1":{"name":"constant.other.reference.link.underline.url.curlrc"}}}}}
1
+ {"name":".curlrc","scopeName":"source.curlrc","patterns":[{"include":"#main"}],"repository":{"auth":{"patterns":[{"match":"([^\\s:;]+)(:)([^\\s=:;]*)","captures":{"1":{"name":"constant.other.auth-info.curlrc"},"2":{"patterns":[{"include":"etc#kolon"}]},"3":{"name":"constant.other.auth-info.curlrc"}}},{"match":"(:)([^\\s:;]*)","captures":{"1":{"patterns":[{"include":"etc#kolon"}]},"2":{"name":"constant.other.auth-info.curlrc"}}}]},"authProtocol":{"match":"(?:\\G|^)([^\\\\:\\s/]*)(://|:)","captures":{"1":{"name":"entity.other.protocol.curlrc"},"2":{"name":"keyword.operator.protocol.separator.curlrc"}}},"autoRefer":{"match":"(;)(auto)\\b","captures":{"1":{"name":"punctuation.separator.key-value.semicolon.curlrc"},"2":{"name":"variable.assignment.parameter.name.curlrc"}}},"comment":{"name":"comment.line.number-sign.curlrc","begin":"(?:^|(?\u003c=[ \\t\\xA0\"]))#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.curlrc"}}},"header":{"match":"(?:\\G|^)\\s*([-A-Za-z0-9]+)\\s*(?:(:)\\s*(.*)|(;))","captures":{"1":{"name":"entity.name.header.curlrc"},"2":{"patterns":[{"include":"etc#kolon"}]},"3":{"name":"string.unquoted.header-value.curlrc"},"4":{"name":"punctuation.terminator.statement.semicolon.curlrc"}}},"longOptions":{"patterns":[{"name":"meta.option.long.curlrc","match":"(?x)\n(?:\\G|^|(?\u003c=[ \\t])) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_no_parameter\u003e\n\t\tanyauth\n\t|\tappend\n\t|\tbasic\n\t|\tca-native\n\t|\tcert-status\n\t|\tcompressed-ssh\n\t|\tcompressed\n\t|\tcreate-dirs\n\t|\tcrlf\n\t|\tdigest\n\t|\tdisable-eprt\n\t|\tdisable-epsv\n\t|\tdisable\n\t|\tdisallow-username-in-url\n\t|\tdoh-cert-status\n\t|\tdoh-insecure\n\t|\tdump-ca-embed\n\t|\tfail-early\n\t|\tfail-with-body\n\t|\tfail\n\t|\tfalse-start\n\t|\tfollow\n\t|\tform-escape\n\t|\tftp-create-dirs\n\t|\tftp-pasv\n\t|\tftp-pret\n\t|\tftp-skip-pasv-ip\n\t|\tftp-ssl-ccc\n\t|\tftp-ssl-control\n\t|\tget\n\t|\tgloboff\n\t|\thaproxy-protocol\n\t|\thead\n\t|\thttp0.9\n\t|\thttp1.0\n\t|\thttp1.1\n\t|\thttp2-prior-knowledge\n\t|\thttp2\n\t|\thttp3-only\n\t|\thttp3\n\t|\tignore-content-length\n\t|\tinclude\n\t|\tinsecure\n\t|\tipv4\n\t|\tipv6\n\t|\tjunk-session-cookies\n\t|\tlist-only\n\t|\tlocation-trusted\n\t|\tlocation\n\t|\tmail-rcpt-allowfails\n\t|\tmanual\n\t|\tmetalink\n\t|\tnegotiate\n\t|\tnetrc-optional\n\t|\tnetrc\n\t|\tnext\n\t|\tno-alpn\n\t|\tno-buffer\n\t|\tno-clobber\n\t|\tno-keepalive\n\t|\tno-npn\n\t|\tno-progress-meter\n\t|\tno-sessionid\n\t|\tmptcp\n\t|\tntlm-wb\n\t|\tntlm\n\t|\tout-null\n\t|\tparallel-immediate\n\t|\tparallel\n\t|\tpath-as-is\n\t|\tpost301\n\t|\tpost302\n\t|\tpost303\n\t|\tprogress-bar\n\t|\tproxy-anyauth\n\t|\tproxy-basic\n\t|\tproxy-ca-native\n\t|\tproxy-digest\n\t|\tproxy-http2\n\t|\tproxy-insecure\n\t|\tproxy-negotiate\n\t|\tproxy-ntlm\n\t|\tproxy-ssl-allow-beast\n\t|\tproxy-ssl-auto-client-cert\n\t|\tproxy-tlsv1\n\t|\tproxytunnel\n\t|\traw\n\t|\tremote-header-name\n\t|\tremote-name-all\n\t|\tremote-name\n\t|\tremote-time\n\t|\tremove-on-error\n\t|\tretry-all-errors\n\t|\tretry-connrefused\n\t|\tsasl-ir\n\t|\tshow-error\n\t|\tshow-headers\n\t|\tsilent\n\t|\tskip-existing\n\t|\tsocks5-basic\n\t|\tsocks5-gssapi-nec\n\t|\tsocks5-gssapi\n\t|\tssl-allow-beast\n\t|\tssl-auto-client-cert\n\t|\tssl-no-revoke\n\t|\tssl-reqd\n\t|\tssl-revoke-best-effort\n\t|\tsslv2\n\t|\tsslv3\n\t|\tssl\n\t|\tstyled-output\n\t|\tsuppress-connect-headers\n\t|\ttcp-fastopen\n\t|\ttcp-nodelay\n\t|\ttftp-no-options\n\t|\ttlsv1.0\n\t|\ttlsv1.1\n\t|\ttlsv1.2\n\t|\ttlsv1.3\n\t|\ttlsv1\n\t|\ttls-earlydata\n\t|\ttr-encoding\n\t|\ttrace-ids\n\t|\ttrace-time\n\t|\tuse-ascii\n\t|\tverbose\n\t|\tversion\n\t|\txattr\n\t)\n)\n(?=\\s|$)","captures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_urls\u003e\n\t\tdns-ipv4-addr\n\t|\tdns-ipv6-addr\n\t|\tdns-servers\n\t|\tdoh-url\n\t|\thaproxy-clientip\n\t|\tipfs-gateway\n\t|\tmail-auth\n\t|\tmail-from\n\t|\tmail-rcpt\n\t|\tnoproxy\n\t|\treferer\n\t|\turl\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#url"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"name":"string.unquoted.curlrc","patterns":[{"include":"#url"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_headers\u003e\n\t\theader\n\t|\tproxy-header\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#header"},{"include":"etc#bareword"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#header"},{"include":"etc#bareword"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_form_data\u003e\n\t\tcookie\n\t|\tform-string\n\t|\tform\n\t|\ttelnet-option\n\t|\tvariable\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#params"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#params"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_protocols\u003e\n\t\tproto-default\n\t|\tproto-redir\n\t|\tproto\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#protocols"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#protocols"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_port\u003e\n\t\tftp-port\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"name":"constant.other.port-address.curlrc","patterns":[{"include":"etc#esc"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"name":"constant.other.port-address.curlrc"}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_md5\u003e\n\t\thostpubmd5\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"name":"constant.other.md5.checksum.curlrc","patterns":[{"include":"etc#esc"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"name":"constant.other.md5.checksum.curlrc"}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_range\u003e\n\t\tlocal-port\n\t|\trange\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#range"},{"include":"etc#esc"},{"include":"etc#bareword"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#range"},{"include":"etc#bareword"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:](?=\\s)) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_kv_colon\u003e\n\t\taws-sigv4\n\t|\tcert\n\t|\tconnect-to\n\t|\tpreproxy\n\t|\tproxy-cert\n\t|\tproxy-user\n\t|\tproxy1.0\n\t|\tproxy\n\t|\tresolve\n\t|\tsocks4a\n\t|\tsocks4\n\t|\tsocks5-hostname\n\t|\tsocks5\n\t|\tuser\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"#auth"},{"include":"etc#bareword"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"#auth"},{"include":"etc#bareword"}]}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:](?=\\s)) \\s*\n(\n\t(--)?\n\t(?\u003coptlist_string\u003e\n\t\tabstract-unix-socket\n\t|\talt-svc\n\t|\tcacert\n\t|\tcapath\n\t|\tcert-type\n\t|\tciphers\n\t|\tconfig\n\t|\tcookie-jar\n\t|\tcrlfile\n\t|\tcurves\n\t|\tdata-ascii\n\t|\tdata-binary\n\t|\tdata-raw\n\t|\tdata-urlencode\n\t|\tdata\n\t|\tdelegation\n\t|\tdns-interface\n\t|\tdump-header\n\t|\tech\n\t|\tegd-file\n\t|\tengine\n\t|\tetag-compare\n\t|\tetag-save\n\t|\tftp-account\n\t|\tftp-alternative-to-user\n\t|\tftp-method\n\t|\tftp-ssl-ccc-mode\n\t|\thappy-eyeballs-timeout-ms\n\t|\thelp\n\t|\thostpubsha256\n\t|\thsts\n\t|\tinterface\n\t|\tjson\n\t|\tkey-type\n\t|\tkey\n\t|\tkrb\n\t|\tlibcurl\n\t|\tlogin-options\n\t|\tnetrc-file\n\t|\toauth2-bearer\n\t|\toutput-dir\n\t|\toutput\n\t|\tpass\n\t|\tpinnedpubkey\n\t|\tproxy-cacert\n\t|\tproxy-capath\n\t|\tproxy-cert-type\n\t|\tproxy-ciphers\n\t|\tproxy-crlfile\n\t|\tproxy-key-type\n\t|\tproxy-key\n\t|\tproxy-pass\n\t|\tproxy-pinnedpubkey\n\t|\tproxy-service-name\n\t|\tproxy-tls13-ciphers\n\t|\tproxy-tlsauthtype\n\t|\tproxy-tlspassword\n\t|\tproxy-tlsuser\n\t|\tpubkey\n\t|\tquote\n\t|\trandom-file\n\t|\trequest-target\n\t|\trequest\n\t|\tsasl-authzid\n\t|\tservice-name\n\t|\tsigalgs\n\t|\tsocks5-gssapi-service\n\t|\tssl-sessions\n\t|\tstderr\n\t|\ttls-max\n\t|\ttls13-ciphers\n\t|\ttlsauthtype\n\t|\ttlspassword\n\t|\ttlsuser\n\t|\ttrace-ascii\n\t|\ttrace-config\n\t|\ttrace\n\t|\tunix-socket\n\t|\tupload-file\n\t|\tupload-flags\n\t|\turl-query\n\t|\tuser-agent\n\t|\twrite-out\n\t)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:(=)?|(?:([-A-Za-z0-9%_]+)(=)?)?([@\u003c]))?(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"keyword.operator.encoding-modifier.curlrc"},"2":{"name":"entity.name.form-field.curlrc"},"3":{"patterns":[{"include":"etc#eql"}]},"4":{"name":"keyword.operator.source-modifier.curlrc"},"5":{"name":"string.quoted.double.curlrc"},"6":{"name":"punctuation.definition.string.begin.curlrc"},"7":{"patterns":[{"include":"etc#esc"}]},"8":{"name":"punctuation.definition.string.end.curlrc"},"9":{"name":"string.unquoted.curlrc"}}},{"name":"meta.option.long.curlrc","begin":"(?x) (?:\\G|^|(?\u003c=[ \\t]))\n(?!\\s*--\\w[-\\w]*\\s*[=:])\n\\s*\n(\n\t(--)?\n\t(?\u003coptlist_numeric\u003e\n\t\tconnect-timeout\n\t|\tcontinue-at\n\t|\tcreate-file-mode\n\t|\texpect100-timeout\n\t|\tip-tos\n\t|\tkeepalive-cnt\n\t|\tkeepalive-time\n\t|\tlimit-rate\n\t|\tmax-filesize\n\t|\tmax-redirs\n\t|\tmax-time\n\t|\tparallel-max-host\n\t|\tparallel-max\n\t|\trate\n\t|\tretry-delay\n\t|\tretry-max-time\n\t|\tretry\n\t|\tspeed-limit\n\t|\tspeed-time\n\t|\ttftp-blksize\n\t|\ttime-cond\n\t|\tvlan-priority\n\t)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"4":{"patterns":[{"include":"#separators"}]}},"endCaptures":{"1":{"name":"string.quoted.double.curlrc"},"2":{"name":"punctuation.definition.string.begin.curlrc"},"3":{"patterns":[{"include":"etc#num"},{"include":"etc#bareword"}]},"4":{"name":"punctuation.definition.string.end.curlrc"},"5":{"patterns":[{"include":"etc#num"},{"include":"etc#bareword"}]}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#shortOptions"},{"include":"#longOptions"}]},"params":{"patterns":[{"include":"#autoRefer"},{"name":"keyword.operator.encoding-modifier.curlrc","match":"(?:\\G|^|(?\u003c=\\G\"|^\"))="},{"match":"(?:\\G|^|(?\u003c=\\G\"|^\"))(;)([^\\s=;\"]+(?=\"?(?:\\s|$)))?","captures":{"1":{"name":"punctuation.separator.key-value.semicolon.curlrc"},"2":{"name":"variable.assignment.parameter.name.curlrc"}}},{"match":"(?:\\G|^|(?\u003c=\\G\"|^\"))(?:([-A-Za-z0-9%_]+)(=)?)?([@\u003c])","captures":{"1":{"name":"entity.name.form-field.curlrc"},"2":{"patterns":[{"include":"etc#eql"}]},"3":{"name":"keyword.operator.source-modifier.curlrc"}}},{"name":"meta.parameter.curlrc","match":"([^\\s=;]+)(=)([^\\s=;]*)(;)?","captures":{"1":{"name":"variable.assignment.parameter.name.curlrc"},"2":{"patterns":[{"include":"etc#eql"}]},"3":{"name":"constant.other.parameter.value.curlrc"},"4":{"name":"punctuation.separator.key-value.semicolon.curlrc"}}},{"match":"(?\u003c=@)(\"(?:[^\\\\\"]|\\\\.)++\"|(?:[^\"\\s;\\\\]|\\\\.)++)(?:(;)|(?=$|\\s))","captures":{"1":{"name":"variable.assignment.parameter.name.curlrc","patterns":[{"include":"etc#esc"}]},"2":{"name":"punctuation.separator.key-value.semicolon.curlrc"}}},{"include":"etc#esc"},{"include":"etc#bareword"}]},"protocols":{"patterns":[{"name":"constant.other.protocol-name.curlrc","match":"[^\\s,+=-]+"},{"name":"keyword.control.permit-protocol.curlrc","match":"\\+"},{"name":"keyword.control.deny-protocol.curlrc","match":"-"},{"name":"keyword.control.permit-protocol.only.curlrc","match":"="},{"include":"etc#comma"}]},"range":{"patterns":[{"name":"meta.byte-range.curlrc","match":"([0-9]+)(-)([0-9]+)?|(-)([0-9]+)","captures":{"1":{"name":"constant.numeric.integer.int.decimal.dec.range.start.curlrc"},"2":{"name":"punctuation.separator.range.dash.curlrc"},"3":{"name":"constant.numeric.integer.int.decimal.dec.range.end.curlrc"},"4":{"name":"punctuation.separator.range.dash.curlrc"},"5":{"name":"constant.numeric.integer.int.decimal.dec.range.end.curlrc"}}},{"include":"etc#comma"},{"include":"etc#int"}]},"separators":{"patterns":[{"include":"etc#eql"},{"include":"etc#kolon"}]},"shortOptions":{"patterns":[{"name":"meta.option.short.curlrc","begin":"^\\s*((-)[:#012346BGIJLMNOQRSVafghijklnpqsv]*[ACDEFHKPQTUXYbcdehmortuwxyz])","end":"(?x)\n$\n|\n\n# Numbers\n(?\u003c=(?#optlist_numeric)[CYmyz])\n\\G (?:(?! )\\s)*\n([-+]?[0-9.]+)\n\n|\n\n# Byte range\n(?\u003c=(?#optlist_range)r)\n\\G (?:(?! )\\s)*\n([-0-9,]+)\n\n|\n\n# “key=value” pairs\n(?\u003c=(?#optlist_form_data)[Fbt])\n\\G (?:(?! )\\s)*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)\n\n|\n\n# “key:value” pairs\n(?\u003c=(?#optlist_kv_colon)[EUux])\n\\G (?:(?! )\\s)*\n((?:[^\\\\:\\s/]| )*://)?\n(\n\t(?:[^\\\\:\\s]|\\\\.| )+\n\t(?::(?:[^\\\\:\\s]|\\\\.| )+)*\n\t:?\n)\n\n|\n\n# Headers\n(?\u003c=(?#optlist_headers)H)\n\\G (?:(?! )\\s)*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.| )*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)\n\n|\n\n# URLs\n(?\u003c=(?#optlist_urls)e)\n\\G (?:(?! )\\s)*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.| )*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)\n\n|\n\n# Port address\n(?\u003c=(?#optlist_port)P)\n\\G (?:(?! )\\s)*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.| )*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)\n\n|\n\n# Anything else\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.| )*)(?:(\")|$))\n\t|\n\t([\\S ]+)\n)","beginCaptures":{"1":{"name":"entity.short.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.short.option.curlrc"}},"endCaptures":{"1":{"patterns":[{"include":"etc#num"}]},"10":{"name":"meta.http-headers.curlrc"},"11":{"name":"punctuation.definition.string.begin.curlrc"},"12":{"patterns":[{"include":"#header"}]},"13":{"name":"punctuation.definition.string.end.curlrc"},"14":{"patterns":[{"include":"#header"}]},"15":{"name":"meta.url-string.curlrc"},"16":{"name":"punctuation.definition.string.begin.curlrc"},"17":{"patterns":[{"include":"#url"}]},"18":{"name":"punctuation.definition.string.end.curlrc"},"19":{"patterns":[{"include":"#url"}]},"2":{"patterns":[{"include":"#range"}]},"20":{"name":"string.quoted.double.curlrc"},"21":{"name":"punctuation.definition.string.begin.curlrc"},"22":{"name":"constant.other.port-address.curlrc","patterns":[{"include":"etc#esc"}]},"23":{"name":"punctuation.definition.string.end.curlrc"},"24":{"name":"constant.other.port-address.curlrc"},"25":{"name":"string.quoted.double.curlrc"},"26":{"name":"punctuation.definition.string.begin.curlrc"},"27":{"patterns":[{"include":"etc#esc"}]},"28":{"name":"punctuation.definition.string.end.curlrc"},"29":{"name":"string.unquoted.curlrc"},"3":{"name":"meta.parameter-string.curlrc"},"4":{"name":"punctuation.definition.string.begin.curlrc"},"5":{"patterns":[{"include":"#params"}]},"6":{"name":"punctuation.definition.string.end.curlrc"},"7":{"patterns":[{"include":"#params"}]},"8":{"patterns":[{"include":"#authProtocol"}]},"9":{"patterns":[{"include":"#auth"}]}}},{"name":"meta.option.short.curlrc","match":"^\\s*((-)(?#optlist_no_parameter)[#012346:BGIJLMNORSVZafgijklnpqsv]+)","captures":{"1":{"name":"entity.short.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.short.option.curlrc"}}}]},"string":{"name":"string.quoted.double.curlrc","begin":"\"","end":"\"|(?=$)","patterns":[{"name":"constant.character.escape.backslash.curlrc","match":"(\\\\)[\\\\\"tnrv]","captures":{"1":{"name":"punctuation.definition.escape.backslash.curlrc"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.curlrc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.curlrc"}}},"url":{"patterns":[{"include":"#autoRefer"},{"include":"etc#comma"},{"match":"(?\u003c=\\G\"|^\")((?:[^\"\\\\]|\\\\.)*)(?=$|\"|;)|(?:\\G(?\u003c!\")|^)([^\\s,]+?)(?=$|\\s|;|,)","captures":{"1":{"patterns":[{"include":"etc#url"},{"include":"#urlNoSchema"}]},"2":{"patterns":[{"include":"etc#url"},{"include":"#urlNoSchema"}]}}},{"include":"#params"},{"include":"etc#bareword"}]},"urlNoSchema":{"match":"(?:\\G|^)\\s*([-a-zA-Z0-9]+(?:\\.|@)[-a-zA-Z0-9]+.*)\\s*","captures":{"1":{"name":"constant.other.reference.link.underline.url.curlrc"}}}}}
@@ -0,0 +1 @@
1
+ {"name":"daslang","scopeName":"source.daslang","patterns":[{"include":"#comments"},{"include":"#annotations"},{"include":"#struct_declaration"},{"include":"#function"},{"include":"#variable_declaration"},{"include":"#keywords"},{"include":"#strings"},{"include":"#literals"},{"include":"#builtin_types"},{"include":"#builtin_functions_call"},{"include":"#function_call"},{"include":"#member_access"},{"include":"#operators"},{"include":"#identifiers"}],"repository":{"annotations":{"patterns":[{"name":"meta.declaration.annotation.daslang","begin":"((?\u003c!\\[)\\[(?!\\[))\\s*([[:alpha:]_][[:alnum:]_]+)\\s*(\\()?","end":"(\\))?(\\])","patterns":[{"match":"\\b([[:alpha:]_][[:alnum:]_]*)\\b\\s*=","captures":{"0":{"name":"keyword.operator.assignment.daslang"},"1":{"name":"constant.other.annotation-key.daslang"}}},{"include":"#strings"},{"include":"#literals"},{"name":"punctuation.separator.arguments.daslang","match":","}],"beginCaptures":{"1":{"name":"punctuation.definition.annotation.begin.bracket.square.daslang"},"2":{"name":"storage.type.annotation.daslang"},"3":{"name":"punctuation.definition.annotation-arguments.begin.bracket.round.daslang"}},"endCaptures":{"1":{"name":"punctuation.definition.annotation-arguments.end.bracket.round.daslang"},"2":{"name":"punctuation.definition.annotation.end.bracket.square.daslang"}}}]},"blocks":{"patterns":[{"name":"meta.block.curly.daslang","begin":"\\{","end":"\\}","patterns":[{"include":"$self"},{"name":"punctuation.terminator.statement.daslang","match":";"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.block.end.daslang"}}}]},"builtin_functions_call":{"name":"meta.function-call.builtin.daslang","begin":"\\b(print|terminate|stackwalk|breakpoint|assert|verify|static_assert|concept_assert|debug|memzero|invoke|push|push_clone|emplace|reserve|resize|erase|length|clear|capacity|key_exists|get|find|find_index|find_index_if|empty|keys|values|to_table_move|to_array_move|subarray)\\b\\s*(?=\\()","end":"\\)","patterns":[{"contentName":"meta.function.arguments.daslang","begin":"\\(","end":"(?=\\))","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.daslang"}}}],"beginCaptures":{"1":{"name":"support.function.builtin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.daslang"}}},"builtin_types":{"name":"support.type.builtin.daslang","match":"\\b(bool|void|string|das_string|auto|int|int2|int3|int4|uint|bitfield|uint2|uint3|uint4|float|float2|float3|float4|range|urange|block|int64|uint64|double|function|lambda|int8|uint8|int16|uint16|tuple|variant|iterator|generator|yield|fixed_array|table|array|option|Type)\\b"},"comments":{"patterns":[{"name":"comment.line.double-slash.daslang","begin":"//","end":"(?=\\n)","patterns":[{"name":"constant.character.escape.line-continuation.daslang","match":"\\\\(?=\\n)"}]},{"name":"comment.block.daslang","begin":"/\\*","end":"\\*/"}]},"expression":{"patterns":[{"include":"#strings"},{"include":"#literals"},{"include":"#builtin_functions_call"},{"include":"#function_call"},{"include":"#member_access"},{"include":"#operators"},{"include":"#variable_access"},{"include":"#initializers"},{"include":"#blocks"},{"name":"variable.other.daslang","match":"\\b([[:alpha:]_][[:alnum:]_:]*)\\b"}]},"function":{"patterns":[{"name":"meta.function.declaration.daslang","begin":"\\b(def)\\b\\s*((?:private|public|abstract|override|static)\\s+)?([[:alpha:]_][[:alnum:]_:]*)\\s*(\\()","end":"(\\{|\\n(?![[:space:]]))","patterns":[{"begin":"(?=\\))","end":"(?=\\s*[:\\{]|\\s*=\u003e|\\s*\\n(?![[:space:]]))","patterns":[{"name":"meta.function.parameters.daslang","begin":"\\(","end":"\\)","patterns":[{"begin":"\\b(var|let)\\b","end":"(?=,|;|\\))","patterns":[{"name":"variable.parameter.function.daslang","match":"\\b([[:alpha:]_][[:alnum:]_]*)\\b"},{"name":"punctuation.separator.annotation.daslang","match":":"},{"include":"#builtin_types"},{"include":"#user_defined_types"},{"include":"#expression"}],"beginCaptures":{"0":{"name":"storage.modifier.daslang"}}},{"name":"variable.parameter.function.daslang","match":"\\b([[:alpha:]_][[:alnum:]_]*)\\b"},{"name":"punctuation.separator.annotation.daslang","match":":"},{"include":"#builtin_types"},{"include":"#user_defined_types"},{"include":"#expression"},{"name":"punctuation.separator.parameters.daslang","match":",|;"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.daslang"}}},{"name":"punctuation.separator.return-type.daslang","match":":"},{"include":"#builtin_types"},{"include":"#user_defined_types"}]},{"include":"#annotations"}],"beginCaptures":{"1":{"name":"storage.type.function.daslang"},"2":{"name":"storage.modifier.daslang"},"3":{"name":"entity.name.function.daslang"},"4":{"name":"punctuation.definition.parameters.begin.daslang"}},"endCaptures":{"1":{"name":"punctuation.definition.block.begin.daslang"}}},{"name":"meta.block.curly.daslang","begin":"\\{","end":"\\}","patterns":[{"include":"$self"},{"name":"punctuation.terminator.statement.daslang","match":";"}],"beginCaptures":{"0":{"name":"punctuation.definition.block.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.block.end.daslang"}}},{"name":"meta.block.pythonic.daslang","begin":"\\n(?=\\s)","end":"(?=\\n[^\\s])|\\s*$","patterns":[{"include":"$self"}]},{"name":"meta.lambda-expression.daslang","begin":"@","end":"(?=;|$)","patterns":[{"begin":"\u003c\\|","end":"(?=\\n|\\s*$)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.daslang"}}},{"begin":"(?=\\{|=\u003e|\\n)","end":"(?=\\n[^\\s])|\\s*$","patterns":[{"include":"#expression"},{"include":"#blocks"}]}],"beginCaptures":{"0":{"name":"keyword.operator.pipe.daslang"}}}],"beginCaptures":{"0":{"name":"keyword.operator.lambda-decl.daslang"}}},{"name":"meta.reader-macro.daslang","begin":"%([[:alpha:]_][[:alnum:]_]*)~","end":"([[:alpha:]_][[:alnum:]_]*)%","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.operator.reader-macro.daslang"},"1":{"name":"entity.name.function.reader-macro.daslang"}},"endCaptures":{"0":{"name":"keyword.operator.reader-macro-terminator.daslang"},"1":{"name":"entity.name.function.reader-macro.daslang"}}},{"name":"meta.block-expression.daslang","begin":"\\$","end":"(?=;|$)","patterns":[{"begin":"\u003c\\|","end":"(?=\\n|\\s*$)","patterns":[{"begin":"\\(","end":"\\)","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.parameters.end.daslang"}}},{"begin":"(?=\\{|=\u003e|\\n)","end":"(?=\\n[^\\s])|\\s*$","patterns":[{"include":"#expression"},{"include":"#blocks"}]}],"beginCaptures":{"0":{"name":"keyword.operator.pipe.daslang"}}}],"beginCaptures":{"0":{"name":"keyword.operator.block-decl.daslang"}}}]},"function_arguments":{"patterns":[{"name":"variable.parameter.function.daslang","match":"\\b([[:alpha:]_][[:alnum:]_]*)\\b(?=\\s*=)"},{"include":"#expression"},{"name":"punctuation.separator.arguments.daslang","match":",|;"}]},"function_call":{"name":"meta.function-call.daslang","begin":"(?\u003c!\\.)\\b([[:alpha:]_][[:alnum:]_\\:]*)\\b\\s*(?=\\()|(?\u003c=\\)|\\])\\s*(\\()","end":"\\)","patterns":[{"contentName":"meta.function.arguments.daslang","begin":"\\(","end":"(?=\\))","patterns":[{"include":"#function_arguments"}],"beginCaptures":{"0":{"name":"punctuation.definition.arguments.begin.daslang"}}}],"beginCaptures":{"1":{"name":"entity.name.function.daslang"},"2":{"name":"punctuation.definition.arguments.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.arguments.end.daslang"}}},"identifiers":{"patterns":[{"name":"variable.other.daslang","match":"\\b([_A-Za-z][A-Za-z0-9_]*)\\b"}]},"initializers":{"patterns":[{"name":"meta.initializer.array.fixed.daslang","begin":"\\[\\[","end":"\\]\\]","patterns":[{"include":"#initializers_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.double-bracket.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.double-bracket.daslang"}}},{"name":"meta.initializer.array.dynamic.daslang","begin":"\\[\\{","end":"\\}\\]","patterns":[{"include":"#initializers_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.bracket-curly.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket-curly.daslang"}}},{"name":"meta.initializer.table.daslang","begin":"\\{\\{","end":"\\}\\}","patterns":[{"include":"#initializers_content"}],"beginCaptures":{"0":{"name":"punctuation.definition.table.begin.double-curly.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.table.end.double-curly.daslang"}}}]},"initializers_content":{"patterns":[{"include":"#builtin_types"},{"include":"#user_defined_types"},{"include":"#operators"},{"include":"#strings"},{"include":"#literals"},{"include":"#expression"},{"match":"\\b([[:alpha:]_][[:alnum:]_]*)\\b\\s*=","captures":{"0":{"name":"keyword.operator.assignment.daslang"},"1":{"name":"variable.other.field.daslang"}}},{"name":"punctuation.separator.statement.daslang","match":";"},{"name":"punctuation.separator.element.daslang","match":","},{"name":"keyword.operator.ellipsis.daslang","match":"\\.\\.\\."},{"name":"keyword.operator.map.daslang","match":"\\s*=\u003e\\s*"},{"name":"keyword.control.comprehension.daslang","match":"\\b(where|for|in)\\b"},{"name":"keyword.operator.or.daslang","match":"\\|\\|"},{"name":"storage.type.declaration.daslang","match":"\\b(struct|class|tuple|variant|enum|bitfield)\\b"},{"include":"#variable_declaration"},{"name":"keyword.other.type-query.daslang","match":"\\b(typeinfo|type|auto)\\b"}]},"keywords":{"patterns":[{"name":"keyword.control.daslang","match":"\\b(if|else|elif|while|for|break|continue|return|yield|try|recover|panic|finally|in|is|as)\\b"},{"name":"keyword.control.operator-overload.daslang","match":"\\b(operator)\\b"},{"name":"storage.type.declaration.daslang","match":"\\b(struct|class|enum|variant|tuple|bitfield|typedef|def)\\b"},{"name":"storage.modifier.daslang","match":"\\b(let|var|static|public|private|shared|inscope|explicit|implicit|abstract|override|sealed|const)\\b"},{"name":"keyword.other.daslang","match":"\\b(new|typeinfo|type|addr|deref|reinterpret|assume|with|cast|pass|goto|label|aka)\\b"},{"name":"keyword.control.options.daslang","match":"\\b(options)\\b"},{"name":"keyword.control.module.daslang","match":"\\b(require)\\b"},{"name":"keyword.declaration.module.daslang","match":"\\b(module)\\b"},{"name":"keyword.control.pattern-matching.daslang","match":"\\b(match|match_expr|static_match|multi_match|match_type)\\b"}]},"literals":{"patterns":[{"name":"constant.language.daslang","match":"\\b(true|false|null)\\b"},{"name":"constant.character.daslang","match":"'[[:print:]]'"},{"name":"constant.numeric.integer.hexadecimal.unsigned.daslang","match":"\\b0x[\\dA-Fa-f]+u\\b"},{"name":"constant.numeric.integer.hexadecimal.long.daslang","match":"\\b0x[\\dA-Fa-f]+L\\b"},{"name":"constant.numeric.integer.hexadecimal.daslang","match":"\\b0x[\\dA-Fa-f]+\\b"},{"name":"constant.numeric.integer.octal.unsigned.daslang","match":"\\b0[0-7]+u\\b"},{"name":"constant.numeric.integer.octal.long.daslang","match":"\\b0[0-7]+L\\b"},{"name":"constant.numeric.integer.octal.daslang","match":"\\b0[0-7]+\\b"},{"name":"constant.numeric.integer.decimal.unsigned.daslang","match":"\\b\\d+u\\b"},{"name":"constant.numeric.integer.decimal.long.daslang","match":"\\b\\d+L\\b"},{"name":"constant.numeric.float.double.daslang","match":"\\b\\d+\\.\\d*([eE][\\+\\-]?\\d+)?d\\b"},{"name":"constant.numeric.float.double.daslang","match":"\\b\\d+([eE][\\+\\-]?\\d+)?d\\b"},{"name":"constant.numeric.float.double.daslang","match":"\\b\\.\\d+([eE][\\+\\-]?\\d+)?d\\b"},{"name":"constant.numeric.float.daslang","match":"\\b\\d+\\.\\d*([eE][\\+\\-]?\\d+)?f\\b"},{"name":"constant.numeric.float.daslang","match":"\\b\\d+([eE][\\+\\-]?\\d+)?f\\b"},{"name":"constant.numeric.float.daslang","match":"\\b\\.\\d+([eE][\\+\\-]?\\d+)?f\\b"},{"name":"constant.numeric.float.daslang","match":"\\b\\d+\\.\\d*([eE][\\+\\-]?\\d+)?\\b"},{"name":"constant.numeric.integer.decimal.daslang","match":"\\b\\d+\\b"}]},"member_access":{"patterns":[{"name":"punctuation.separator.member.daslang","match":"\\.(?=[[:alpha:]_])"},{"name":"punctuation.separator.safe-member.daslang","match":"\\?\\.(?=[[:alpha:]_])"},{"name":"punctuation.separator.direct-member.daslang","match":"\\.\\.(?=[[:alpha:]_])"},{"name":"punctuation.separator.pointer-member.daslang","match":"-\u003e"},{"name":"punctuation.separator.scope.daslang","match":"::"}]},"operators":{"patterns":[{"name":"keyword.operator.arithmetic.increment-decrement.daslang","match":"(\\+\\+|\\-\\-)"},{"name":"keyword.operator.arithmetic.daslang","match":"(\\+|-|\\*|/|%)"},{"name":"keyword.operator.logical.daslang","match":"(\u0026\u0026|\\|\\||\\^\\^|!)"},{"name":"keyword.operator.bitwise.daslang","match":"(\u0026|\\||\\^|~|\u003c\u003c|\u003e\u003e|\u003c\u003c\u003c|\u003e\u003e\u003e)"},{"name":"keyword.operator.comparison.daslang","match":"(==|!=|\u003c|\u003c=|\u003e|\u003e=)"},{"name":"keyword.operator.assignment.daslang","match":"(=|:=|\u003c-|\\+=|\\-=|\\*=|/=|%=|\u0026=|\\|=|^=|\u003c\u003c=|\u003e\u003e=|\u003c\u003c\u003c=|\u003e\u003e\u003e=|\u0026\u0026=|\\|\\|=|\\^\\^=)"},{"name":"keyword.operator.range.daslang","match":"(\\.\\.)"},{"name":"keyword.operator.null-coalescing.daslang","match":"(\\?\\?)"},{"name":"keyword.operator.conditional.daslang","match":"(\\?:)"},{"name":"keyword.operator.pipe.daslang","match":"(\u003c\\||\\|\u003e)"},{"name":"keyword.operator.lambda-decl.daslang","match":"@\\s*\u003c\\|"},{"name":"keyword.operator.block-decl.daslang","match":"\\$"},{"name":"keyword.operator.reader-macro.daslang","match":"%"},{"name":"keyword.operator.assignment.daslang","match":"="},{"name":"keyword.operator.lambda-expression.daslang","match":"\\s*=\u003e\\s*"}]},"strings":{"patterns":[{"name":"string.quoted.double.daslang","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.daslang","match":"\\\\."},{"begin":"\\{","end":"\\}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.interpolation.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.string.interpolation.end.daslang"}}}]},{"name":"string.quoted.verbatim.daslang","begin":"@\"","end":"\"","patterns":[{"name":"constant.character.escape.daslang","match":"\\\\."}]}]},"struct_declaration":{"patterns":[{"name":"meta.struct.declaration.daslang","begin":"\\b(struct|class)\\b\\s*((?:private|public|sealed)\\s+)?([[:alpha:]_][[:alnum:]_]*)(?:\\s*:\\s*([[:alpha:]_][[:alnum:]_:]*))?\\s*(\\{)?","end":"\\}","patterns":[{"include":"#variable_declaration"},{"include":"#function"},{"include":"#comments"},{"include":"#annotations"},{"name":"punctuation.terminator.statement.daslang","match":";"}],"beginCaptures":{"1":{"name":"storage.type.class.daslang"},"2":{"name":"storage.modifier.daslang"},"3":{"name":"entity.name.type.class.daslang"},"4":{"name":"entity.other.inherited-class.daslang"},"5":{"name":"punctuation.definition.block.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.block.end.daslang"}}}]},"user_defined_types":{"name":"entity.name.type.daslang","match":"\\b([[:alpha:]_][[:alnum:]_:]*)\\b"},"variable_access":{"patterns":[{"name":"variable.other.daslang","match":"\\b([[:alpha:]_][[:alnum:]_:]*)\\b"},{"begin":"\\[","end":"\\]","patterns":[{"include":"#expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.daslang"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.daslang"}}}]},"variable_declaration":{"patterns":[{"name":"meta.variable.declaration.daslang","begin":"\\b(let|var)\\b\\s*((?:private|public|shared|inscope)\\s+)?([[:alpha:]_][[:alnum:]_]*)(?=\\s*[:=\u003c-]|\\s*\\[\\[|\\s*\\[\\{|\\s*\\{\\{|\\s*\\n(?![[:space:]]))","end":"(?=;|$)","patterns":[{"name":"punctuation.separator.type-annotation.daslang","match":":"},{"include":"#builtin_types"},{"include":"#user_defined_types"},{"include":"#initializers"},{"include":"#expression"},{"include":"#blocks"}],"beginCaptures":{"1":{"name":"storage.type.daslang"},"2":{"name":"storage.modifier.daslang"},"3":{"name":"entity.name.variable.daslang"}}}]}}}
@@ -1 +1 @@
1
- {"name":"DDS.DSPF","scopeName":"source.dds.dspf","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#gutter"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.dds.dspf","match":"^.{5}(.)(\\*).*"}]},"constants":{"patterns":[{"name":"constant.language.dds.dspf","match":"(\\*)[a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.language.dds.dspf.andor","match":"(?i)(?\u003c=^.{5}(A|\\s).{0})(A|O)"},{"name":"constant.language.dds.dspf.n01","match":"(?i)(?\u003c=^.{5}(A|\\s).{1})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.n02","match":"(?i)(?\u003c=^.{5}(A|\\s).{4})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.n03","match":"(?i)(?\u003c=^.{5}(A|\\s).{7})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.nameType","match":"(?i)(?\u003c=^.{5}(A|\\s).{10})(R|H)"},{"name":"constant.language.dds.dspf.ref","match":"(?i)(?\u003c=^.{5}(A|\\s).{22})(R)"},{"name":"constant.language.dds.dspf.len","match":"(?i)(?\u003c=^.{5}(A|\\s).{23})[0-9|\\s]{5}"},{"name":"constant.language.dds.dspf.dataType","match":"(?i)(?\u003c=^.{5}(A|\\s).{28})(A|D|E|F|G|I|J|L|M|N|O|S|T|W|X|Y|Z)"},{"name":"constant.language.dds.dspf.decpos","match":"(?i)(?\u003c=^.{5}(A|\\s).{29})[0-9|\\s]{2}"},{"name":"constant.language.dds.dspf.usage","match":"(?i)(?\u003c=^.{5}(A|\\s).{31})(O|I|B|H|M|P)"},{"name":"constant.language.dds.dspf.locline","match":"(?i)(?\u003c=^.{5}(A|\\s).{32})([0-9]|\\s){3}"},{"name":"constant.language.dds.dspf.locpos","match":"(?i)(?\u003c=^.{5}(A|\\s).{35})([0-9]|\\s){3}"},{"name":"constant.numeric.dds.dspf","match":"\\b([0-9]+)\\b"},{"name":"dds.dspf.check","begin":"(?i)(?\u003c=(CHECK\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.check.values","match":"(?i)(\\b(AB|ME|MF|M10F|M10|M11F|M11|VNE|VN|ER|FE|LC|RB|RZ|RLTB|RL)\\b)"}]},{"name":"dds.dspf.dspatr","begin":"(?i)(?\u003c=(DSPATR\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.dspatr.values","match":"(?i)(\\b(SP|PR|OID|MDT|UL|RI|PC|ND|HI|CS|BL)\\b)"}]},{"name":"dds.dspf.color","begin":"(?i)(?\u003c=(COLOR\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.color.values","match":"(?i)(\\b(BLU|PNK|YLW|TRQ|RED|WHT|GRN)\\b)"}]},{"name":"dds.dspf.comp","begin":"(?i)((?\u003c=((COMP)\\())|(?\u003c=((CMP)\\()))","end":"(?=(\\)))","patterns":[{"name":"keyword.other.dds.dspf.comp.values","match":"(?i)(\\b(GE|LE|NG|GT|NL|LT|NE|EQ)\\b)"},{"name":"constant.numeric.dds.dspf","match":"\\b([0-9]+)\\b"}]}]},"gutter":{"patterns":[{"name":"comment.gutter","match":"^.{5}"}]},"keywords":{"patterns":[{"name":"keyword.other.dds.dspf.spec","match":"(?i)(?\u003c=^.{5})[A]"},{"name":"keyword.other.dds.dspf","match":"\\+"},{"name":"keyword.other.dds.dspf.func","match":"((?i)(C(A|F)))[0-9]{2}"},{"name":"keyword.other.dds.dspf.funcs","match":"(?i)(?\u003c=(.{44}))(WRDWRAP|WINDOW|WDWTITLE|WDWBORDER|VLDCMDKEY|VALUES|VALNUM|USRRSTDSP|USRDSPMGT|USRDFN|USER|UNLOCK|TIMSEP|TIMFMT|TIME|TEXT|SYSNAME|SNGCHCFLD|SLNO|SFLSNGCHC|SFLSIZ|SFLSCROLL|SFLRTNSEL|SFLROLVAL|SFLRNA|SFLRCDNBR|SFLPGMQ|SFLPAG|SFLNXTCHG|SFLMSGRCD|SFLMSGKEY|SFLMSG|SFLMODE|SFLMLTCHC|SFLLIN|SFLINZ|SFLFOLD|SFLENTER|SFLEND|SFLDSPCTL|SFLDSP|SFLDROP|SFLDLT|SFLCTL|SFLCSRRRN|SFLCSRPRG|SFLCLR|SFLCHCCTL|SETOFF|SETOF|RTNDTA|RTNCSRLOC|ROLLUP|ROLLDOWN|RMVWDW|RETLCKSTS|RETKEY|REFFLD|REF|RANGE|PUTRETAIN|PUTOVR|PULLDOWN|PSHBTNFLD|PSHBTNCHC|PROTECT|PRINT|PASSRCD|PAGEDOWN|PAGEUP|OVRDTA|OVRATR|OVERLAY|OPENPRT|NOCCSID|MSGLOC|MSGID|MSGCON|MSGALARM|MOUBTN|MNUCNL|MNUBARSW|MNUBARSEP|MNUBARDSP|MNUBARCHC|MNUBAR|MLTCHFLD|MDTOFF|MAPVAL|LOWER|LOGOUT|LOGINP|LOCK|KEEP|INZRCD|INZINP|INVITE|INDTXT|INDARA|HTML|HOME|HLPTITLE|HLPSEQ|HLPSCHIDX|HLPRTN|HLPRCD|HLPPNLGRP|HLPID|HLPFULL|HLPEXCLD|HLPDOC|HLPCMDKEY|HLPCLR|HLPBDY|HLPARA|HELP|GETRETAIN|FRCDTA|FLTPCN|FLTFIXDEC|FLDCSRPRG|ERRSFL|ERRMSG|ERRMSGID|ERASEINP|ERASE|ENTFLDATR|EDTWRD|EDTMSK|EDTCDE|DUP|DSPSIZ|DSPRL|DSPMOD|DSPATR|DLTEDT|DLTCHK|DFTVAL|DFT|DATSEP|DATFMT|DATE|CSRLOC|CSRINPONLY|COMP|COLOR|CNTFLD|CLEAR|CHRID|CHOICE|CHKMSGID|CHGINPDFT|CHECK|CHCUNAVAIL|CHCSLT|CHCCTL|CHCAVAIL|CHCACCEL|CHANGE|BLKFOLD|BLINK|BLANKS|AUTO|ASSUME|ALWROL|ALWGPH|ALTPAGEDWN|ALTPAGEUP|ALTNAME|ALTHELP|ALIAS|ALARM)\\b"},{"name":"keyword.other.dds.dspf.funcs","match":"\\b(?i)(CMP|CLRL|SFL)\\b"}]},"strings":{"name":"string.quoted.single.dds.dspf","begin":"'","end":"'","patterns":[{"name":"keyword.other.dds.dspf.spec","match":"(?i)(?\u003c=^.{5})[A]"}]}}}
1
+ {"name":"DDS.DSPF","scopeName":"source.dds.dspf","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#gutter"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.dds.dspf","match":"^.{5}(.)(\\*).*"}]},"constants":{"patterns":[{"name":"constant.language.dds.dspf","match":"(\\*)[a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.language.dds.dspf.andor","match":"(?i)(?\u003c=^.{5}(A|\\s).{0})(A|O)"},{"name":"constant.language.dds.dspf.n01","match":"(?i)(?\u003c=^.{5}(A|\\s).{1})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.n02","match":"(?i)(?\u003c=^.{5}(A|\\s).{4})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.n03","match":"(?i)(?\u003c=^.{5}(A|\\s).{7})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.nameType","match":"(?i)(?\u003c=^.{5}(A|\\s).{10})(R|H)"},{"name":"constant.language.dds.dspf.ref","match":"(?i)(?\u003c=^.{5}(A|\\s).{22})(R)"},{"name":"constant.language.dds.dspf.len","match":"(?i)(?\u003c=^.{5}(A|\\s).{23})[0-9|\\s]{5}"},{"name":"constant.language.dds.dspf.dataType","match":"(?i)(?\u003c=^.{5}(A|\\s).{28})(A|D|E|F|G|I|J|L|M|N|O|S|T|W|X|Y|Z)"},{"name":"constant.language.dds.dspf.decpos","match":"(?i)(?\u003c=^.{5}(A|\\s).{29})[0-9|\\s]{2}"},{"name":"constant.language.dds.dspf.usage","match":"(?i)(?\u003c=^.{5}(A|\\s).{31})(O|I|B|H|M|P)"},{"name":"constant.language.dds.dspf.locline","match":"(?i)(?\u003c=^.{5}(A|\\s).{32})([0-9]|\\s){3}"},{"name":"constant.language.dds.dspf.locpos","match":"(?i)(?\u003c=^.{5}(A|\\s).{35})([0-9]|\\s){3}"},{"name":"constant.numeric.dds.dspf","match":"\\b([0-9]+)\\b"},{"name":"dds.dspf.check","begin":"(?i)(?\u003c=(CHECK\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.check.values","match":"(?i)(\\b(AB|ME|MF|M10F|M10|M11F|M11|VNE|VN|ER|FE|LC|RB|RZ|RLTB|RL)\\b)"}]},{"name":"dds.dspf.dspatr","begin":"(?i)(?\u003c=(DSPATR\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.dspatr.values","match":"(?i)(\\b(SP|PR|OID|MDT|UL|RI|PC|ND|HI|CS|BL)\\b)"}]},{"name":"dds.dspf.color","begin":"(?i)(?\u003c=(COLOR\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.color.values","match":"(?i)(\\b(BLU|PNK|YLW|TRQ|RED|WHT|GRN)\\b)"}]},{"name":"dds.dspf.comp","begin":"(?i)((?\u003c=((COMP)\\())|(?\u003c=((CMP)\\()))","end":"(?=(\\)))","patterns":[{"name":"keyword.other.dds.dspf.comp.values","match":"(?i)(\\b(GE|LE|NG|GT|NL|LT|NE|EQ)\\b)"},{"name":"constant.numeric.dds.dspf","match":"\\b([0-9]+)\\b"}]}]},"gutter":{"patterns":[{"name":"comment.gutter","match":"^.{5}"}]},"keywords":{"patterns":[{"name":"keyword.other.dds.dspf.spec","match":"(?i)(?\u003c=^.{5})[A]"},{"name":"keyword.other.dds.dspf","match":"\\+"},{"name":"keyword.other.dds.dspf.func","match":"((?i)(C(A|F)))[0-9]{2}"},{"name":"keyword.other.dds.dspf.funcs","match":"(?i)(?\u003c=(.{44}))(WRDWRAP|WINDOW|WDWTITLE|WDWBORDER|VLDCMDKEY|VALUES|VALNUM|USRRSTDSP|USRDSPMGT|USRDFN|USER|UNLOCK|TIMSEP|TIMFMT|TIME|TEXT|SYSNAME|SNGCHCFLD|SLNO|SFLSNGCHC|SFLSIZ|SFLSCROLL|SFLRTNSEL|SFLROLVAL|SFLRNA|SFLRCDNBR|SFLPGMQ|SFLPAG|SFLNXTCHG|SFLMSGRCD|SFLMSGKEY|SFLMSG|SFLMODE|SFLMLTCHC|SFLLIN|SFLINZ|SFLFOLD|SFLENTER|SFLEND|SFLDSPCTL|SFLDSP|SFLDROP|SFLDLT|SFLCTL|SFLCSRRRN|SFLCSRPRG|SFLCLR|SFLCHCCTL|SETOFF|SETOF|RTNDTA|RTNCSRLOC|ROLLUP|ROLLDOWN|RMVWDW|RETLCKSTS|RETKEY|REFFLD|REF|RANGE|PUTRETAIN|PUTOVR|PULLDOWN|PSHBTNFLD|PSHBTNCHC|PROTECT|PRINT|PASSRCD|PAGEDOWN|PAGEUP|OVRDTA|OVRATR|OVERLAY|OPENPRT|NOCCSID|MSGLOC|MSGID|MSGCON|MSGALARM|MOUBTN|MNUCNL|MNUBARSW|MNUBARSEP|MNUBARDSP|MNUBARCHC|MNUBAR|MLTCHCFLD|MDTOFF|MAPVAL|LOWER|LOGOUT|LOGINP|LOCK|KEEP|INZRCD|INZINP|INVITE|INDTXT|INDARA|HTML|HOME|HLPTITLE|HLPSEQ|HLPSCHIDX|HLPRTN|HLPRCD|HLPPNLGRP|HLPID|HLPFULL|HLPEXCLD|HLPDOC|HLPCMDKEY|HLPCLR|HLPBDY|HLPARA|HELP|GETRETAIN|FRCDTA|FLTPCN|FLTFIXDEC|FLDCSRPRG|ERRSFL|ERRMSG|ERRMSGID|ERASEINP|ERASE|ENTFLDATR|EDTWRD|EDTMSK|EDTCDE|DUP|DSPSIZ|DSPRL|DSPMOD|DSPATR|DLTEDT|DLTCHK|DFTVAL|DFT|DATSEP|DATFMT|DATE|CSRLOC|CSRINPONLY|COMP|COLOR|CNTFLD|CLEAR|CHRID|CHOICE|CHKMSGID|CHGINPDFT|CHECK|CHCUNAVAIL|CHCSLT|CHCCTL|CHCAVAIL|CHCACCEL|CHANGE|BLKFOLD|BLINK|BLANKS|AUTO|ASSUME|ALWROL|ALWGPH|ALTPAGEDWN|ALTPAGEUP|ALTNAME|ALTHELP|ALIAS|ALARM)\\b"},{"name":"keyword.other.dds.dspf.funcs","match":"\\b(?i)(CMP|CLRL|SFL)\\b"}]},"strings":{"name":"string.quoted.single.dds.dspf","begin":"'","end":"'","patterns":[{"name":"keyword.other.dds.dspf.spec","match":"(?i)(?\u003c=^.{5})[A]"}]}}}
@@ -1 +1 @@
1
- {"name":".env","scopeName":"source.dotenv","patterns":[{"include":"#main"}],"repository":{"comment":{"begin":"^([ \\t]*)(?=#)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.dotenv","begin":"\\G(#)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.dotenv"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.leading.comment.dotenv"}}},"field":{"name":"meta.field.dotenv","contentName":"meta.field.rhs.dotenv","begin":"^(([ \\t]*)(?:(export)\\s+)?([-\\w.]+)\\s*)(=|:)","end":"(?!\\G)","patterns":[{"name":"punctuation.whitespace.trailing.empty-value.dotenv","match":"\\G[ \\t]+$"},{"begin":"\\G[ \\t]*(?=(\"|')(?:[^\\\\\"']|(?!\\1)[\"']|\\\\.)*+\\1$)","end":"(?!\\G)","patterns":[{"include":"#strings"}]},{"contentName":"string.unquoted.field.dotenv","begin":"\\G[ \\t]*(?!\"|')(?=\\S)","end":"([ \\t]*)$","endCaptures":{"1":{"name":"punctuation.whitespace.trailing.dotenv"}}}],"beginCaptures":{"1":{"name":"meta.field.lhs.dotenv"},"2":{"name":"punctuation.whitespace.leading.field.dotenv"},"3":{"name":"storage.modifier.export.dotenv"},"4":{"name":"variable.assignment.environment.dotenv"},"5":{"name":"keyword.operator.assignment.key-value.dotenv"}}},"main":{"patterns":[{"include":"#comment"},{"include":"#field"}]},"strings":{"patterns":[{"name":"string.quoted.double.dotenv","begin":"\\G\"","end":"\"","patterns":[{"name":"constant.character.escape.newline.dotenv","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}},{"name":"constant.character.escape.quote.dotenv","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dotenv"}},"endCaptures":{"0":{"name":"punctuation.definition.string.env.dotenv"}}},{"name":"string.quoted.single.dotenv","begin":"\\G'","end":"'","patterns":[{"name":"constant.character.escape.quote.dotenv","match":"(\\\\)'","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dotenv"}},"endCaptures":{"0":{"name":"punctuation.definition.string.env.dotenv"}}}]}},"injections":{"source.dotenv meta.field.rhs string - string.quoted.single":{"patterns":[{"name":"source.shell.embedded.dotenv","match":"(?\u003c!\\\\)(\\${)(.*?)(?\u003c!\\\\)(})","captures":{"1":{"name":"punctuation.section.embedded.begin.dotenv"},"2":{"name":"constant.language.environment.variable.dotenv"},"3":{"name":"punctuation.section.embedded.end.dotenv"}}},{"name":"entity.name.variable.dotenv","match":"(?\u003c!\\\\)(\\$)[a-zA-Z0-9_]+","captures":{"1":{"name":"punctuation.definition.variable.dotenv"}}},{"name":"source.shell.embedded.dotenv","match":"(?\u003c!\\\\)(\\$\\()(.*?)(?\u003c!\\\\)(\\))","captures":{"1":{"name":"punctuation.section.embedded.begin.dotenv"},"2":{"patterns":[{"include":"source.shell"}]},"3":{"name":"punctuation.section.embedded.end.dotenv"}}}]},"source.dotenv meta.field.rhs string.unquoted":{"patterns":[{"name":"comment.line.number-sign.inline.dotenv","begin":"(?\u003c=\\S)[ \\t]+(#)","end":"(?=$)","captures":{"1":{"name":"punctuation.definition.comment.dotenv"}}}]}}}
1
+ {"name":".env","scopeName":"source.dotenv","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.number-sign.dotenv","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.dotenv"}}},"field":{"name":"meta.field.dotenv","contentName":"meta.field.rhs.dotenv","begin":"^(([ \\t]*)(?:(export)\\s+)?([-\\w.]+)\\s*)(=|:)","end":"(?!\\G)","patterns":[{"name":"punctuation.whitespace.trailing.empty-value.dotenv","match":"\\G[ \\t]+$"},{"begin":"\\G[ \\t]*(?=[\"'`])","end":"(?!\\G)","patterns":[{"include":"#strings"}]},{"contentName":"string.unquoted.field.dotenv","begin":"\\G[ \\t]*(?!\"|')(?=[^#\\s])","end":"([ \\t]*)(?=$|#)","endCaptures":{"1":{"name":"punctuation.whitespace.trailing.dotenv"}}}],"beginCaptures":{"1":{"name":"meta.field.lhs.dotenv"},"2":{"name":"punctuation.whitespace.leading.field.dotenv"},"3":{"name":"storage.modifier.export.dotenv"},"4":{"name":"variable.assignment.environment.dotenv"},"5":{"name":"keyword.operator.assignment.key-value.dotenv"}}},"main":{"patterns":[{"include":"#comment"},{"include":"#field"}]},"stringBackticks":{"name":"string.quoted.backticks.dotenv","begin":"\\G`","end":"`","patterns":[{"name":"constant.character.escape.quote.dotenv","match":"(\\\\)`","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dotenv"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dotenv"}}},"stringDoubleQuoted":{"name":"string.quoted.double.dotenv","begin":"\\G\"","end":"\"","patterns":[{"name":"constant.character.escape.newline.dotenv","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}},{"name":"constant.character.escape.quote.dotenv","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dotenv"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dotenv"}}},"stringSingleQuoted":{"name":"string.quoted.single.dotenv","begin":"\\G'","end":"'","patterns":[{"name":"constant.character.escape.quote.dotenv","match":"(\\\\)'","captures":{"1":{"name":"punctuation.definition.escape.backslash.dotenv"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.dotenv"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.dotenv"}}},"strings":{"patterns":[{"include":"#stringDoubleQuoted"},{"include":"#stringSingleQuoted"},{"include":"#stringBackticks"}]}},"injections":{"source.dotenv meta.field.rhs string - string.quoted.single":{"patterns":[{"name":"source.shell.embedded.dotenv","match":"(?\u003c!\\\\)(\\${)(.*?)(?\u003c!\\\\)(})","captures":{"1":{"name":"punctuation.section.embedded.begin.dotenv"},"2":{"name":"constant.language.environment.variable.dotenv"},"3":{"name":"punctuation.section.embedded.end.dotenv"}}},{"name":"entity.name.variable.dotenv","match":"(?\u003c!\\\\)(\\$)[a-zA-Z0-9_]+","captures":{"1":{"name":"punctuation.definition.variable.dotenv"}}},{"name":"source.shell.embedded.dotenv","match":"(?\u003c!\\\\)(\\$\\()(.*?)(?\u003c!\\\\)(\\))","captures":{"1":{"name":"punctuation.section.embedded.begin.dotenv"},"2":{"patterns":[{"include":"source.shell"}]},"3":{"name":"punctuation.section.embedded.end.dotenv"}}}]}}}
@@ -1 +1 @@
1
- {"name":"EdgeQL","scopeName":"source.edgeql","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#fnstatement"},{"include":"#expressions"},{"name":"punctuation.statement.delimiter.edgeql","match":"(;)"}]},"array-dimensions":{"begin":"(\\[)","end":"(\\])","patterns":[{"name":"constant.numeric.edgeql","match":"(\\d+)"},{"name":"invalid.illegal.type.edgeql","match":"\\S+"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.edgeql"}}},"builtin-indexes":{"name":"support.other.index.builtin.edgeql","match":"(?x) \\b(?\u003c!\\.|\\.\u003c|\\.\u003e) (\n brin | btree | gin | gist |\n hash | index | spgist\n)\\b\n"},"builtin-modules":{"name":"support.other.module.builtin.edgeql","match":"(?x) \\b(?\u003c!::|\\.|\\.\u003c|\\.\u003e)(\n cal | cfg | enc | ext |\n fts | math | pg | schema |\n std | sys\n)\\b\n"},"builtin-types":{"name":"support.type.builtin.edgeql","match":"(?x) \\b(?\u003c!\\.|\\.\u003c|\\.\u003e) (\n Base64Alphabet | BaseObject | ElasticLanguage | FreeObject |\n JsonEmpty | Language | LuceneLanguage | Object |\n PGLanguage | Weight | anycontiguous | anydiscrete |\n anyenum | anyfloat | anyint | anynumeric |\n anypoint | anyreal | anyscalar | anytype |\n array | bigint | bool | bytes |\n date_duration | datetime | decimal | document |\n duration | enum | float32 | float64 |\n int16 | int32 | int64 | json |\n local_date | local_datetime | local_time | multirange |\n range | relative_duration | sequence | str |\n tuple | uuid\n)\\b\n"},"builtins":{"patterns":[{"name":"support.function.builtin.edgeql","match":"(?x) \\b(?\u003c!\\.|\\.\u003c|\\.\u003e) (\n abs | adjacent | all |\n any | array_agg | array_fill |\n array_get | array_join | array_replace |\n array_unpack | assert | assert_distinct |\n assert_exists | assert_single | bit_and |\n bit_lshift | bit_not | bit_or |\n bit_rshift | bit_xor | bounded_above |\n bounded_below | bytes_get_bit | ceil |\n contains | count | date_get |\n datetime_current | datetime_get | datetime_of_statement |\n datetime_of_transaction | datetime_truncate | duration_get |\n duration_normalize_days | duration_normalize_hours | duration_to_seconds |\n duration_truncate | enumerate | find |\n floor | get_current_database | get_instance_name |\n get_transaction_isolation | get_version | get_version_as_str |\n json_array_unpack | json_get | json_object_pack |\n json_object_unpack | json_set | json_typeof |\n len | lg | ln |\n log | max | mean |\n min | multirange | multirange_unpack |\n overlaps | random | range |\n range_get_lower | range_get_upper | range_is_empty |\n range_is_inclusive_lower | range_is_inclusive_upper | range_unpack |\n re_match | re_match_all | re_replace |\n re_test | round | search |\n sequence_next | sequence_reset | sqrt |\n stddev | stddev_pop | str_lower |\n str_lpad | str_ltrim | str_pad_end |\n str_pad_start | str_repeat | str_replace |\n str_reverse | str_rpad | str_rtrim |\n str_split | str_title | str_trim |\n str_trim_end | str_trim_start | str_upper |\n strictly_above | strictly_below | sum |\n time_get | to_bigint | to_bytes |\n to_date_duration | to_datetime | to_decimal |\n to_duration | to_float32 | to_float64 |\n to_int16 | to_int32 | to_int64 |\n to_json | to_local_date | to_local_datetime |\n to_local_time | to_relative_duration | to_str |\n uuid_generate_v1mc | uuid_generate_v4 | var |\n var_pop | with_options\n)(?=\\s*\\()\\b\n"},{"name":"support.function.constraint.builtin.edgeql","match":"(?x) \\b(?\u003c!\\.|\\.\u003c|\\.\u003e) (\n constraint | exclusive | expression |\n len_value | max_ex_value | max_len_value |\n max_value | min_ex_value | min_len_value |\n min_value | one_of | regexp\n)\\b\n"},{"include":"#builtin-modules"},{"name":"support.other.link.builtin.edgeql","match":"(?x) \\b(\n __edgedbsys__ | __edgedbtpl__ | __new__ |\n __old__ | __source__ | __specified__ |\n __std__ | __subject__ | __type__\n)\\b\n"}]},"bytes":{"patterns":[{"name":"string.quoted.bytes.edgeql","begin":"(b)(')","end":"(\\2)","patterns":[{"include":"#bytes-escapes"},{"match":"([\\n -\u0026(-\\[\\]-~])+"},{"name":"invalid.illegal.bytes.edgeql","match":"(\\\\x.{1,2})|(\\\\.)|(.)"}],"beginCaptures":{"1":{"name":"storage.type.string.edgeql"},"2":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}},{"name":"string.quoted.bytes.edgeql","begin":"(b)(\")","end":"(\\2)","patterns":[{"include":"#bytes-escapes"},{"match":"([\\n -!#-\\[\\]-~])+"},{"name":"invalid.illegal.bytes.edgeql","match":"(\\\\x.{1,2})|(\\\\.)|(.)"}],"beginCaptures":{"1":{"name":"storage.type.string.edgeql"},"2":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}}]},"bytes-escapes":{"name":"constant.character.escape.edgeql","match":"(?x)\n (\n \\\\[\\\\'\"bfnrt] |\n \\\\x[0-9a-fA-F]{2}\n )\n"},"casts":{"contentName":"meta.typecast.edgeql","begin":"(?xi)\n (?:\n (?\u003c= ^ | [@~+\\-*/%^\u003c\u003e=?,:(\\[{])\n |\n (?\u003c=\n AND | OR | NOT | LIKE | ILIKE | IS | IN | IF | ELSE |\n UNION | ALL | EXISTS |\n\n SELECT | GROUP | UPDATE | BY | THEN | LIMIT |\n # there are some ligature-related issues with \"fi\" and \"ff\"\n F[Ii]LTER | OF[Ff]SET\n )\n ) \\s* (\\\u003c)\n","end":"(\\\u003e)","patterns":[{"include":"#types"},{"include":"#types-common"}],"beginCaptures":{"1":{"name":"keyword.operator.cast.begin.edgeql"}},"endCaptures":{"1":{"name":"keyword.operator.cast.end.edgeql"}}},"code":{"patterns":[{"match":"(?xi)\n \\b(FROM) \\s+ (EDGEQL | SQL) \\s+ (EXPRESSION)\n","captures":{"1":{"name":"keyword.declaration.edgeql"},"3":{"name":"keyword.declaration.edgeql"}}},{"begin":"(?xi)\n \\b(FROM) \\s+\n (SQL) \\s+\n (\\$\\w?\\$)\n","end":"(\\3)","patterns":[{"include":"source.sql"}],"beginCaptures":{"1":{"name":"keyword.declaration.edgeql"},"3":{"name":"string.quoted.edgeql"}},"endCaptures":{"1":{"name":"string.quoted.edgeql"}}},{"begin":"(?xi)\n \\b(FROM) \\s+\n (EDGEQL) \\s+\n (\\$\\w?\\$)\n","end":"(\\3)","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"keyword.declaration.edgeql"},"3":{"name":"string.quoted.edgeql"}},"endCaptures":{"1":{"name":"string.quoted.edgeql"}}}]},"commandblock":{"begin":"(?=SET|CREATE|ALTER|DROP|RENAME|FROM)","end":"(?=\\})","patterns":[{"include":"#all"}]},"comments":{"patterns":[{"name":"comment.line.number-sign.edgeql","match":"(#)\\s*((BUG|FIXME|TODO|XXX)).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.edgeql"},"2":{"name":"comment.line.note.notation.edgeql"},"3":{"name":"comment.line.note.edgeql"}}},{"name":"comment.line.number-sign.edgeql","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.edgeql"}}}]},"curlybraces":{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"#comments"},{"include":"#commandblock"},{"include":"#shape"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.edgeql"}}},"definition":{"match":"(?x)\n (?:\n ([[:alpha:]_][[:alnum:]_]*)\n |\n ([\\.\\d]\\S*?)\n ) (?=\\s*:=)\n","captures":{"1":{"name":"variable.parameter.definition.edgeql"},"2":{"name":"invalid.illegal.definition.edgeql"}}},"expressions":{"patterns":[{"include":"#comments"},{"include":"#code"},{"include":"#keywords"},{"include":"#fncalls"},{"include":"#operators"},{"include":"#builtins"},{"include":"#types"},{"include":"#quoted-name"},{"include":"#values"},{"include":"#link-properties"},{"include":"#variables"},{"include":"#parentheses"},{"include":"#squarebraces"},{"include":"#curlybraces"},{"include":"#casts"}]},"fncallargs":{"patterns":[{"include":"#definition"},{"include":"#expressions"},{"name":"punctuation.separator.arguments.edgeql","match":"(,)"},{"name":"invalid.illegal.delimiter.edgeql","match":"(;)"}]},"fncalls":{"patterns":[{"name":"meta.function-call.edgeql","begin":"(?x)\n \\b(?\u003c!\\.|\\.\u003c|\\.\u003e)\n # function name\n (?:\n (\n # functions\n abs | adjacent | all |\n any | array_agg | array_fill |\n array_get | array_join | array_replace |\n array_unpack | assert | assert_distinct |\n assert_exists | assert_single | bit_and |\n bit_lshift | bit_not | bit_or |\n bit_rshift | bit_xor | bounded_above |\n bounded_below | bytes_get_bit | ceil |\n contains | count | date_get |\n datetime_current | datetime_get | datetime_of_statement |\n datetime_of_transaction | datetime_truncate | duration_get |\n duration_normalize_days | duration_normalize_hours | duration_to_seconds |\n duration_truncate | enumerate | find |\n floor | get_current_database | get_instance_name |\n get_transaction_isolation | get_version | get_version_as_str |\n json_array_unpack | json_get | json_object_pack |\n json_object_unpack | json_set | json_typeof |\n len | lg | ln |\n log | max | mean |\n min | multirange | multirange_unpack |\n overlaps | random | range |\n range_get_lower | range_get_upper | range_is_empty |\n range_is_inclusive_lower | range_is_inclusive_upper | range_unpack |\n re_match | re_match_all | re_replace |\n re_test | round | search |\n sequence_next | sequence_reset | sqrt |\n stddev | stddev_pop | str_lower |\n str_lpad | str_ltrim | str_pad_end |\n str_pad_start | str_repeat | str_replace |\n str_reverse | str_rpad | str_rtrim |\n str_split | str_title | str_trim |\n str_trim_end | str_trim_start | str_upper |\n strictly_above | strictly_below | sum |\n time_get | to_bigint | to_bytes |\n to_date_duration | to_datetime | to_decimal |\n to_duration | to_float32 | to_float64 |\n to_int16 | to_int32 | to_int64 |\n to_json | to_local_date | to_local_datetime |\n to_local_time | to_relative_duration | to_str |\n uuid_generate_v1mc | uuid_generate_v4 | var |\n var_pop | with_options\n |\n # constraints\n constraint | exclusive | expression |\n len_value | max_ex_value | max_len_value |\n max_value | min_ex_value | min_len_value |\n min_value | one_of | regexp\n )\n |\n ([[:alpha:]_][[:alnum:]_]*)\n |\n (`.*?`)\n ) \\s*(\\()\n","end":"(\\))","patterns":[{"include":"#fncallargs"}],"beginCaptures":{"1":{"name":"support.function.builtin.edgeql"},"2":{"name":"entity.name.function.edgeql"},"3":{"name":"string.interpolated.edgeql"},"4":{"name":"punctuation.definition.arguments.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.edgeql"}}},{"name":"meta.function-call.edgeql","begin":"(?x)\n \\b(?\u003c!\\.|\\.\u003c|\\.\u003e)\n # module\n (?:\n (\n cal | cfg | enc |\n ext | fts | math |\n pg | schema | std |\n sys\n )\n |\n (?# masking built-ins in odd ways)\n (\n #functions\n abs | adjacent | all |\n any | array_agg | array_fill |\n array_get | array_join | array_replace |\n array_unpack | assert | assert_distinct |\n assert_exists | assert_single | bit_and |\n bit_lshift | bit_not | bit_or |\n bit_rshift | bit_xor | bounded_above |\n bounded_below | bytes_get_bit | ceil |\n contains | count | date_get |\n datetime_current | datetime_get | datetime_of_statement |\n datetime_of_transaction | datetime_truncate | duration_get |\n duration_normalize_days | duration_normalize_hours | duration_to_seconds |\n duration_truncate | enumerate | find |\n floor | get_current_database | get_instance_name |\n get_transaction_isolation | get_version | get_version_as_str |\n json_array_unpack | json_get | json_object_pack |\n json_object_unpack | json_set | json_typeof |\n len | lg | ln |\n log | max | mean |\n min | multirange | multirange_unpack |\n overlaps | random | range |\n range_get_lower | range_get_upper | range_is_empty |\n range_is_inclusive_lower | range_is_inclusive_upper | range_unpack |\n re_match | re_match_all | re_replace |\n re_test | round | search |\n sequence_next | sequence_reset | sqrt |\n stddev | stddev_pop | str_lower |\n str_lpad | str_ltrim | str_pad_end |\n str_pad_start | str_repeat | str_replace |\n str_reverse | str_rpad | str_rtrim |\n str_split | str_title | str_trim |\n str_trim_end | str_trim_start | str_upper |\n strictly_above | strictly_below | sum |\n time_get | to_bigint | to_bytes |\n to_date_duration | to_datetime | to_decimal |\n to_duration | to_float32 | to_float64 |\n to_int16 | to_int32 | to_int64 |\n to_json | to_local_date | to_local_datetime |\n to_local_time | to_relative_duration | to_str |\n uuid_generate_v1mc | uuid_generate_v4 | var |\n var_pop | with_options\n |\n #constraints\n constraint | exclusive | expression |\n len_value | max_ex_value | max_len_value |\n max_value | min_ex_value | min_len_value |\n min_value | one_of | regexp\n )\n |\n ([[:alpha:]_][[:alnum:]_]*)\n |\n (`.*?`)\n )\n\n \\s*(::)\\s*\n\n # function name\n (?:\n (\n #functions\n abs | adjacent | all |\n any | array_agg | array_fill |\n array_get | array_join | array_replace |\n array_unpack | assert | assert_distinct |\n assert_exists | assert_single | bit_and |\n bit_lshift | bit_not | bit_or |\n bit_rshift | bit_xor | bounded_above |\n bounded_below | bytes_get_bit | ceil |\n contains | count | date_get |\n datetime_current | datetime_get | datetime_of_statement |\n datetime_of_transaction | datetime_truncate | duration_get |\n duration_normalize_days | duration_normalize_hours | duration_to_seconds |\n duration_truncate | enumerate | find |\n floor | get_current_database | get_instance_name |\n get_transaction_isolation | get_version | get_version_as_str |\n json_array_unpack | json_get | json_object_pack |\n json_object_unpack | json_set | json_typeof |\n len | lg | ln |\n log | max | mean |\n min | multirange | multirange_unpack |\n overlaps | random | range |\n range_get_lower | range_get_upper | range_is_empty |\n range_is_inclusive_lower | range_is_inclusive_upper | range_unpack |\n re_match | re_match_all | re_replace |\n re_test | round | search |\n sequence_next | sequence_reset | sqrt |\n stddev | stddev_pop | str_lower |\n str_lpad | str_ltrim | str_pad_end |\n str_pad_start | str_repeat | str_replace |\n str_reverse | str_rpad | str_rtrim |\n str_split | str_title | str_trim |\n str_trim_end | str_trim_start | str_upper |\n strictly_above | strictly_below | sum |\n time_get | to_bigint | to_bytes |\n to_date_duration | to_datetime | to_decimal |\n to_duration | to_float32 | to_float64 |\n to_int16 | to_int32 | to_int64 |\n to_json | to_local_date | to_local_datetime |\n to_local_time | to_relative_duration | to_str |\n uuid_generate_v1mc | uuid_generate_v4 | var |\n var_pop | with_options\n |\n #constraints\n constraint | exclusive | expression |\n len_value | max_ex_value | max_len_value |\n max_value | min_ex_value | min_len_value |\n min_value | one_of | regexp\n )\n |\n ([[:alpha:]_][[:alnum:]_]*)\n |\n (`.*?`)\n ) \\s*(\\()\n","end":"(\\))","patterns":[{"include":"#fncallargs"}],"beginCaptures":{"1":{"name":"support.other.module.builtin.edgeql"},"2":{"name":"support.function.builtin.edgeql"},"3":{"name":"entity.name.function.edgeql"},"4":{"name":"string.interpolated.edgeql"},"5":{"name":"keyword.operator.namespace.edgeql"},"6":{"name":"support.function.builtin.edgeql"},"7":{"name":"entity.name.function.edgeql"},"8":{"name":"string.interpolated.edgeql"},"9":{"name":"punctuation.definition.arguments.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.edgeql"}}}]},"fnstatement":{"begin":"(?ix) \\b(?\u003c![:\\.])(FUNCTION|AGGREGATE|ABSTRACT CONSTRAINT)\\b","end":"(?=[^\\s\\w:]|\\bEXTENDING\\b|$)","patterns":[{"include":"#builtins"},{"include":"#identifier"},{"name":"keyword.operator.namespace.edgeql","match":"(::)"}],"beginCaptures":{"1":{"name":"keyword.declaration.edgeql"}}},"identifier":{"match":"([[:alpha:]_][[:alnum:]_]*)"},"keywords":{"patterns":[{"name":"constant.language.boolean.true.edgeql","match":"(?i)\\b(TRUE)\\b"},{"name":"constant.language.boolean.false.edgeql","match":"(?i)\\b(FALSE)\\b"},{"name":"constant.language.empty.edgeql","match":"(?i)\\b(EMPTY)\\b"},{"name":"keyword.declaration.edgeql","match":"(?i)\\b(?\u003c!::|\\.|\\.\u003c|\\.\u003e)(CONSTRAINT)\\b(?!=\\s+\\()"},{"name":"keyword.declaration.edgeql","match":"(?ix) \\b(?\u003c!::|\\.|\\.\u003c|\\.\u003e)(\n (?# special case)\n (named \\s+ only)\n |\n (as \\s+ text)\n |\n (all (?!\\s*\\())\n |\n\n (?# unreserved)\n abort | abstract | access | after | alias |\n allow | annotation | applied | as | asc |\n assignment | before | cardinality | cast | committed |\n config | conflict | cube | current | database |\n ddl | declare | default | deferrable | deferred |\n delegated | deny | desc | each | empty |\n extension | final | first | from | function |\n future | implicit | index | infix | inheritable |\n instance | into | isolation | last | link |\n migration | multi | object | of | only |\n onto | operator | optionality | order | orphan |\n overloaded | owned | package | policy | populate |\n postfix | prefix | property | proposed | pseudo |\n read | reject | release | rename | required |\n reset | restrict | rewrite | role | roles |\n rollup | savepoint | scalar | schema | sdl |\n serializable | session | source | superuser | system |\n target | ternary | then | to | transaction |\n trigger | type | unless | using | verbose |\n version | view | write\n |\n (?# reserved)\n administer | alter | analyze | and | anyarray |\n anyobject | anytuple | begin | by | case |\n check | commit | configure | create | deallocate |\n delete | describe | detached | discard | distinct |\n do | drop | else | end | except |\n exists | explain | extending | fetch | filter |\n for | get | global | grant | group |\n if | ilike | import | in | insert |\n intersect | introspect | is | like | limit |\n listen | load | lock | match | module |\n move | never | not | notify | offset |\n on | optional | or | over | partition |\n prepare | raise | refresh | revoke | rollback |\n select | set | single | start | typeof |\n union | update | variadic | when | window |\n with\n)\\b\n"}]},"link-properties":{"name":"support.other.linkproperty.edgeql","begin":"(\\@)","end":"(?\u003c=[[:alnum:]_`])","patterns":[{"include":"#identifier"},{"include":"#quoted-name"}]},"number":{"patterns":[{"name":"constant.numeric.float.edgeql","match":"(?x)\n (?:\n #decimal part\n \\.(_*)(?:[0-9](?:[0-9_]*[0-9])?)\n |\n # integer part\n \\b(?: [1-9](?: [0-9_]*[0-9] )? | 0 )\n (?:\\.(_*)[0-9](?:[0-9_]*[0-9])?)\n )\n ((_*)([eE][\\+\\-]?)(_*)[0-9](?:[0-9_]*[0-9])?)?\n\n (_*)\n \\b\n","captures":{"1":{"name":"invalid.illegal.dec.edgeql"},"2":{"name":"invalid.illegal.dec.edgeql"},"4":{"name":"invalid.illegal.dec.edgeql"},"5":{"name":"storage.type.number.edgeql"},"6":{"name":"invalid.illegal.dec.edgeql"},"7":{"name":"invalid.illegal.dec.edgeql"}}},{"name":"constant.numeric.float.edgeql","match":"(?x)\n (?:\n # integer part\n \\b(?:[1-9](?:[0-9_]*[0-9])?|0)\n )\n ((_*)([eE][\\+\\-]?)(_*)[0-9](?:[0-9_]*[0-9])?)\n\n (_*)\n \\b\n","captures":{"2":{"name":"invalid.illegal.dec.edgeql"},"3":{"name":"storage.type.number.edgeql"},"4":{"name":"invalid.illegal.dec.edgeql"},"5":{"name":"invalid.illegal.dec.edgeql"}}},{"name":"constant.numeric.decimal.edgeql","match":"(?x)\n (?:\n #decimal part\n \\.(_*)(?:[0-9](?:[0-9_]*[0-9])?)\n |\n # integer part\n \\b(?:[1-9](?:[0-9_]*[0-9])?|0)\n (?:\\.(_*)[0-9](?:[0-9_]*[0-9])?)?\n )\n ((_*)([eE][\\+\\-]?)(_*)[0-9](?:[0-9_]*[0-9])?)?\n\n (_*)\n (n)\n","captures":{"1":{"name":"invalid.illegal.dec.edgeql"},"2":{"name":"invalid.illegal.dec.edgeql"},"4":{"name":"invalid.illegal.dec.edgeql"},"5":{"name":"storage.type.number.edgeql"},"6":{"name":"invalid.illegal.dec.edgeql"},"7":{"name":"invalid.illegal.dec.edgeql"},"8":{"name":"storage.type.number.edgeql"}}},{"name":"constant.numeric.integer.edgeql","match":"(?x)\n (?:\n # integer part\n \\b(?:[1-9](?:[0-9_]*[0-9])?|0)\n )\n (_*)\n \\b\n","captures":{"1":{"name":"invalid.illegal.dec.edgeql"},"2":{"name":"invalid.illegal.dec.edgeql"}}}]},"operators":{"patterns":[{"name":"keyword.operator.navigation.edgeql","match":"(\\.[\u003c\u003e])"},{"name":"keyword.operator.namespace.edgeql","match":"(::)"},{"name":"keyword.declaration.edgeql","match":"-\u003e"},{"name":"punctuation.declaration.delimiter.edgeql","match":"(:(?!=))"},{"name":"keyword.operator.edgeql","match":"(?x)\n \\?\\!\\= | \\?\\? | \\?\\= | \\\u003e\\= | \\\u003c\\= | \\:\\= | \\/\\/ | \\+\\+ |\n \\!\\= | \\^ | \\\u003e | \\= | \\\u003c | \\/ | \\- | \\+ |\n \\* | \\%\n"}]},"parencommon":{"patterns":[{"name":"punctuation.separator.element.edgeql","match":"(,)"},{"name":"invalid.illegal.delimiter.edgeql","match":"(;)"}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#expressions"},{"include":"#parencommon"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.edgeql"}}},"quoted-name":{"name":"string.interpolated.edgeql","match":"(`.*?`)"},"shape":{"begin":"(?=\\S)","end":"(?=\\})","patterns":[{"name":"punctuation.statement.delimiter.edgeql","match":"(;)"},{"include":"#expressions"},{"include":"#parencommon"}]},"squarebraces":{"begin":"(\\[)","end":"(\\])","patterns":[{"name":"keyword.operator.edgeql","match":"(^|\\b|\\s)(-\u003e)($|\\b|\\s)"},{"include":"#expressions"},{"include":"#parencommon"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.edgeql"}}},"string":{"patterns":[{"name":"string.quoted.raw.edgeql","begin":"(r)(['\"])","end":"(\\2)","beginCaptures":{"1":{"name":"storage.type.string.edgeql"},"2":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}},{"name":"string.quoted.edgeql","begin":"(['\"])","end":"(\\1)","patterns":[{"include":"#string-escapes"},{"include":"#string-invalid-escapes"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}},{"name":"string.dollar.edgeql","begin":"(\\$([[:alpha:]_][[:alnum:]]*)*\\$)","end":"(\\1)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}}]},"string-escapes":{"name":"constant.character.escape.edgeql","match":"(?x)\n (\n \\\\(?=\\s*\\n) |\n \\\\[\\\\'\"bfnrt] |\n \\\\x[0-7][0-9a-fA-F] |\n \\\\u[0-9a-fA-F]{4} |\n \\\\U[0-9a-fA-F]{8}\n )\n"},"string-invalid-escapes":{"name":"invalid.illegal.escapes.edgeql","match":"(\\\\.)"},"types":{"patterns":[{"begin":"\\b(?\u003c!::|\\.)(tuple)\\s*(\u003c)","end":"(\u003e)","patterns":[{"include":"#types"},{"name":"punctuation.separator.type.edgeql","match":"(,)"},{"match":"(:)"},{"include":"#types-common"}],"beginCaptures":{"1":{"name":"storage.type.edgeql"},"2":{"name":"storage.type.placeholder.begin.edgeql"}},"endCaptures":{"1":{"name":"storage.type.placeholder.end.edgeql"}}},{"begin":"\\b(?\u003c!::|\\.)(array)\\s*(\u003c)","end":"(\u003e)","patterns":[{"name":"invalid.illegal.type.edgeql","match":"array"},{"include":"#types"},{"include":"#array-dimensions"},{"include":"#types-common"}],"beginCaptures":{"1":{"name":"storage.type.edgeql"},"2":{"name":"storage.type.placeholder.begin.edgeql"}},"endCaptures":{"1":{"name":"storage.type.placeholder.end.edgeql"}}},{"name":"storage.type.edgeql","match":"(?x) \\b(?\u003c!::|\\.)(\n array | tuple\n)\\b\n"},{"include":"#builtin-modules"},{"include":"#builtin-types"},{"include":"#builtin-indexes"}]},"types-common":{"patterns":[{"include":"#identifier"},{"name":"keyword.operator.namespace.edgeql","match":"(::)"}]},"values":{"patterns":[{"include":"#number"},{"include":"#bytes"},{"include":"#string"}]},"variables":{"name":"constant.language.variable.edgeql","begin":"(\\$)(?=[[:alnum:]_]|`)","end":"(?\u003c=[[:alnum:]_`])","patterns":[{"include":"#identifier"},{"include":"#quoted-name"},{"match":"(\\d)+"}]}}}
1
+ {"name":"EdgeQL","scopeName":"source.edgeql","patterns":[{"include":"#all"}],"repository":{"all":{"patterns":[{"include":"#fnstatement"},{"include":"#expressions"},{"name":"punctuation.statement.delimiter.edgeql","match":"(;)"}]},"array-dimensions":{"begin":"(\\[)","end":"(\\])","patterns":[{"name":"constant.numeric.edgeql","match":"(\\d+)"},{"name":"invalid.illegal.type.edgeql","match":"\\S+"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.edgeql"}}},"builtin-indexes":{"name":"support.other.index.builtin.edgeql","match":"(?x) \\b(?\u003c!\\.|\\.\u003c|\\.\u003e) (\n brin | btree | gin | gist |\n hash | index | spgist\n)\\b\n"},"builtin-modules":{"name":"support.other.module.builtin.edgeql","match":"(?x) \\b(?\u003c!::|\\.|\\.\u003c|\\.\u003e)(\n cal | cfg | enc | ext |\n fts | go | http | js |\n lang | math | net | perm |\n pg | py | rs | schema |\n std | sys\n)\\b\n"},"builtin-types":{"name":"support.type.builtin.edgeql","match":"(?x) \\b(?\u003c!\\.|\\.\u003c|\\.\u003e) (\n Base64Alphabet | BaseObject | ElasticLanguage | Endian |\n FreeObject | JsonEmpty | Language | LuceneLanguage |\n Method | Object | PGLanguage | RequestFailureKind |\n RequestState | Response | ScheduledRequest | Weight |\n anycontiguous | anydiscrete | anyenum | anyfloat |\n anyint | anynumeric | anypoint | anyreal |\n anyscalar | anytype | array | bigint |\n bool | bytes | date | date_duration |\n datetime | decimal | document | duration |\n enum | float32 | float64 | int16 |\n int32 | int64 | interval | json |\n local_date | local_datetime | local_time | multirange |\n range | relative_duration | sequence | str |\n timestamp | timestamptz | tuple | uuid\n)\\b\n"},"builtins":{"patterns":[{"name":"support.function.builtin.edgeql","match":"(?x) \\b(?\u003c!\\.|\\.\u003c|\\.\u003e) (\n abs | acos | adjacent |\n all | any | approximate_count |\n array_agg | array_fill | array_get |\n array_insert | array_join | array_replace |\n array_set | array_unpack | asin |\n assert | assert_distinct | assert_exists |\n assert_single | atan | atan2 |\n bit_and | bit_count | bit_lshift |\n bit_not | bit_or | bit_rshift |\n bit_xor | bounded_above | bounded_below |\n bytes_get_bit | ceil | contains |\n cos | cot | count |\n date_get | datetime_current | datetime_get |\n datetime_of_statement | datetime_of_transaction | datetime_truncate |\n duration_get | duration_normalize_days | duration_normalize_hours |\n duration_to_seconds | duration_truncate | enumerate |\n find | floor | get_current_branch |\n get_current_database | get_instance_name | get_transaction_isolation |\n get_version | get_version_as_str | json_array_unpack |\n json_get | json_object_pack | json_object_unpack |\n json_set | json_typeof | len |\n lg | ln | log |\n materialized | max | mean |\n min | multirange | multirange_unpack |\n overlaps | pi | random |\n range | range_get_lower | range_get_upper |\n range_is_empty | range_is_inclusive_lower | range_is_inclusive_upper |\n range_unpack | re_match | re_match_all |\n re_replace | re_test | reset_query_stats |\n round | search | sequence_next |\n sequence_reset | sin | sqrt |\n stddev | stddev_pop | str_lower |\n str_lpad | str_ltrim | str_pad_end |\n str_pad_start | str_repeat | str_replace |\n str_reverse | str_rpad | str_rtrim |\n str_split | str_title | str_trim |\n str_trim_end | str_trim_start | str_upper |\n strictly_above | strictly_below | sum |\n tan | time_get | to_bigint |\n to_bytes | to_date_duration | to_datetime |\n to_decimal | to_duration | to_float32 |\n to_float64 | to_int16 | to_int32 |\n to_int64 | to_json | to_local_date |\n to_local_datetime | to_local_time | to_relative_duration |\n to_str | to_uuid | uuid_generate_v1mc |\n uuid_generate_v4 | var | var_pop |\n with_options\n)(?=\\s*\\()\\b\n"},{"name":"support.function.constraint.builtin.edgeql","match":"(?x) \\b(?\u003c!\\.|\\.\u003c|\\.\u003e) (\n constraint | exclusive | expression |\n len_value | max_ex_value | max_len_value |\n max_value | min_ex_value | min_len_value |\n min_value | one_of | regexp\n)\\b\n"},{"include":"#builtin-modules"},{"name":"support.other.link.builtin.edgeql","match":"(?x) \\b(\n __default__ | __edgedbsys__ | __edgedbtpl__ |\n __new__ | __old__ | __source__ |\n __specified__ | __std__ | __subject__ |\n __type__\n)\\b\n"}]},"bytes":{"patterns":[{"name":"string.quoted.bytes.edgeql","begin":"(b)(')","end":"(\\2)","patterns":[{"include":"#bytes-escapes"},{"match":"([\\n -\u0026(-\\[\\]-~])+"},{"name":"invalid.illegal.bytes.edgeql","match":"(\\\\x.{1,2})|(\\\\.)|(.)"}],"beginCaptures":{"1":{"name":"storage.type.string.edgeql"},"2":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}},{"name":"string.quoted.bytes.edgeql","begin":"(b)(\")","end":"(\\2)","patterns":[{"include":"#bytes-escapes"},{"match":"([\\n -!#-\\[\\]-~])+"},{"name":"invalid.illegal.bytes.edgeql","match":"(\\\\x.{1,2})|(\\\\.)|(.)"}],"beginCaptures":{"1":{"name":"storage.type.string.edgeql"},"2":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}}]},"bytes-escapes":{"name":"constant.character.escape.edgeql","match":"(?x)\n (\n \\\\[\\\\'\"bfnrt] |\n \\\\x[0-9a-fA-F]{2}\n )\n"},"casts":{"contentName":"meta.typecast.edgeql","begin":"(?xi)\n (?:\n (?\u003c= ^ | [@~+\\-*/%^\u003c\u003e=?,:(\\[{])\n |\n (?\u003c=\n AND | OR | NOT | LIKE | ILIKE | IS | IN | IF | ELSE |\n UNION | ALL | EXISTS |\n\n SELECT | GROUP | UPDATE | BY | THEN | LIMIT |\n # there are some ligature-related issues with \"fi\" and \"ff\"\n F[Ii]LTER | OF[Ff]SET\n )\n ) \\s* (\\\u003c)\n","end":"(\\\u003e)","patterns":[{"include":"#types"},{"include":"#types-common"}],"beginCaptures":{"1":{"name":"keyword.operator.cast.begin.edgeql"}},"endCaptures":{"1":{"name":"keyword.operator.cast.end.edgeql"}}},"code":{"patterns":[{"match":"(?xi)\n \\b(FROM) \\s+ (EDGEQL | SQL) \\s+ (EXPRESSION)\n","captures":{"1":{"name":"keyword.declaration.edgeql"},"3":{"name":"keyword.declaration.edgeql"}}},{"begin":"(?xi)\n \\b(FROM) \\s+\n (SQL) \\s+\n (\\$\\w?\\$)\n","end":"(\\3)","patterns":[{"include":"source.sql"}],"beginCaptures":{"1":{"name":"keyword.declaration.edgeql"},"3":{"name":"string.quoted.edgeql"}},"endCaptures":{"1":{"name":"string.quoted.edgeql"}}},{"begin":"(?xi)\n \\b(FROM) \\s+\n (EDGEQL) \\s+\n (\\$\\w?\\$)\n","end":"(\\3)","patterns":[{"include":"source.edgeql"}],"beginCaptures":{"1":{"name":"keyword.declaration.edgeql"},"3":{"name":"string.quoted.edgeql"}},"endCaptures":{"1":{"name":"string.quoted.edgeql"}}}]},"commandblock":{"begin":"(?=SET|CREATE|ALTER|DROP|RENAME|FROM)","end":"(?=\\})","patterns":[{"include":"#all"}]},"comments":{"patterns":[{"name":"comment.line.number-sign.edgeql","match":"(#)\\s*((BUG|FIXME|TODO|XXX)).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.edgeql"},"2":{"name":"comment.line.note.notation.edgeql"},"3":{"name":"comment.line.note.edgeql"}}},{"name":"comment.line.number-sign.edgeql","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.edgeql"}}}]},"curlybraces":{"begin":"(\\{)","end":"(\\})","patterns":[{"include":"#comments"},{"include":"#commandblock"},{"include":"#shape"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.edgeql"}}},"definition":{"match":"(?x)\n (?:\n ([[:alpha:]_][[:alnum:]_]*)\n |\n ([\\.\\d]\\S*?)\n ) (?=\\s*:=)\n","captures":{"1":{"name":"variable.parameter.definition.edgeql"},"2":{"name":"invalid.illegal.definition.edgeql"}}},"expressions":{"patterns":[{"include":"#comments"},{"include":"#code"},{"include":"#keywords"},{"include":"#fncalls"},{"include":"#operators"},{"include":"#builtins"},{"include":"#types"},{"include":"#quoted-name"},{"include":"#values"},{"include":"#link-properties"},{"include":"#variables"},{"include":"#parentheses"},{"include":"#squarebraces"},{"include":"#curlybraces"},{"include":"#casts"}]},"fncallargs":{"patterns":[{"include":"#definition"},{"include":"#expressions"},{"name":"punctuation.separator.arguments.edgeql","match":"(,)"},{"name":"invalid.illegal.delimiter.edgeql","match":"(;)"}]},"fncalls":{"patterns":[{"name":"meta.function-call.edgeql","begin":"(?x)\n \\b(?\u003c!\\.|\\.\u003c|\\.\u003e)\n # function name\n (?:\n (\n # functions\n abs | acos | adjacent |\n all | any | approximate_count |\n array_agg | array_fill | array_get |\n array_insert | array_join | array_replace |\n array_set | array_unpack | asin |\n assert | assert_distinct | assert_exists |\n assert_single | atan | atan2 |\n bit_and | bit_count | bit_lshift |\n bit_not | bit_or | bit_rshift |\n bit_xor | bounded_above | bounded_below |\n bytes_get_bit | ceil | contains |\n cos | cot | count |\n date_get | datetime_current | datetime_get |\n datetime_of_statement | datetime_of_transaction | datetime_truncate |\n duration_get | duration_normalize_days | duration_normalize_hours |\n duration_to_seconds | duration_truncate | enumerate |\n find | floor | get_current_branch |\n get_current_database | get_instance_name | get_transaction_isolation |\n get_version | get_version_as_str | json_array_unpack |\n json_get | json_object_pack | json_object_unpack |\n json_set | json_typeof | len |\n lg | ln | log |\n materialized | max | mean |\n min | multirange | multirange_unpack |\n overlaps | pi | random |\n range | range_get_lower | range_get_upper |\n range_is_empty | range_is_inclusive_lower | range_is_inclusive_upper |\n range_unpack | re_match | re_match_all |\n re_replace | re_test | reset_query_stats |\n round | search | sequence_next |\n sequence_reset | sin | sqrt |\n stddev | stddev_pop | str_lower |\n str_lpad | str_ltrim | str_pad_end |\n str_pad_start | str_repeat | str_replace |\n str_reverse | str_rpad | str_rtrim |\n str_split | str_title | str_trim |\n str_trim_end | str_trim_start | str_upper |\n strictly_above | strictly_below | sum |\n tan | time_get | to_bigint |\n to_bytes | to_date_duration | to_datetime |\n to_decimal | to_duration | to_float32 |\n to_float64 | to_int16 | to_int32 |\n to_int64 | to_json | to_local_date |\n to_local_datetime | to_local_time | to_relative_duration |\n to_str | to_uuid | uuid_generate_v1mc |\n uuid_generate_v4 | var | var_pop |\n with_options\n |\n # constraints\n constraint | exclusive | expression |\n len_value | max_ex_value | max_len_value |\n max_value | min_ex_value | min_len_value |\n min_value | one_of | regexp\n )\n |\n ([[:alpha:]_][[:alnum:]_]*)\n |\n (`.*?`)\n ) \\s*(\\()\n","end":"(\\))","patterns":[{"include":"#fncallargs"}],"beginCaptures":{"1":{"name":"support.function.builtin.edgeql"},"2":{"name":"entity.name.function.edgeql"},"3":{"name":"string.interpolated.edgeql"},"4":{"name":"punctuation.definition.arguments.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.edgeql"}}},{"name":"meta.function-call.edgeql","begin":"(?x)\n \\b(?\u003c!\\.|\\.\u003c|\\.\u003e)\n # module\n (?:\n (\n cal | cfg | enc |\n ext | fts | go |\n http | js | lang |\n math | net | perm |\n pg | py | rs |\n schema | std | sys\n )\n |\n (?# masking built-ins in odd ways)\n (\n #functions\n abs | acos | adjacent |\n all | any | approximate_count |\n array_agg | array_fill | array_get |\n array_insert | array_join | array_replace |\n array_set | array_unpack | asin |\n assert | assert_distinct | assert_exists |\n assert_single | atan | atan2 |\n bit_and | bit_count | bit_lshift |\n bit_not | bit_or | bit_rshift |\n bit_xor | bounded_above | bounded_below |\n bytes_get_bit | ceil | contains |\n cos | cot | count |\n date_get | datetime_current | datetime_get |\n datetime_of_statement | datetime_of_transaction | datetime_truncate |\n duration_get | duration_normalize_days | duration_normalize_hours |\n duration_to_seconds | duration_truncate | enumerate |\n find | floor | get_current_branch |\n get_current_database | get_instance_name | get_transaction_isolation |\n get_version | get_version_as_str | json_array_unpack |\n json_get | json_object_pack | json_object_unpack |\n json_set | json_typeof | len |\n lg | ln | log |\n materialized | max | mean |\n min | multirange | multirange_unpack |\n overlaps | pi | random |\n range | range_get_lower | range_get_upper |\n range_is_empty | range_is_inclusive_lower | range_is_inclusive_upper |\n range_unpack | re_match | re_match_all |\n re_replace | re_test | reset_query_stats |\n round | search | sequence_next |\n sequence_reset | sin | sqrt |\n stddev | stddev_pop | str_lower |\n str_lpad | str_ltrim | str_pad_end |\n str_pad_start | str_repeat | str_replace |\n str_reverse | str_rpad | str_rtrim |\n str_split | str_title | str_trim |\n str_trim_end | str_trim_start | str_upper |\n strictly_above | strictly_below | sum |\n tan | time_get | to_bigint |\n to_bytes | to_date_duration | to_datetime |\n to_decimal | to_duration | to_float32 |\n to_float64 | to_int16 | to_int32 |\n to_int64 | to_json | to_local_date |\n to_local_datetime | to_local_time | to_relative_duration |\n to_str | to_uuid | uuid_generate_v1mc |\n uuid_generate_v4 | var | var_pop |\n with_options\n |\n #constraints\n constraint | exclusive | expression |\n len_value | max_ex_value | max_len_value |\n max_value | min_ex_value | min_len_value |\n min_value | one_of | regexp\n )\n |\n ([[:alpha:]_][[:alnum:]_]*)\n |\n (`.*?`)\n )\n\n \\s*(::)\\s*\n\n # function name\n (?:\n (\n #functions\n abs | acos | adjacent |\n all | any | approximate_count |\n array_agg | array_fill | array_get |\n array_insert | array_join | array_replace |\n array_set | array_unpack | asin |\n assert | assert_distinct | assert_exists |\n assert_single | atan | atan2 |\n bit_and | bit_count | bit_lshift |\n bit_not | bit_or | bit_rshift |\n bit_xor | bounded_above | bounded_below |\n bytes_get_bit | ceil | contains |\n cos | cot | count |\n date_get | datetime_current | datetime_get |\n datetime_of_statement | datetime_of_transaction | datetime_truncate |\n duration_get | duration_normalize_days | duration_normalize_hours |\n duration_to_seconds | duration_truncate | enumerate |\n find | floor | get_current_branch |\n get_current_database | get_instance_name | get_transaction_isolation |\n get_version | get_version_as_str | json_array_unpack |\n json_get | json_object_pack | json_object_unpack |\n json_set | json_typeof | len |\n lg | ln | log |\n materialized | max | mean |\n min | multirange | multirange_unpack |\n overlaps | pi | random |\n range | range_get_lower | range_get_upper |\n range_is_empty | range_is_inclusive_lower | range_is_inclusive_upper |\n range_unpack | re_match | re_match_all |\n re_replace | re_test | reset_query_stats |\n round | search | sequence_next |\n sequence_reset | sin | sqrt |\n stddev | stddev_pop | str_lower |\n str_lpad | str_ltrim | str_pad_end |\n str_pad_start | str_repeat | str_replace |\n str_reverse | str_rpad | str_rtrim |\n str_split | str_title | str_trim |\n str_trim_end | str_trim_start | str_upper |\n strictly_above | strictly_below | sum |\n tan | time_get | to_bigint |\n to_bytes | to_date_duration | to_datetime |\n to_decimal | to_duration | to_float32 |\n to_float64 | to_int16 | to_int32 |\n to_int64 | to_json | to_local_date |\n to_local_datetime | to_local_time | to_relative_duration |\n to_str | to_uuid | uuid_generate_v1mc |\n uuid_generate_v4 | var | var_pop |\n with_options\n |\n #constraints\n constraint | exclusive | expression |\n len_value | max_ex_value | max_len_value |\n max_value | min_ex_value | min_len_value |\n min_value | one_of | regexp\n )\n |\n ([[:alpha:]_][[:alnum:]_]*)\n |\n (`.*?`)\n ) \\s*(\\()\n","end":"(\\))","patterns":[{"include":"#fncallargs"}],"beginCaptures":{"1":{"name":"support.other.module.builtin.edgeql"},"2":{"name":"support.function.builtin.edgeql"},"3":{"name":"entity.name.function.edgeql"},"4":{"name":"string.interpolated.edgeql"},"5":{"name":"keyword.operator.namespace.edgeql"},"6":{"name":"support.function.builtin.edgeql"},"7":{"name":"entity.name.function.edgeql"},"8":{"name":"string.interpolated.edgeql"},"9":{"name":"punctuation.definition.arguments.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.edgeql"}}}]},"fnstatement":{"begin":"(?ix) \\b(?\u003c![:\\.])(FUNCTION|AGGREGATE|ABSTRACT CONSTRAINT)\\b","end":"(?=[^\\s\\w:]|\\bEXTENDING\\b|$)","patterns":[{"include":"#builtins"},{"include":"#identifier"},{"name":"keyword.operator.namespace.edgeql","match":"(::)"}],"beginCaptures":{"1":{"name":"keyword.declaration.edgeql"}}},"identifier":{"match":"([[:alpha:]_][[:alnum:]_]*)"},"keywords":{"patterns":[{"name":"constant.language.boolean.true.edgeql","match":"(?i)\\b(TRUE)\\b"},{"name":"constant.language.boolean.false.edgeql","match":"(?i)\\b(FALSE)\\b"},{"name":"constant.language.empty.edgeql","match":"(?i)\\b(EMPTY)\\b"},{"name":"keyword.declaration.edgeql","match":"(?i)\\b(?\u003c!::|\\.|\\.\u003c|\\.\u003e)(CONSTRAINT)\\b(?!=\\s+\\()"},{"name":"keyword.declaration.edgeql","match":"(?ix) \\b(?\u003c!::|\\.|\\.\u003c|\\.\u003e)(\n (?# special case)\n (named \\s+ only)\n |\n (as \\s+ text)\n |\n (all (?!\\s*\\())\n |\n\n (?# unreserved)\n abort | abstract | access | after | alias |\n allow | annotation | applied | as | asc |\n assignment | before | blobal | branch | cardinality |\n cast | committed | config | conflict | cube |\n current | data | database | ddl | declare |\n default | deferrable | deferred | delegated | deny |\n desc | each | empty | extension | final |\n first | force | from | function | future |\n implicit | index | infix | inheritable | instance |\n into | isolation | last | link | migration |\n multi | object | of | only | onto |\n operator | optionality | order | orphan | overloaded |\n owned | package | permission | policy | populate |\n postfix | prefix | property | proposed | pseudo |\n read | reject | release | rename | repeatable |\n required | reset | restrict | rewrite | role |\n roles | rollup | savepoint | scalar | schema |\n sdl | serializable | session | source | superuser |\n system | target | template | ternary | then |\n to | transaction | trigger | type | unless |\n using | verbose | version | view | write\n |\n (?# reserved)\n administer | alter | analyze | and | anyarray |\n anyobject | anytuple | begin | by | case |\n check | commit | configure | create | deallocate |\n delete | describe | detached | discard | distinct |\n do | drop | else | end | except |\n exists | explain | extending | fetch | filter |\n for | get | global | grant | group |\n if | ilike | import | in | insert |\n intersect | introspect | is | like | limit |\n listen | load | lock | match | module |\n move | never | not | notify | offset |\n on | optional | or | over | partition |\n prepare | raise | refresh | revoke | rollback |\n select | set | single | start | typeof |\n union | update | variadic | when | window |\n with\n)\\b\n"}]},"link-properties":{"name":"support.other.linkproperty.edgeql","begin":"(\\@)","end":"(?\u003c=[[:alnum:]_`])","patterns":[{"include":"#identifier"},{"include":"#quoted-name"}]},"number":{"patterns":[{"name":"constant.numeric.float.edgeql","match":"(?x)\n (?:\n #decimal part\n \\.(_*)(?:[0-9](?:[0-9_]*[0-9])?)\n |\n # integer part\n \\b(?: [1-9](?: [0-9_]*[0-9] )? | 0 )\n (?:\\.(_*)[0-9](?:[0-9_]*[0-9])?)\n )\n ((_*)([eE][\\+\\-]?)(_*)[0-9](?:[0-9_]*[0-9])?)?\n\n (_*)\n \\b\n","captures":{"1":{"name":"invalid.illegal.dec.edgeql"},"2":{"name":"invalid.illegal.dec.edgeql"},"4":{"name":"invalid.illegal.dec.edgeql"},"5":{"name":"storage.type.number.edgeql"},"6":{"name":"invalid.illegal.dec.edgeql"},"7":{"name":"invalid.illegal.dec.edgeql"}}},{"name":"constant.numeric.float.edgeql","match":"(?x)\n (?:\n # integer part\n \\b(?:[1-9](?:[0-9_]*[0-9])?|0)\n )\n ((_*)([eE][\\+\\-]?)(_*)[0-9](?:[0-9_]*[0-9])?)\n\n (_*)\n \\b\n","captures":{"2":{"name":"invalid.illegal.dec.edgeql"},"3":{"name":"storage.type.number.edgeql"},"4":{"name":"invalid.illegal.dec.edgeql"},"5":{"name":"invalid.illegal.dec.edgeql"}}},{"name":"constant.numeric.decimal.edgeql","match":"(?x)\n (?:\n #decimal part\n \\.(_*)(?:[0-9](?:[0-9_]*[0-9])?)\n |\n # integer part\n \\b(?:[1-9](?:[0-9_]*[0-9])?|0)\n (?:\\.(_*)[0-9](?:[0-9_]*[0-9])?)?\n )\n ((_*)([eE][\\+\\-]?)(_*)[0-9](?:[0-9_]*[0-9])?)?\n\n (_*)\n (n)\n","captures":{"1":{"name":"invalid.illegal.dec.edgeql"},"2":{"name":"invalid.illegal.dec.edgeql"},"4":{"name":"invalid.illegal.dec.edgeql"},"5":{"name":"storage.type.number.edgeql"},"6":{"name":"invalid.illegal.dec.edgeql"},"7":{"name":"invalid.illegal.dec.edgeql"},"8":{"name":"storage.type.number.edgeql"}}},{"name":"constant.numeric.integer.edgeql","match":"(?x)\n (?:\n # integer part\n \\b(?:[1-9](?:[0-9_]*[0-9])?|0)\n )\n (_*)\n \\b\n","captures":{"1":{"name":"invalid.illegal.dec.edgeql"},"2":{"name":"invalid.illegal.dec.edgeql"}}}]},"operators":{"patterns":[{"name":"keyword.operator.navigation.edgeql","match":"(\\.[\u003c\u003e])"},{"name":"keyword.operator.namespace.edgeql","match":"(::)"},{"name":"keyword.declaration.edgeql","match":"-\u003e"},{"name":"punctuation.declaration.delimiter.edgeql","match":"(:(?!=))"},{"name":"keyword.operator.edgeql","match":"(?x)\n \\?\\!\\= | \\?\\? | \\?\\= | \\\u003e\\= | \\\u003c\\= | \\:\\= | \\/\\/ | \\+\\+ |\n \\!\\= | \\^ | \\\u003e | \\= | \\\u003c | \\/ | \\- | \\+ |\n \\* | \\%\n"}]},"parencommon":{"patterns":[{"name":"punctuation.separator.element.edgeql","match":"(,)"},{"name":"invalid.illegal.delimiter.edgeql","match":"(;)"}]},"parentheses":{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#expressions"},{"include":"#parencommon"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.edgeql"}}},"quoted-name":{"name":"string.interpolated.edgeql","match":"(`.*?`)"},"shape":{"begin":"(?=\\S)","end":"(?=\\})","patterns":[{"name":"punctuation.statement.delimiter.edgeql","match":"(;)"},{"include":"#expressions"},{"include":"#parencommon"}]},"squarebraces":{"begin":"(\\[)","end":"(\\])","patterns":[{"name":"keyword.operator.edgeql","match":"(^|\\b|\\s)(-\u003e)($|\\b|\\s)"},{"include":"#expressions"},{"include":"#parencommon"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.edgeql"}}},"string":{"patterns":[{"name":"string.quoted.raw.edgeql","begin":"(r)(['\"])","end":"(\\2)","beginCaptures":{"1":{"name":"storage.type.string.edgeql"},"2":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}},{"name":"string.quoted.edgeql","begin":"(['\"])","end":"(\\1)","patterns":[{"include":"#string-escapes"},{"include":"#string-invalid-escapes"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}},{"name":"string.dollar.edgeql","begin":"(\\$([[:alpha:]_][[:alnum:]]*)*\\$)","end":"(\\1)","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.edgeql"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.edgeql"}}}]},"string-escapes":{"name":"constant.character.escape.edgeql","match":"(?x)\n (\n \\\\(?=\\s*\\n) |\n \\\\[\\\\'\"bfnrt] |\n \\\\x[0-7][0-9a-fA-F] |\n \\\\u[0-9a-fA-F]{4} |\n \\\\U[0-9a-fA-F]{8}\n )\n"},"string-invalid-escapes":{"name":"invalid.illegal.escapes.edgeql","match":"(\\\\.)"},"types":{"patterns":[{"begin":"\\b(?\u003c!::|\\.)(tuple)\\s*(\u003c)","end":"(\u003e)","patterns":[{"include":"#types"},{"name":"punctuation.separator.type.edgeql","match":"(,)"},{"match":"(:)"},{"include":"#types-common"}],"beginCaptures":{"1":{"name":"storage.type.edgeql"},"2":{"name":"storage.type.placeholder.begin.edgeql"}},"endCaptures":{"1":{"name":"storage.type.placeholder.end.edgeql"}}},{"begin":"\\b(?\u003c!::|\\.)(array)\\s*(\u003c)","end":"(\u003e)","patterns":[{"name":"invalid.illegal.type.edgeql","match":"array"},{"include":"#types"},{"include":"#array-dimensions"},{"include":"#types-common"}],"beginCaptures":{"1":{"name":"storage.type.edgeql"},"2":{"name":"storage.type.placeholder.begin.edgeql"}},"endCaptures":{"1":{"name":"storage.type.placeholder.end.edgeql"}}},{"name":"storage.type.edgeql","match":"(?x) \\b(?\u003c!::|\\.)(\n array | tuple\n)\\b\n"},{"include":"#builtin-modules"},{"include":"#builtin-types"},{"include":"#builtin-indexes"}]},"types-common":{"patterns":[{"include":"#identifier"},{"name":"keyword.operator.namespace.edgeql","match":"(::)"}]},"values":{"patterns":[{"include":"#number"},{"include":"#bytes"},{"include":"#string"}]},"variables":{"name":"constant.language.variable.edgeql","begin":"(\\$)(?=[[:alnum:]_]|`)","end":"(?\u003c=[[:alnum:]_`])","patterns":[{"include":"#identifier"},{"include":"#quoted-name"},{"match":"(\\d)+"}]}}}