github-linguist 9.2.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.
- checksums.yaml +4 -4
- data/bin/github-linguist +23 -4
- data/grammars/injection.interpolated-ruby.json +1 -0
- data/grammars/injections.etc.json +1 -1
- data/grammars/inline.edgeql.json +1 -1
- data/grammars/markdown.move.codeblock.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.ash.json +1 -0
- data/grammars/source.ats.json +1 -1
- data/grammars/source.bru.json +1 -0
- data/grammars/source.c++.json +1 -1
- data/grammars/source.c.json +1 -1
- data/grammars/source.c.linker.json +1 -1
- data/grammars/source.c3.json +1 -0
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmakecache.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cooklang.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.dotenv.json +1 -1
- data/grammars/source.edgeql.json +1 -1
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.flix.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.gitignore.json +1 -1
- data/grammars/source.harbour.json +1 -1
- data/grammars/source.httpspec.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.ilecobol.json +1 -1
- data/grammars/source.inputrc.json +1 -1
- data/grammars/source.jai.json +1 -1
- data/grammars/source.jq.json +1 -1
- data/grammars/source.json.comments.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.lean4.json +1 -1
- data/grammars/source.luau.json +1 -1
- data/grammars/source.mermaid.flowchart.json +1 -1
- data/grammars/source.mermaid.gantt.json +1 -1
- data/grammars/source.mermaid.json +1 -1
- data/grammars/source.mermaid.pie-chart.json +1 -1
- data/grammars/source.mermaid.quad-chart.json +1 -0
- data/grammars/source.mermaid.sankey.json +1 -0
- data/grammars/source.mermaid.timeline.json +1 -0
- data/grammars/source.mermaid.user-journey.json +1 -1
- data/grammars/source.mermaid.zenuml.json +1 -0
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.move.json +1 -1
- data/grammars/source.nginx.json +1 -1
- data/grammars/source.nickel.json +1 -0
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nr.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.odin-ehr.json +1 -1
- data/grammars/source.openqasm.json +1 -1
- data/grammars/source.postscript.json +1 -1
- data/grammars/source.psl.json +1 -0
- data/grammars/source.quakec.json +1 -0
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.record-jar.json +1 -1
- data/grammars/source.rosmsg.json +1 -0
- data/grammars/source.sieve.json +1 -1
- data/grammars/source.slang.json +1 -1
- data/grammars/source.slint.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.templ.json +1 -1
- data/grammars/source.vba.json +1 -1
- data/grammars/source.vcl.json +1 -0
- data/grammars/source.vento.json +1 -1
- data/grammars/source.vhdl.json +1 -1
- data/grammars/source.vue.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.wesl.json +1 -0
- data/grammars/source.wgsl.json +1 -1
- data/grammars/source.wit.json +1 -1
- data/grammars/text.codeowners.json +1 -1
- data/grammars/text.html.jte.json +1 -1
- data/grammars/text.jira.json +1 -0
- data/grammars/text.marko.json +1 -1
- data/grammars/text.slim.json +1 -1
- data/grammars/text.srt.json +1 -1
- data/grammars/text.xml.svg.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +5 -5
- data/lib/linguist/generic.yml +2 -0
- data/lib/linguist/heuristics.yml +39 -8
- data/lib/linguist/instrumenter.rb +19 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +184 -92
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist.rb +1 -0
- metadata +20 -3
- data/grammars/source.varnish.vcl.json +0 -1
data/grammars/source.curlrc.json
CHANGED
@@ -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|\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|\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\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"}}}}}
|
data/grammars/source.dotenv.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":".env","scopeName":"source.dotenv","patterns":[{"include":"#main"}],"repository":{"comment":{"
|
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"}}}]}}}
|
data/grammars/source.edgeql.json
CHANGED
@@ -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)+"}]}}}
|
data/grammars/source.erlang.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Erlang","scopeName":"source.erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#doc-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"name":"constant.other.symbol.quoted.single.erlang","begin":"(')","end":"(')","patterns":[{"name":"constant.other.symbol.escape.erlang","match":"(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})","captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.atom.erlang","match":"\\\\\\^?.?"}],"beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}}},{"name":"constant.other.symbol.unquoted.erlang","match":"[a-z][a-zA-Z\\d@_]*+"}]},"behaviour-directive":{"name":"meta.directive.behaviour.erlang","match":"^\\s*+(-)\\s*+(behaviour)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},"binary":{"name":"meta.structure.binary.erlang","begin":"(\u003c\u003c)","end":"(\u003e\u003e)","patterns":[{"match":"(,)|(:)","captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}}},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}}},"character":{"patterns":[{"name":"constant.character.erlang","match":"(\\$)((\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2}))","captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.character.erlang","match":"\\$\\\\\\^?.?"},{"name":"constant.character.erlang","match":"(\\$)[ \\S]","captures":{"1":{"name":"punctuation.definition.character.erlang"}}},{"name":"invalid.illegal.character.erlang","match":"\\$.?"}]},"comment":{"begin":"(^[ \\t]+)?(?=%)","end":"(?!\\G)","patterns":[{"name":"comment.line.percentage.erlang","begin":"%","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}}},"define-directive":{"patterns":[{"name":"meta.directive.define.erlang","begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.define.erlang","begin":"(?=^\\s*+-\\s*+define\\s*+\\(\\s*+[a-zA-Z\\d@_]++\\s*+\\()","end":"(\\))\\s*+(\\.)","patterns":[{"begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+(\\()","end":"(\\))\\s*(,)","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}}},{"name":"punctuation.separator.define.erlang","match":"\\|\\||\\||:|;|,|\\.|-\u003e"},{"include":"#everything-else"}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}}]},"directive":{"patterns":[{"name":"meta.directive.erlang","begin":"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\(?)","end":"(\\)?)\\s*+(\\.)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.erlang","match":"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}}}]},"doc-directive":{"name":"meta.directive.doc.erlang","begin":"^\\s*+(-)\\s*+((module)?doc)\\s*([(]\\s*)?(~[bBsS]?)?(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\7))\\s*([)]\\s*)?(\\.)","patterns":[{"contentName":"comment.block.documentation.erlang","begin":"\\G","while":"(^)(?!\\s*(\\5))"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.doc.erlang"},"4":{"name":"punctuation.definition.parameters.begin.erlang"},"5":{"name":"storage.type.string.erlang"},"6":{"name":"comment.block.documentation.erlang"},"7":{"name":"punctuation.definition.string.begin.erlang"},"8":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"comment.block.documentation.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"},"3":{"name":"punctuation.section.directive.end.Erlang"}}},"docstring":{"name":"string.quoted.triple.erlang","begin":"(?\u003c!\")(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\2))(?!\")","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}}},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-docstring-verbatim"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"name":"meta.expression.if.erlang","begin":"\\b(if)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.case.erlang","begin":"\\b(case)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.receive.erlang","begin":"\\b(receive)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","match":"\\b(fun)\\s+((([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*(/)","captures":{"1":{"name":"keyword.control.fun.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","begin":"\\b(fun)\\s+(([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)","end":"(/)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","begin":"\\b(fun)\\s+(?!\\()","end":"(/)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}}},{"begin":"\\b(fun)\\s*+(\\()(?=(\\s*+\\()|(\\)))","end":"(\\))","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},{"name":"meta.expression.fun.erlang","begin":"\\b(fun)\\b","end":"\\b(end)\\b","patterns":[{"begin":"(?=\\()","end":"(;)|(?=\\bend\\b)","patterns":[{"include":"#internal-function-parts"}],"endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.try.erlang","begin":"\\b(try)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.begin.erlang","begin":"\\b(begin)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.maybe.erlang","begin":"\\b(maybe)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}}]},"function":{"name":"meta.function.erlang","begin":"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()","end":"(\\.)","patterns":[{"match":"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()","captures":{"1":{"name":"entity.name.function.erlang"}}},{"begin":"(?=\\()","end":"(;)|(?=\\.)","patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}],"endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}}},"function-call":{"name":"meta.function-call.erlang","begin":"(?=([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+(\\(|:\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+\\())","end":"(\\))","patterns":[{"begin":"((erlang)\\s*+(:)\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\s*+(\\()","end":"(?=\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}}},{"begin":"((([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(\\()","end":"(?=\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}}}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},"import-export-directive":{"patterns":[{"name":"meta.directive.import.erlang","begin":"^\\s*+(-)\\s*+(import)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-function-list"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.export.erlang","begin":"^\\s*+(-)\\s*+(export)\\s*+(\\()","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-function-list"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}}]},"internal-expression-punctuation":{"match":"(-\u003e)|(;)|(,)","captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}}},"internal-function-list":{"name":"meta.structure.list.function.erlang","begin":"(\\[)","end":"(\\])","patterns":[{"begin":"([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(/)","end":"(,)|(?=\\])","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}}},"internal-function-parts":{"patterns":[{"begin":"(?=\\()","end":"(-\u003e)","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},{"name":"punctuation.separator.guards.erlang","match":",|;"},{"include":"#everything-else"}],"endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}}},{"name":"punctuation.separator.expressions.erlang","match":","},{"include":"#everything-else"}]},"internal-record-body":{"name":"meta.structure.record.erlang","begin":"(\\{)","end":"(\\})","patterns":[{"begin":"(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_))","end":"(,)|(?=\\})","patterns":[{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}}},"internal-string-body":{"patterns":[{"name":"constant.character.escape.erlang","match":"(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})","captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.string.erlang","match":"\\\\\\^?.?"},{"include":"#internal-string-body-verbatim"}]},"internal-string-body-verbatim":{"patterns":[{"name":"constant.character.format.placeholder.other.erlang","match":"(~)((\\-)?\\d++|(\\*))?((\\.)(\\d++|(\\*))?((\\.)((\\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx\\+ni]","captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"}}},{"name":"constant.character.format.placeholder.other.erlang","match":"(~)(\\*)?(\\d++)?(t)?[~du\\-#fsacl]","captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}}},{"name":"invalid.illegal.string.erlang","match":"~[^\"]?"}]},"internal-type-specifiers":{"begin":"(/)","end":"(?=,|:|\u003e\u003e)","patterns":[{"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|(signed|unsigned)|(big|little|native)|(unit)(:)(\\d++)|(-)","captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}}},"keyword":{"name":"keyword.control.erlang","match":"\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\b"},"language-constant":{"name":"constant.language","match":"\\b(false|true|undefined)\\b"},"list":{"name":"meta.structure.list.erlang","begin":"(\\[)","end":"(\\])","patterns":[{"name":"punctuation.separator.list.erlang","match":"\\||\\|\\||,"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}}},"macro-directive":{"patterns":[{"name":"meta.directive.ifdef.erlang","match":"^\\s*+(-)\\s*+(ifdef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.ifndef.erlang","match":"^\\s*+(-)\\s*+(ifndef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.undef.erlang","match":"^\\s*+(-)\\s*+(undef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}}]},"macro-usage":{"name":"meta.macro-usage.erlang","match":"(\\?\\??)\\s*+([a-zA-Z\\d@_]++)","captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}}},"module-directive":{"name":"meta.directive.module.erlang","match":"^\\s*+(-)\\s*+(module)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},"number":{"begin":"(?=\\d)","end":"(?!\\d)","patterns":[{"name":"constant.numeric.float.erlang","match":"\\d++(\\.)\\d++([eE][\\+\\-]?\\d++)?","captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}}},{"name":"constant.numeric.integer.binary.erlang","match":"2(#)([0-1]++_)*[0-1]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-3.erlang","match":"3(#)([0-2]++_)*[0-2]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-4.erlang","match":"4(#)([0-3]++_)*[0-3]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-5.erlang","match":"5(#)([0-4]++_)*[0-4]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-6.erlang","match":"6(#)([0-5]++_)*[0-5]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-7.erlang","match":"7(#)([0-6]++_)*[0-6]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.octal.erlang","match":"8(#)([0-7]++_)*[0-7]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-9.erlang","match":"9(#)([0-8]++_)*[0-8]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.decimal.erlang","match":"10(#)(\\d++_)*\\d++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-11.erlang","match":"11(#)([\\daA]++_)*[\\daA]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-12.erlang","match":"12(#)([\\da-bA-B]++_)*[\\da-bA-B]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-13.erlang","match":"13(#)([\\da-cA-C]++_)*[\\da-cA-C]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-14.erlang","match":"14(#)([\\da-dA-D]++_)*[\\da-dA-D]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-15.erlang","match":"15(#)([\\da-eA-E]++_)*[\\da-eA-E]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.hexadecimal.erlang","match":"16(#)([\\da-fA-F]++_)*[\\da-fA-F]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-17.erlang","match":"17(#)([\\da-gA-G]++_)*[\\da-gA-G]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-18.erlang","match":"18(#)([\\da-hA-H]++_)*[\\da-hA-H]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-19.erlang","match":"19(#)([\\da-iA-I]++_)*[\\da-iA-I]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-20.erlang","match":"20(#)([\\da-jA-J]++_)*[\\da-jA-J]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-21.erlang","match":"21(#)([\\da-kA-K]++_)*[\\da-kA-K]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-22.erlang","match":"22(#)([\\da-lA-L]++_)*[\\da-lA-L]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-23.erlang","match":"23(#)([\\da-mA-M]++_)*[\\da-mA-M]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-24.erlang","match":"24(#)([\\da-nA-N]++_)*[\\da-nA-N]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-25.erlang","match":"25(#)([\\da-oA-O]++_)*[\\da-oA-O]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-26.erlang","match":"26(#)([\\da-pA-P]++_)*[\\da-pA-P]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-27.erlang","match":"27(#)([\\da-qA-Q]++_)*[\\da-qA-Q]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-28.erlang","match":"28(#)([\\da-rA-R]++_)*[\\da-rA-R]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-29.erlang","match":"29(#)([\\da-sA-S]++_)*[\\da-sA-S]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-30.erlang","match":"30(#)([\\da-tA-T]++_)*[\\da-tA-T]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-31.erlang","match":"31(#)([\\da-uA-U]++_)*[\\da-uA-U]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-32.erlang","match":"32(#)([\\da-vA-V]++_)*[\\da-vA-V]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-33.erlang","match":"33(#)([\\da-wA-W]++_)*[\\da-wA-W]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-34.erlang","match":"34(#)([\\da-xA-X]++_)*[\\da-xA-X]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-35.erlang","match":"35(#)([\\da-yA-Y]++_)*[\\da-yA-Y]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-36.erlang","match":"36(#)([\\da-zA-Z]++_)*[\\da-zA-Z]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"invalid.illegal.integer.erlang","match":"\\d++#([\\da-zA-Z]++_)*[\\da-zA-Z]++"},{"name":"constant.numeric.integer.decimal.erlang","match":"(\\d++_)*\\d++"}]},"parenthesized-expression":{"name":"meta.expression.parenthesized","begin":"(\\()","end":"(\\))","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}}},"record-directive":{"name":"meta.directive.record.erlang","begin":"^\\s*+(-)\\s*+(record)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},"record-usage":{"patterns":[{"name":"meta.record-usage.erlang","match":"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(\\.)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')","captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}}},{"name":"meta.record-usage.erlang","begin":"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')","end":"(?\u003c=\\})","patterns":[{"include":"#internal-record-body"}],"beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}}}]},"sigil-docstring":{"name":"string.quoted.tripple.sigil.erlang","begin":"(~[bs])(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\3))(?!\")","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-docstring-verbatim":{"name":"string.quoted.tripple.sigil.erlang","begin":"(~[BS]?)(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\3))(?!\")","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"name":"string.quoted.curly-brackets.sigil.erlang","begin":"(~[bs]?)([{])","end":"([}])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-curly-brackets-verbatim":{"name":"string.quoted.curly-brackets.sigil.erlang","begin":"(~[BS])([{])","end":"([}])","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-double-quote":{"name":"string.quoted.double.sigil.erlang","begin":"(~[bs]?)(\")","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-double-quote-verbatim":{"name":"string.quoted.double.sigil.erlang","begin":"(~[BS])(\")","end":"(\\2)","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-less-greater":{"name":"string.quoted.less-greater.sigil.erlang","begin":"(~[bs]?)(\u003c)","end":"(\u003e)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-less-greater-verbatim":{"name":"string.quoted.less-greater.sigil.erlang","begin":"(~[BS])(\u003c)","end":"(\u003e)","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-parenthesis":{"name":"string.quoted.parenthesis.sigil.erlang","begin":"(~[bs]?)([(])","end":"([)])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-parenthesis-verbatim":{"name":"string.quoted.parenthesis.sigil.erlang","begin":"(~[BS])([(])","end":"([)])","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-character":{"name":"string.quoted.other.sigil.erlang","begin":"(~[bs]?)([/\\|`#])","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-character-verbatim":{"name":"string.quoted.other.sigil.erlang","begin":"(~[BS])([/\\|`#])","end":"(\\2)","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-quote":{"name":"string.quoted.single.sigil.erlang","begin":"(~[bs]?)(')","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-quote-verbatim":{"name":"string.quoted.single.sigil.erlang","begin":"(~[BS])(')","end":"(\\2)","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-square-brackets":{"name":"string.quoted.square-brackets.sigil.erlang","begin":"(~[bs]?)([\\[])","end":"([\\]])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-square-brackets-verbatim":{"name":"string.quoted.square-brackets.sigil.erlang","begin":"(~[BS])([\\[])","end":"([\\]])","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"string":{"name":"string.quoted.double.erlang","begin":"(\")","end":"(\")","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"symbolic-operator":{"name":"keyword.operator.symbolic.erlang","match":"\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=\u003c|=|\u003c-|\u003c|\u003e=|\u003e|!|::|\\?="},"textual-operator":{"name":"keyword.operator.textual.erlang","match":"\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b"},"tuple":{"name":"meta.structure.tuple.erlang","begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.tuple.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}}},"variable":{"match":"(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)|(_)","captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}}}}}
|
1
|
+
{"name":"Erlang","scopeName":"source.erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#doc-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"name":"constant.other.symbol.quoted.single.erlang","begin":"(')","end":"(')","patterns":[{"name":"constant.other.symbol.escape.erlang","match":"(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})","captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.atom.erlang","match":"\\\\\\^?.?"}],"beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}}},{"name":"constant.other.symbol.unquoted.erlang","match":"[a-z][a-zA-Z\\d@_]*+"}]},"behaviour-directive":{"name":"meta.directive.behaviour.erlang","match":"^\\s*+(-)\\s*+(behaviour)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},"binary":{"name":"meta.structure.binary.erlang","begin":"(\u003c\u003c)","end":"(\u003e\u003e)","patterns":[{"match":"(,)|(:)","captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}}},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}}},"character":{"patterns":[{"name":"constant.character.erlang","match":"(\\$)((\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2}))","captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.character.erlang","match":"\\$\\\\\\^?.?"},{"name":"constant.character.erlang","match":"(\\$)[ \\S]","captures":{"1":{"name":"punctuation.definition.character.erlang"}}},{"name":"invalid.illegal.character.erlang","match":"\\$.?"}]},"comment":{"begin":"(^[ \\t]+)?(?=%)","end":"(?!\\G)","patterns":[{"name":"comment.line.percentage.erlang","begin":"%","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}}},"define-directive":{"patterns":[{"name":"meta.directive.define.erlang","begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.define.erlang","begin":"(?=^\\s*+-\\s*+define\\s*+\\(\\s*+[a-zA-Z\\d@_]++\\s*+\\()","end":"(\\))\\s*+(\\.)","patterns":[{"begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+(\\()","end":"(\\))\\s*(,)","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}}},{"name":"punctuation.separator.define.erlang","match":"\\|\\||\\||:|;|,|\\.|-\u003e"},{"include":"#everything-else"}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}}]},"directive":{"patterns":[{"name":"meta.directive.erlang","begin":"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\(?)","end":"(\\)?)\\s*+(\\.)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.erlang","match":"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}}}]},"doc-directive":{"name":"meta.directive.doc.erlang","contentName":"meta.embedded.block.markdown","begin":"^\\s*+(-)\\s*+((module)?doc)\\s*([(]\\s*)?(~[bBsS]?)?(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\7))\\s*([)]\\s*)?(\\.)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.doc.erlang"},"4":{"name":"punctuation.definition.parameters.begin.erlang"},"5":{"name":"storage.type.string.erlang"},"6":{"name":"comment.block.documentation.erlang"},"7":{"name":"punctuation.definition.string.begin.erlang"},"8":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"comment.block.documentation.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"},"3":{"name":"punctuation.section.directive.end.Erlang"}}},"docstring":{"name":"string.quoted.triple.erlang","begin":"(?\u003c!\")(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\2))(?!\")","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}}},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-docstring-verbatim"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"name":"meta.expression.if.erlang","begin":"\\b(if)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.case.erlang","begin":"\\b(case)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.receive.erlang","begin":"\\b(receive)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","match":"\\b(fun)\\s+((([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*(/)","captures":{"1":{"name":"keyword.control.fun.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","begin":"\\b(fun)\\s+(([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)","end":"(/)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","begin":"\\b(fun)\\s+(?!\\()","end":"(/)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}}},{"begin":"\\b(fun)\\s*+(\\()(?=(\\s*+\\()|(\\)))","end":"(\\))","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},{"name":"meta.expression.fun.erlang","begin":"\\b(fun)\\b","end":"\\b(end)\\b","patterns":[{"begin":"(?=\\()","end":"(;)|(?=\\bend\\b)","patterns":[{"include":"#internal-function-parts"}],"endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.try.erlang","begin":"\\b(try)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.begin.erlang","begin":"\\b(begin)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.maybe.erlang","begin":"\\b(maybe)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}}]},"function":{"name":"meta.function.erlang","begin":"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()","end":"(\\.)","patterns":[{"match":"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()","captures":{"1":{"name":"entity.name.function.erlang"}}},{"begin":"(?=\\()","end":"(;)|(?=\\.)","patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}],"endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}}},"function-call":{"name":"meta.function-call.erlang","begin":"(?=([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+(\\(|:\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+\\())","end":"(\\))","patterns":[{"begin":"((erlang)\\s*+(:)\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\s*+(\\()","end":"(?=\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}}},{"begin":"((([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(\\()","end":"(?=\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}}}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},"import-export-directive":{"patterns":[{"name":"meta.directive.import.erlang","begin":"^\\s*+(-)\\s*+(import)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-function-list"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.export.erlang","begin":"^\\s*+(-)\\s*+(export)\\s*+(\\()","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-function-list"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}}]},"internal-expression-punctuation":{"match":"(-\u003e)|(;)|(,)","captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}}},"internal-function-list":{"name":"meta.structure.list.function.erlang","begin":"(\\[)","end":"(\\])","patterns":[{"begin":"([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(/)","end":"(,)|(?=\\])","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}}},"internal-function-parts":{"patterns":[{"begin":"(?=\\()","end":"(-\u003e)","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},{"name":"punctuation.separator.guards.erlang","match":",|;"},{"include":"#everything-else"}],"endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}}},{"name":"punctuation.separator.expressions.erlang","match":","},{"include":"#everything-else"}]},"internal-record-body":{"name":"meta.structure.record.erlang","begin":"(\\{)","end":"(\\})","patterns":[{"begin":"(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_))","end":"(,)|(?=\\})","patterns":[{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}}},"internal-string-body":{"patterns":[{"name":"constant.character.escape.erlang","match":"(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})","captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.string.erlang","match":"\\\\\\^?.?"},{"include":"#internal-string-body-verbatim"}]},"internal-string-body-verbatim":{"patterns":[{"name":"constant.character.format.placeholder.other.erlang","match":"(~)((\\-)?\\d++|(\\*))?((\\.)(\\d++|(\\*))?((\\.)((\\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx\\+ni]","captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"}}},{"name":"constant.character.format.placeholder.other.erlang","match":"(~)(\\*)?(\\d++)?(t)?[~du\\-#fsacl]","captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}}},{"name":"invalid.illegal.string.erlang","match":"~[^\"]?"}]},"internal-type-specifiers":{"begin":"(/)","end":"(?=,|:|\u003e\u003e)","patterns":[{"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|(signed|unsigned)|(big|little|native)|(unit)(:)(\\d++)|(-)","captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}}},"keyword":{"name":"keyword.control.erlang","match":"\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\b"},"language-constant":{"name":"constant.language","match":"\\b(false|true|undefined)\\b"},"list":{"name":"meta.structure.list.erlang","begin":"(\\[)","end":"(\\])","patterns":[{"name":"punctuation.separator.list.erlang","match":"\\||\\|\\||,"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}}},"macro-directive":{"patterns":[{"name":"meta.directive.ifdef.erlang","match":"^\\s*+(-)\\s*+(ifdef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.ifndef.erlang","match":"^\\s*+(-)\\s*+(ifndef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.undef.erlang","match":"^\\s*+(-)\\s*+(undef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}}]},"macro-usage":{"name":"meta.macro-usage.erlang","match":"(\\?\\??)\\s*+([a-zA-Z\\d@_]++)","captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}}},"module-directive":{"name":"meta.directive.module.erlang","match":"^\\s*+(-)\\s*+(module)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},"number":{"begin":"(?=\\d)","end":"(?!\\d)","patterns":[{"name":"constant.numeric.float.erlang","match":"\\d++(\\.)\\d++([eE][\\+\\-]?\\d++)?","captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}}},{"name":"constant.numeric.integer.binary.erlang","match":"2(#)([0-1]++_)*[0-1]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-3.erlang","match":"3(#)([0-2]++_)*[0-2]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-4.erlang","match":"4(#)([0-3]++_)*[0-3]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-5.erlang","match":"5(#)([0-4]++_)*[0-4]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-6.erlang","match":"6(#)([0-5]++_)*[0-5]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-7.erlang","match":"7(#)([0-6]++_)*[0-6]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.octal.erlang","match":"8(#)([0-7]++_)*[0-7]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-9.erlang","match":"9(#)([0-8]++_)*[0-8]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.decimal.erlang","match":"10(#)(\\d++_)*\\d++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-11.erlang","match":"11(#)([\\daA]++_)*[\\daA]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-12.erlang","match":"12(#)([\\da-bA-B]++_)*[\\da-bA-B]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-13.erlang","match":"13(#)([\\da-cA-C]++_)*[\\da-cA-C]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-14.erlang","match":"14(#)([\\da-dA-D]++_)*[\\da-dA-D]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-15.erlang","match":"15(#)([\\da-eA-E]++_)*[\\da-eA-E]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.hexadecimal.erlang","match":"16(#)([\\da-fA-F]++_)*[\\da-fA-F]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-17.erlang","match":"17(#)([\\da-gA-G]++_)*[\\da-gA-G]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-18.erlang","match":"18(#)([\\da-hA-H]++_)*[\\da-hA-H]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-19.erlang","match":"19(#)([\\da-iA-I]++_)*[\\da-iA-I]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-20.erlang","match":"20(#)([\\da-jA-J]++_)*[\\da-jA-J]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-21.erlang","match":"21(#)([\\da-kA-K]++_)*[\\da-kA-K]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-22.erlang","match":"22(#)([\\da-lA-L]++_)*[\\da-lA-L]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-23.erlang","match":"23(#)([\\da-mA-M]++_)*[\\da-mA-M]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-24.erlang","match":"24(#)([\\da-nA-N]++_)*[\\da-nA-N]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-25.erlang","match":"25(#)([\\da-oA-O]++_)*[\\da-oA-O]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-26.erlang","match":"26(#)([\\da-pA-P]++_)*[\\da-pA-P]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-27.erlang","match":"27(#)([\\da-qA-Q]++_)*[\\da-qA-Q]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-28.erlang","match":"28(#)([\\da-rA-R]++_)*[\\da-rA-R]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-29.erlang","match":"29(#)([\\da-sA-S]++_)*[\\da-sA-S]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-30.erlang","match":"30(#)([\\da-tA-T]++_)*[\\da-tA-T]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-31.erlang","match":"31(#)([\\da-uA-U]++_)*[\\da-uA-U]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-32.erlang","match":"32(#)([\\da-vA-V]++_)*[\\da-vA-V]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-33.erlang","match":"33(#)([\\da-wA-W]++_)*[\\da-wA-W]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-34.erlang","match":"34(#)([\\da-xA-X]++_)*[\\da-xA-X]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-35.erlang","match":"35(#)([\\da-yA-Y]++_)*[\\da-yA-Y]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-36.erlang","match":"36(#)([\\da-zA-Z]++_)*[\\da-zA-Z]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"invalid.illegal.integer.erlang","match":"\\d++#([\\da-zA-Z]++_)*[\\da-zA-Z]++"},{"name":"constant.numeric.integer.decimal.erlang","match":"(\\d++_)*\\d++"}]},"parenthesized-expression":{"name":"meta.expression.parenthesized","begin":"(\\()","end":"(\\))","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}}},"record-directive":{"name":"meta.directive.record.erlang","begin":"^\\s*+(-)\\s*+(record)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},"record-usage":{"patterns":[{"name":"meta.record-usage.erlang","match":"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(\\.)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')","captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}}},{"name":"meta.record-usage.erlang","begin":"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')","end":"(?\u003c=\\})","patterns":[{"include":"#internal-record-body"}],"beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}}}]},"sigil-docstring":{"name":"string.quoted.tripple.sigil.erlang","begin":"(~[bs])(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\3))(?!\")","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-docstring-verbatim":{"name":"string.quoted.tripple.sigil.erlang","begin":"(~[BS]?)(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\3))(?!\")","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"name":"string.quoted.curly-brackets.sigil.erlang","begin":"(~[bs]?)([{])","end":"([}])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-curly-brackets-verbatim":{"name":"string.quoted.curly-brackets.sigil.erlang","begin":"(~[BS])([{])","end":"([}])","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-double-quote":{"name":"string.quoted.double.sigil.erlang","begin":"(~[bs]?)(\")","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-double-quote-verbatim":{"name":"string.quoted.double.sigil.erlang","begin":"(~[BS])(\")","end":"(\\2)","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-less-greater":{"name":"string.quoted.less-greater.sigil.erlang","begin":"(~[bs]?)(\u003c)","end":"(\u003e)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-less-greater-verbatim":{"name":"string.quoted.less-greater.sigil.erlang","begin":"(~[BS])(\u003c)","end":"(\u003e)","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-parenthesis":{"name":"string.quoted.parenthesis.sigil.erlang","begin":"(~[bs]?)([(])","end":"([)])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-parenthesis-verbatim":{"name":"string.quoted.parenthesis.sigil.erlang","begin":"(~[BS])([(])","end":"([)])","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-character":{"name":"string.quoted.other.sigil.erlang","begin":"(~[bs]?)([/\\|`#])","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-character-verbatim":{"name":"string.quoted.other.sigil.erlang","begin":"(~[BS])([/\\|`#])","end":"(\\2)","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-quote":{"name":"string.quoted.single.sigil.erlang","begin":"(~[bs]?)(')","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-quote-verbatim":{"name":"string.quoted.single.sigil.erlang","begin":"(~[BS])(')","end":"(\\2)","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-square-brackets":{"name":"string.quoted.square-brackets.sigil.erlang","begin":"(~[bs]?)([\\[])","end":"([\\]])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-square-brackets-verbatim":{"name":"string.quoted.square-brackets.sigil.erlang","begin":"(~[BS])([\\[])","end":"([\\]])","patterns":[{"include":"#internal-string-body-verbatim"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"string":{"name":"string.quoted.double.erlang","begin":"(\")","end":"(\")","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"symbolic-operator":{"name":"keyword.operator.symbolic.erlang","match":"\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=\u003c|=|\u003c-|\u003c|\u003e=|\u003e|!|::|\\?="},"textual-operator":{"name":"keyword.operator.textual.erlang","match":"\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b"},"tuple":{"name":"meta.structure.tuple.erlang","begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.tuple.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}}},"variable":{"match":"(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)|(_)","captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}}}}}
|