github-linguist 7.20.0 → 7.22.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +584 -498
  3. data/ext/linguist/lex.linguist_yy.h +2 -3
  4. data/ext/linguist/tokenizer.l +52 -15
  5. data/grammars/source.abap.json +1 -1
  6. data/grammars/source.abl.json +1 -1
  7. data/grammars/source.astro.json +1 -1
  8. data/grammars/source.ats.json +1 -1
  9. data/grammars/source.ballerina.json +1 -1
  10. data/grammars/source.bms.json +1 -1
  11. data/grammars/source.brs.json +1 -0
  12. data/grammars/source.cairo.json +1 -1
  13. data/grammars/source.cds.json +1 -0
  14. data/grammars/source.clarion.json +1 -1
  15. data/grammars/source.cobol.json +1 -1
  16. data/grammars/source.css.json +1 -1
  17. data/grammars/source.csswg.json +1 -0
  18. data/grammars/source.curlrc.json +1 -1
  19. data/grammars/source.curry.json +1 -1
  20. data/grammars/source.denizenscript.json +1 -1
  21. data/grammars/source.ditroff.json +1 -1
  22. data/grammars/source.fsharp.json +1 -1
  23. data/grammars/source.gcode.json +1 -1
  24. data/grammars/source.gdresource.json +1 -0
  25. data/grammars/source.gdscript.json +1 -1
  26. data/grammars/source.gdshader.json +1 -0
  27. data/grammars/source.git-revlist.json +1 -0
  28. data/grammars/source.hack.json +1 -1
  29. data/grammars/source.hlasm.json +1 -1
  30. data/grammars/source.hx.json +1 -1
  31. data/grammars/source.icurry.json +1 -1
  32. data/grammars/source.jsligo.json +1 -0
  33. data/grammars/source.json.json +1 -1
  34. data/grammars/source.julia.json +1 -1
  35. data/grammars/source.livescript.json +1 -1
  36. data/grammars/source.miniyaml.json +1 -1
  37. data/grammars/source.mlir.json +1 -1
  38. data/grammars/source.mo.json +1 -1
  39. data/grammars/source.move.json +1 -0
  40. data/grammars/source.nix.json +1 -1
  41. data/grammars/source.pony.json +1 -1
  42. data/grammars/source.portugol.json +1 -0
  43. data/grammars/source.rego.json +1 -1
  44. data/grammars/source.renpy.json +1 -1
  45. data/grammars/source.rescript.json +1 -1
  46. data/grammars/source.rpgle.json +1 -1
  47. data/grammars/source.rsc.json +1 -0
  48. data/grammars/source.scala.json +1 -1
  49. data/grammars/source.solidity.json +1 -1
  50. data/grammars/source.sqf.json +1 -1
  51. data/grammars/source.star.json +1 -0
  52. data/grammars/source.stl.json +1 -0
  53. data/grammars/source.svelte.json +1 -1
  54. data/grammars/source.ts.json +1 -1
  55. data/grammars/source.tsx.json +1 -1
  56. data/grammars/source.v.json +1 -1
  57. data/grammars/source.velocity.html.json +1 -0
  58. data/grammars/source.velocity.json +1 -0
  59. data/grammars/source.whiley.json +1 -0
  60. data/grammars/source.wren.json +1 -0
  61. data/grammars/source.wsd.json +1 -1
  62. data/grammars/source.yul.json +1 -0
  63. data/grammars/text.hash-commented.json +1 -0
  64. data/grammars/text.html.statamic.json +1 -0
  65. data/grammars/text.srt.json +1 -1
  66. data/grammars/text.vtt.json +1 -0
  67. data/grammars/version +1 -1
  68. data/lib/linguist/VERSION +1 -1
  69. data/lib/linguist/blob_helper.rb +2 -2
  70. data/lib/linguist/generic.yml +1 -0
  71. data/lib/linguist/heuristics.yml +22 -1
  72. data/lib/linguist/language.rb +3 -4
  73. data/lib/linguist/languages.json +1 -1
  74. data/lib/linguist/languages.yml +218 -4
  75. data/lib/linguist/samples.json +1 -1
  76. data/lib/linguist/vendor.yml +4 -1
  77. metadata +30 -13
  78. data/grammars/source.brightauthorproject.json +0 -1
  79. data/grammars/source.brightscript.json +0 -1
  80. data/grammars/source.vtt.json +0 -1
@@ -0,0 +1 @@
1
+ {"name":"Bikeshed","scopeName":"source.csswg","patterns":[{"name":"string.quoted.double.csswg","match":"\u003c\u003c[^\u003e]+\u003e\u003e"},{"name":"string.quoted.double.csswg","match":"\u003c\\{[^}]+\\}\u003e"},{"name":"string.quoted.double.csswg","begin":"{{","end":"\\}\\}"},{"name":"string.quoted.double.csswg","begin":"\\[=","end":"=]"},{"name":"constant.other.biblioLink.csswg","match":"\\[\\[[^\\]]+\\]\\]"},{"name":"constant.language.csswg","match":"\\[[^\\]]+\\]"},{"name":"string.quoted.double.csswg","begin":"''","end":"''"},{"name":"string.quoted.single.csswg","match":"(?\u003c!\\w)'[^']+'"},{"name":"invalid.illegal.heading.csswg","begin":"\u003ch\\d","end":"\u003c/h\\d\u003e"},{"name":"variable.parameter.definition.csswg","begin":"\u003cdfn[^\u003e]*\u003e","end":"\u003c/dfn\u003e"},{"name":"string.quoted.double.csswg","begin":"\u003ca[ \u003e]","end":"\u003c/a\u003e"},{"name":"entity.production.csswg","begin":"\u003cpre\\s+class=.*?prod.*?\u003e","end":"\u003c/pre\u003e","patterns":[{"include":"#production"},{"include":"#definition"}]},{"name":"entity.metadata.csswg","begin":"\u003cpre\\s+class=.*?metadata.*?\u003e","end":"\u003c/pre\u003e","patterns":[{"match":"^(?i)(Abstract|Advisement Class|Assertion Class|Assume Explicit For|At Risk|Audience|Block Elements|Boilerplate|Can I Use Url|Canonical Url|Complain About|Custom Warning Text|Custom Warning Title|Date|Deadline|Default Biblio Status|Default Highlight|Default Ref Status|ED|Editor|Editor Term|Former Editor|Group|H1|Ignore Can I Use Url Failure|Ignored Terms|Ignored Vars|Include Can I Use Panels|Indent|Infer Css Dfns|Inline Github Issues|Issue Class|Issue Tracker Template|Issue Tracking|Level|Line Numbers|Link Defaults|Logo|Mailing List Archives|Mailing List|Markup Shorthands|Max Toc Depth|No Editor|Note Class|Opaque Elements|Prepare For Tr|Previous Version|Repository|Revision|Shortname|Status Text|Status|Test Suite|Text Macro|Title|Toggle Diffs|TR|Translate Ids|Translation|URL|Use \u003cI\u003e Autolinks|Use Dfn Panels|Version History|Warning|Work Status)\\s*:\\s*(.*)$","captures":{"1":{"name":"keyword.other.knownKeyName.csswg"},"2":{"name":"string.unquoted.csswg"}}},{"match":"^\\s*(![\\w -]+)\\s*:\\s*(.*)$","captures":{"1":{"name":"variable.other.customKeyName.csswg"},"2":{"name":"string.unquoted.csswg"}}},{"match":"^\\s*([\\w -]+)\\s*:\\s*.*$","captures":{"1":{"name":"invalid.illegal.unknownKeyName.csswg"}}}]},{"name":"entity.propdef.csswg","begin":"\u003cpre\\s+class=.*?(propdef|descdef).*?\u003e","end":"\u003c/pre\u003e","patterns":[{"match":"^\\s*(?i)(Name|Value|For|Initial|Applies to|Inherited|Percentages|Media|Computed value|Animation type|Canonical order)\\s*:\\s*(.*)$","captures":{"1":{"name":"keyword.other.keyName.csswg"},"2":{"name":"string.unquoted.csswg"}}},{"match":"^\\s*([\\w -]+)\\s*:\\s*(.*)$","captures":{"1":{"name":"variable.other.unknownKeyName.csswg"},"2":{"name":"string.unquoted.csswg"}}}]},{"name":"entity.name.tag.csswg","begin":"\u003c/?[a-z]","end":"\u003e"}],"repository":{"definition":{"name":"variable.parameter.definition.csswg","begin":"\u003cdfn( |\u003e)","end":"\u003c/dfn\u003e"},"production":{"name":"constant.other.production.csswg","match":"\u003c\u003c[^\u003e]+\u003e\u003e"}}}
@@ -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":"^#","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|^) \\s*\n(\n\t(--)?\n\t(?:anyauth|append|basic|cert-status|compressed-ssh|compressed|create-dirs|crlf|digest\n\t|disable-eprt|disable-epsv|disable|disallow-username-in-url|fail-early|fail|false-start\n\t|ftp-create-dirs|ftp-pasv|ftp-pret|ftp-skip-pasv-ip|ftp-ssl-ccc|ftp-ssl-control|get\n\t|globoff|haproxy-protocol|head|help|http1\\.[01]|http2(?:-prior-knowledge)?\n\t|ignore-content-length|include|insecure|ipv[46]|junk-session-cookies|list-only\n\t|location-trusted|location|manual|metalink|negotiate|netrc-optional|netrc|next\n\t|no-alpn|no-buffer|no-keepalive|no-npn|no-sessionid|ntlm-wb|ntlm|path-as-is|post30[1-3]\n\t|progress-bar|proxy-anyauth|proxy-basic|proxy-digest|proxy-insecure|proxy-negotiate\n\t|proxy-ntlm|proxy-ssl-allow-beast|proxy-tlsv1|proxytunnel|quote|raw|remote-header-name\n\t|remote-name-all|remote-name|remote-time|request-target|retry-connrefused|sasl-ir\n\t|show-error|silent|socks5-(?:basic|gssapi-nec|gssapi)|ssl-allow-beast|ssl-no-revoke\n\t|ssl-reqd|sslv[23]|ssl|stderr|styled-output|suppress-connect-headers\n\t|tcp-fastopen|tcp-nodelay|tftp-no-options|tlspassword|tlsv1\\.[0-3]\n\t|tlsv1|tr-encoding|trace-time|use-ascii|verbose|version|xattr)\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|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n((--)?(?:doh-url|mail-auth|mail-from|mail-rcpt|noproxy|referer|url))\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n((--)?(?:header|proxy-header))\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:]) \\s*\n((--)?(?:cookie|form-string|form|telnet-option))\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|(?=$)))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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":"(?:\\G|^)(?!\\s*--\\w[-\\w]*\\s*[=:])\\s*((--)?(?:proto-default|proto-redir|proto))(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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":"(?:\\G|^)(?!\\s*--\\w[-\\w]*\\s*[=:])\\s*((--)?ftp-port)(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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":"(?:\\G|^)(?!\\s*--\\w[-\\w]*\\s*[=:])\\s*((--)?hostpubmd5)(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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":"(?:\\G|^)(?!\\s*--\\w[-\\w]*\\s*[=:])\\s*((--)?(?:local-port|range))(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:](?=\\s)) \\s*\n(\n\t(--)?\n\t(?:cert|connect-to|preproxy|proxy-cert|proxy-user|proxy1\\.0\n\t|proxy|resolve|socks4a?|socks5-hostname|socks5|user)\n)\n(?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:](?=\\s)) \\s*\n(\n\t(--)?\n\t(?:abstract-unix-socket|cacert|capath|cert-type|ciphers|config|cookie-jar|crlfile|data-ascii\n\t|data-binary|data-raw|data-urlencode|data|delegation|dns-interface|dns-ipv[46]-addr|dns-servers\n\t|dump-header|egd-file|engine|ftp-(?:account|alternative-to-user|ssl-ccc-mode|method)|interface\n\t|key-type|key|krb|libcurl|login-options|netrc-file|oauth2-bearer|output|pass|proxy-(?:cacert\n\t|capath|cert-type|crlfile|key-type|key|pass|service-name|tlsauthtype|tlspassword|tlsuser)\n\t|pinnedpubkey|proxy-ciphers|proxy-pinnedpubkey|pubkey|random-file|proxy-tls13-ciphers|request\n\t|service-name|socks5-gssapi-service|tls13-ciphers|tlsauthtype|tls-max|tlsuser|trace-ascii\n\t|trace|unix-socket|upload-file|user-agent|write-out)\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"},"3":{"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|^)\n(?!\\s*--\\w[-\\w]*\\s*[=:])\n\\s*\n(\n\t(--)?\n\t(?:connect-timeout|continue-at|expect100-timeout|happy-eyeballs-timeout-ms|keepalive-time\n\t|limit-rate|max-filesize|max-redirs|max-time|retry-delay|retry-max-time|retry|speed-limit\n\t|speed-time|tftp-blksize|time-cond)\n) (?:\\s*(=|:)|(?=\\s|$))","end":"$|(?:((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))|([^\\s]+))","beginCaptures":{"1":{"name":"entity.long.option.name.curlrc"},"2":{"name":"punctuation.definition.dash.long.option.curlrc"},"3":{"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]*[ACDEFHKPTUXYbcdemortuwxyz])","end":"(?x)\n$\n|\n\n# Numbers\n(?\u003c=[CYmyz])\\G\\s*\n([-+]?[0-9.]+)\n\n|\n\n# Byte range\n(?\u003c=r)\\G\\s*\n([-0-9,]+)\n\n|\n\n# “key=value” pairs\n(?\u003c=[Fbt])\\G\\s*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))\n\t|\n\t([^\\s]+)\n)\n\n|\n\n# “key:value” pairs\n(?\u003c=[EUux])\\G\\s*\n([^\\\\:\\s/]*://)?\n(\n\t(?:[^\\\\:\\s]|\\\\.)+\n\t(?::(?:[^\\\\:\\s]|\\\\.)+)*\n\t:?\n)\n\n|\n\n# Headers\n(?\u003c=H)\\G\\s*\n(?:\n\t((\")((?:[^\"\\\\]|\\\\.)*)(?:(\")|$))\n\t|\n\t([^\\s]+)\n)\n\n|\n\n# URLs\n(?\u003c=e)\\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":{"patterns":[{"include":"etc#esc"}]},"23":{"name":"punctuation.definition.string.end.curlrc"},"24":{"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*((-)[:#012346BGIJLMNOQRSVafghijklnpqsv]+)","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|\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|\tfail-early\n\t|\tfail\n\t|\tfalse-start\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|\thelp\n\t|\thttp1.0\n\t|\thttp1.1\n\t|\thttp2-prior-knowledge\n\t|\thttp2\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|\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-keepalive\n\t|\tno-npn\n\t|\tno-sessionid\n\t|\tntlm-wb\n\t|\tntlm\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-digest\n\t|\tproxy-insecure\n\t|\tproxy-negotiate\n\t|\tproxy-ntlm\n\t|\tproxy-ssl-allow-beast\n\t|\tproxy-tlsv1\n\t|\tproxytunnel\n\t|\tquote\n\t|\traw\n\t|\tremote-header-name\n\t|\tremote-name-all\n\t|\tremote-name\n\t|\tremote-time\n\t|\trequest-target\n\t|\tretry-connrefused\n\t|\tsasl-ir\n\t|\tshow-error\n\t|\tsilent\n\t|\tsocks5-basic\n\t|\tsocks5-gssapi-nec\n\t|\tsocks5-gssapi\n\t|\tssl-allow-beast\n\t|\tssl-no-revoke\n\t|\tssl-reqd\n\t|\tsslv2\n\t|\tsslv3\n\t|\tssl\n\t|\tstderr\n\t|\tstyled-output\n\t|\tsuppress-connect-headers\n\t|\ttcp-fastopen\n\t|\ttcp-nodelay\n\t|\ttftp-no-options\n\t|\ttlspassword\n\t|\ttlsv1.0\n\t|\ttlsv1.1\n\t|\ttlsv1.2\n\t|\ttlsv1.3\n\t|\ttlsv1\n\t|\ttr-encoding\n\t|\ttrace-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\tdoh-url\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)\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_byte_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\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|\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_filename\u003e\n\t\tabstract-unix-socket\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|\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|\tdns-ipv4-addr\n\t|\tdns-ipv6-addr\n\t|\tdns-servers\n\t|\tdump-header\n\t|\tegd-file\n\t|\tengine\n\t|\tftp-account\n\t|\tftp-alternative-to-user\n\t|\tftp-method\n\t|\tftp-ssl-ccc-mode\n\t|\tinterface\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\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|\trandom-file\n\t|\trequest\n\t|\tservice-name\n\t|\tsocks5-gssapi-service\n\t|\ttls-max\n\t|\ttls13-ciphers\n\t|\ttlsauthtype\n\t|\ttlsuser\n\t|\ttrace-ascii\n\t|\ttrace\n\t|\tunix-socket\n\t|\tupload-file\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|\texpect100-timeout\n\t|\thappy-eyeballs-timeout-ms\n\t|\tkeepalive-time\n\t|\tlimit-rate\n\t|\tmax-filesize\n\t|\tmax-redirs\n\t|\tmax-time\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)\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]*[ACDEFHKPTUXYbcdemortuwxyz])","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_byte_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# 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":{"patterns":[{"include":"etc#esc"}]},"23":{"name":"punctuation.definition.string.end.curlrc"},"24":{"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)[:#012346BGIJLMNOQRSVafghijklnpqsv]+)","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 +1 @@
1
- {"name":"Curry","scopeName":"source.curry","patterns":[{"name":"meta.declaration.module.curry","begin":"^(module)\\b","end":"\\b(where)\\b|(^(?!\\s))","patterns":[{"include":"#module_name"},{"include":"#module_exports"},{"include":"#comments"},{"name":"invalid","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.curry keyword.module.curry"}},"endCaptures":{"1":{"name":"keyword.module.curry"}}},{"name":"meta.import.curry","begin":"^(import)\\b","end":"(^(?!\\s))","patterns":[{"name":"keyword.other.curry keyword.import.curry","match":"\\b(qualified|as|hiding)\\b"},{"include":"#module_name"},{"include":"#module_exports"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.other.curry keyword.import.curry"}}},{"name":"meta.preprocessor.c pragma.preprocessor.curry","begin":"^\\s*(#)\\s*\\w+","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.preprocessor.c punctuation.pragma.preprocessor.curry"}}},{"include":"#pragma"},{"name":"meta.function.foreign-declaration.curry","begin":"^(foreign)\\s+(import|export)((\\s+\\w+))(\\s+\\\"(\\\\.|[^\\\"])*\\\")?\\s*","end":"^(?!\\s)","patterns":[{"include":"#foreign_function_signature"}],"beginCaptures":{"1":{"name":"keyword.declaration.foreign.curry"},"2":{"name":"keyword.declaration.foreign.curry"},"3":{"name":"keyword.declaration.foreign.curry"},"5":{"name":"string.quoted.double.curry"}}},{"include":"#type_declarations"},{"include":"#function_declarations"},{"include":"#expression_stuff"}],"repository":{"block_comment":{"name":"comment.block.curry","begin":"\\{-(?!#)","end":"(?\u003c!#)-\\}","patterns":[{"include":"#block_comment"},{"include":"#comments"}],"captures":{"0":{"name":"punctuation.comment.curry"}},"applyEndPatternLast":true},"class_declaration":{"name":"meta.declaration.class.curry","begin":"^(\\s*)(class)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.class.curry"}},"endCaptures":{"1":{"name":"keyword.declaration.class.curry"}}},"comments":{"patterns":[{"name":"comment.line.curry","match":"(---*(?!([!#\\$%\u0026\\*\\+\\./\u003c=\u003e\\?@\\\\\\^\\|\\-~:]|[^[^\\p{S}\\p{P}]_\"'\\(\\),;\\[\\]`\\{}]))).*$\\n?","captures":{"1":{"name":"punctuation.comment.curry"}}},{"include":"#block_comment"}]},"common_keywords":{"name":"keyword.other.curry","match":"\\b(where|case|fcase|of|let|in|default|do|mdo|if|then|else|free)\\b"},"constructor_signature":{"name":"meta.declaration.function.curry","begin":"^(\\s+)([A-Z][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\1\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"constant.other.curry entity.name.constructor.curry"},"3":{"name":"keyword.other.double-colon.curry"}}},"ctor_names":{"patterns":[{"name":"constant.other.curry entity.name.constructor.curry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\(\\)"}]},"data_declaration":{"name":"meta.declaration.data.curry","begin":"^(\\s*)(data|newtype)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"name":"keyword.declaration.data.curry","match":"where"},{"begin":"([=\\|])","end":"(?\u003c!')\\b([A-Z][\\w']*)","patterns":[{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"constant.other.curry entity.name.constructor.curry"}}},{"include":"#deriving"},{"include":"#constructor_signature"},{"include":"#record_declaration"},{"include":"#comments"},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.curry"},"3":{"name":"constant.other.curry entity.name.type.curry"}}},"deriving":{"name":"keyword.other.curry keyword.declaration.data.curry","match":"\\b(deriving)\\b"},"expression_stuff":{"patterns":[{"name":"storage.module.curry entity.name.module.curry","match":"([A-Z][\\w']*\\.)+"},{"name":"support.function.prelude.curry","match":"\\b(abs|acos|acosh|all|and|any|appendFile|asTypeOf|asin|asinh|atan|atan2|atanh|break|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{"name":"support.function.prelude.curry invalid.curry","match":"\\b(error|undefined)\\b"},{"include":"#infix_op"},{"name":"keyword.operator.curry punctuation.list.curry","match":"\\[|\\]"},{"name":"punctuation.separator.comma.curry","match":","},{"name":"keyword.operator.function.infix.curry","match":"(`)([A-Z][\\w']*\\.)*[a-z][\\w']*(`)","captures":{"1":{"name":"punctuation.definition.entity.curry"},"3":{"name":"punctuation.definition.entity.curry"}}},{"name":"record.expression.curry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"match":"(?\u003c!')\\b[a-z][\\w']+\\s+(=)","captures":{"2":{"name":"keyword.operator.curry"}}},{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}}},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\(\\)"},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\[\\]"},{"include":"#comments"},{"name":"keyword.operator.curry","match":"[@|!%$?~+:.\\-*=\u003c/\u003e\\\\∘→⇒⇔←⇐≤≥≡⋮\\[\\]]+"},{"include":"#common_keywords"},{"include":"#literals"},{"include":"#quasi_quote"},{"include":"#ctor_names"}]},"external_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(external)\\b","end":"^(?!\\s)","beginCaptures":{"1":{"name":"entity.name.function.curry"},"2":{"name":"keyword.declaration.external.curry"}}},"field_signature":{"name":"meta.declaration.field.curry","begin":"(?=.*?((::)|∷))","end":"(?=[,}])","patterns":[{"name":"meta.declaration.field.signature.curry","begin":"((::)|∷)","end":"(?=[,}])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.other.double-colon.curry"}}},{"name":"entity.name.function.curry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}]},"fixity_declaration":{"name":"keyword.declaration.fixity.curry","match":"\\binfix[lr]?\\b"},"foreign_function_signature":{"name":"meta.declaration.function.curry","begin":"(\\s*)([a-z_][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.curry"},"3":{"name":"keyword.other.double-colon.curry"}}},"function_declarations":{"patterns":[{"include":"#function_signature"},{"include":"#function_definition"},{"include":"#infix_function_definition"},{"include":"#external_function_definition"},{"include":"#fixity_declaration"}]},"function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(?![^\\w\\s='\"\\(\\[])(?=((([\\w\\.,'\"_]+|(?:\\w+\\@)?\\(.*\\)|\\[.*\\])\\s+)*[=\\|]))","end":"(=)","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"entity.name.function.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},"function_signature":{"name":"meta.declaration.function.curry","begin":"^(\\s*)(?!--)(?:(\\(\\W\\)|[\\w']+)|[\\(\\[])(?=[\\w',\\s\\[\\]\\(\\)]*((?:::)|∷))","end":"^(?!\\1\\s)|(?=})","patterns":[{"name":"meta.declaration.function.names.curry","begin":"(?=.*((::)|∷))","end":"((::)|∷)","patterns":[{"name":"entity.name.function.curry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}],"endCaptures":{"1":{"name":"keyword.other.double-colon.curry"}}},{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.curry"}}},"infix_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?=(([\\w'\\.'\"]+|(?:\\w+@)?\\(.*\\)|\\[.*\\])\\s+)+([^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)((\\s*[\\w'\\.'\"]+|\\s*(?:\\w+@)?\\(.*\\)|\\s*\\[.*\\]))+\\s*=)","end":"( [^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)","patterns":[{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"entity.name.function.curry"}}},"infix_op":{"name":"keyword.operator.curry","match":"(\\([^\\w \\)]+\\)|\\(,+\\))"},"instance_declaration":{"name":"meta.declaration.instance.curry","begin":"^(\\s*)(instance)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.declaration.instance.curry"}},"endCaptures":{"1":{"name":"keyword.declaration.instance.curry"}}},"literals":{"patterns":[{"name":"constant.numeric.curry","match":"\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b"},{"name":"constant.numeric.curry","match":"\\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.double.curry","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.curry","match":"\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])"},{"name":"constant.character.escape.octal.curry","match":"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{"name":"constant.character.escape.control.curry","match":"\\^[A-Z@\\[\\]\\\\\\^_]"}]},{"name":"string.quoted.single.curry","match":"(?x)\n (')\n (?:\n [\\ -\u0026(-\\[\\]-~\"] # Basic Char\n | (\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE\n |DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS\n |US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])) # Escapes\n | (\\\\o[0-7]+) # Octal Escapes\n | (\\\\x[0-9A-Fa-f]+) # Hexadecimal Escapes\n | (\\^[A-Z@\\[\\]\\\\\\^_]) # Control Chars\n )\n (')\n ","captures":{"2":{"name":"constant.character.escape.curry"},"3":{"name":"constant.character.escape.octal.curry"},"4":{"name":"constant.character.escape.hexadecimal.curry"},"5":{"name":"constant.character.escape.control.curry"}}}]},"module_exports":{"name":"meta.declaration.exports.curry","begin":"(\\()","end":"(\\))","patterns":[{"name":"constant.character.escape.multilinestring.curry","begin":"\\\\\\s*$","end":"\\\\"},{"name":"entity.name.function.curry","match":"(?\u003c!')\\b[a-z][\\w']*"},{"name":"meta.declaration.export.data.curry","begin":"(?\u003c!')\\b([A-Z][\\w']*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"storage.type.curry entity.name.data.curry"},"2":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"name":"storage.type.curry entity.name.data.curry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"punctuation.separator.comma.curry","match":","},{"include":"#infix_op"},{"name":"meta.other.unknown.curry","match":"\\(.*?\\)"},{"include":"#module_exports"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.module.curry"}},"endCaptures":{"1":{"name":"storage.module.curry"}}},"module_name":{"name":"storage.module.curry","match":"([A-Z][\\w']*)(\\.[A-Z][\\w']*)*"},"pattern_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?=\\(.*\\)|\\[.*\\]|([A-Z][\\w']*(\\s+([\\w\\s,']*|\\(.*\\)|\\[.*\\]|\\{.*\\}))*)\\s*=)","end":"(=)","patterns":[{"match":"(?\u003c!')\\b([a-z_][\\w']*)\\b","captures":{"1":{"name":"entity.name.function.curry"}}},{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"keyword.operator.curry"}}},"pragma":{"name":"pragma.curry","begin":"(\\{-#)\\s+([A-Z_]+)\\b","end":"#-\\}","patterns":[{"name":"keyword.other.preprocessor.curry pragma.support.language.curry","match":"\\b([A-Z][a-z]*)+\\b"},{"name":"keyword.other.preprocessor.curry pragma.support.flag.curry","match":"(-+[a-z]+)+"}],"beginCaptures":{"1":{"name":"punctuation.pragma.curry"},"2":{"name":"keyword.preprocessor.curry pragma.name.curry"}}},"quasi_quote":{"name":"string.quoted.quasi.curry","begin":"(\\[)([a-z]\\w*)?(\\|)","end":"(\\|\\])","beginCaptures":{"1":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"},"2":{"name":"entity.name.function.curry"},"3":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"}},"endCaptures":{"1":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"}}},"record_declaration":{"name":"meta.declaration.record.curry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"include":"#field_signature"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}}},"type":{"patterns":[{"name":"keyword.operator.arrow.curry","match":"-\u003e|→"},{"name":"keyword.operator.big-arrow.curry","match":"=\u003e|⇒"},{"name":"storage.type.curry support.type.curry","match":"\\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\\b"},{"name":"variable.generic.curry","match":"(?\u003c!')\\b[a-z][\\w']*\\b"},{"name":"storage.type.curry","match":"(?\u003c!')\\b[A-Z][\\w']*\\b"},{"name":"storage.type.curry","match":"\\(\\)"},{"name":"meta.type_signature.brace.curry","begin":"(\\()","end":"(\\))","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"name":"meta.type_signature.list.curry","begin":"(\\[)","end":"(\\])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"include":"#comments"}]},"type_declaration":{"name":"meta.declaration.type.curry","begin":"^(\\s*)(type)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"include":"#comments"},{"name":"keyword.operator.curry","match":"="},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.curry"},"3":{"name":"constant.other.curry entity.name.type.curry"}}},"type_declarations":{"patterns":[{"include":"#data_declaration"},{"include":"#type_declaration"},{"include":"#class_declaration"},{"include":"#instance_declaration"}]}}}
1
+ {"name":"Curry","scopeName":"source.curry","patterns":[{"name":"meta.declaration.module.curry","begin":"^(module)\\b","end":"\\b(where)\\b|(^(?!\\s))","patterns":[{"include":"#module_name"},{"include":"#module_exports"},{"include":"#comments"},{"name":"invalid","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.curry keyword.module.curry"}},"endCaptures":{"1":{"name":"keyword.module.curry"}}},{"name":"meta.import.curry","begin":"^(import)\\b","end":"(^(?!\\s))","patterns":[{"name":"keyword.other.curry keyword.import.curry","match":"\\b(qualified|as|hiding)\\b"},{"include":"#module_name"},{"include":"#module_exports"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.other.curry keyword.import.curry"}}},{"name":"meta.preprocessor.c pragma.preprocessor.curry","begin":"^\\s*(#)\\s*\\w+","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.preprocessor.c punctuation.pragma.preprocessor.curry"}}},{"include":"#pragma"},{"name":"meta.function.foreign-declaration.curry","begin":"^(foreign)\\s+(import|export)((\\s+\\w+))(\\s+\\\"(\\\\.|[^\\\"])*\\\")?\\s*","end":"^(?!\\s)","patterns":[{"include":"#foreign_function_signature"}],"beginCaptures":{"1":{"name":"keyword.declaration.foreign.curry"},"2":{"name":"keyword.declaration.foreign.curry"},"3":{"name":"keyword.declaration.foreign.curry"},"5":{"name":"string.quoted.double.curry"}}},{"include":"#type_declarations"},{"include":"#function_declarations"},{"include":"#expression_stuff"}],"repository":{"block_comment":{"name":"comment.block.curry","begin":"\\{-(?!#)","end":"(?\u003c!#)-\\}","patterns":[{"include":"#block_comment"},{"include":"#comments"}],"captures":{"0":{"name":"punctuation.comment.curry"}},"applyEndPatternLast":true},"class_declaration":{"name":"meta.declaration.class.curry","begin":"^(\\s*)(class)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.class.curry"}},"endCaptures":{"1":{"name":"keyword.declaration.class.curry"}}},"comments":{"patterns":[{"name":"comment.line.curry","match":"(--).*$","captures":{"1":{"name":"punctuation.comment.curry"}}},{"include":"#block_comment"}]},"common_keywords":{"name":"keyword.other.curry","match":"\\b(where|case|fcase|of|let|in|default|do|mdo|if|then|else|free)\\b"},"constructor_signature":{"name":"meta.declaration.function.curry","begin":"^(\\s+)([A-Z][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\1\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"constant.other.curry entity.name.constructor.curry"},"3":{"name":"keyword.other.double-colon.curry"}}},"ctor_names":{"patterns":[{"name":"constant.other.curry entity.name.constructor.curry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\(\\)"}]},"data_declaration":{"name":"meta.declaration.data.curry","begin":"^(\\s*)(?:(external)\\s+)?(data|newtype)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"name":"keyword.declaration.data.curry","match":"where"},{"begin":"([=\\|])","end":"(?\u003c!')\\b([A-Z][\\w']*)","patterns":[{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"constant.other.curry entity.name.constructor.curry"}}},{"include":"#deriving"},{"include":"#constructor_signature"},{"include":"#record_declaration"},{"include":"#comments"},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.external.curry"},"3":{"name":"keyword.declaration.data.curry"},"4":{"name":"constant.other.curry entity.name.type.curry"}}},"deriving":{"name":"keyword.other.curry keyword.declaration.data.curry","match":"\\b(deriving)\\b"},"expression_stuff":{"patterns":[{"name":"storage.module.curry entity.name.module.curry","match":"([A-Z][\\w']*\\.)+"},{"name":"support.function.prelude.curry","match":"\\b(abs|acos|acosh|all|and|any|appendFile|asTypeOf|asin|asinh|atan|atan2|atanh|break|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{"name":"support.function.prelude.error.curry","match":"\\b(error|undefined)\\b"},{"include":"#infix_op"},{"name":"keyword.operator.curry punctuation.list.curry","match":"\\[|\\]"},{"name":"punctuation.separator.comma.curry","match":","},{"name":"keyword.operator.function.infix.curry","match":"(`)([A-Z][\\w']*\\.)*[a-z][\\w']*(`)","captures":{"1":{"name":"punctuation.definition.entity.curry"},"3":{"name":"punctuation.definition.entity.curry"}}},{"name":"record.expression.curry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"match":"(?\u003c!')\\b[a-z][\\w']+\\s+(=)","captures":{"2":{"name":"keyword.operator.curry"}}},{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}}},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\(\\)"},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\[\\]"},{"include":"#comments"},{"name":"keyword.operator.curry","match":"[@|!%$?~+:.\\-*=\u003c/\u003e\\\\∘→⇒⇔←⇐≤≥≡⋮\\[\\]]+"},{"include":"#common_keywords"},{"include":"#literals"},{"include":"#quasi_quote"},{"include":"#ctor_names"}]},"external_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(external)\\b","end":"^(?!\\s)","beginCaptures":{"1":{"name":"entity.name.function.curry"},"2":{"name":"keyword.declaration.external.curry"}}},"field_signature":{"name":"meta.declaration.field.signature.curry","match":"\\b(\\w+)\\s*(::|∷)\\s*(\\S.+)","captures":{"1":{"name":"entity.name.function.curry"},"2":{"name":"keyword.other.double-colon.curry"},"3":{"patterns":[{"include":"#type"}]}}},"fixity_declaration":{"name":"meta.declaration.fixity.curry","match":"\\b(infix[lr]?)\\b\\s*(\\d+).+","captures":{"1":{"name":"keyword.declaration.fixity.curry"},"2":{"name":"constant.numeric.fixity.curry"}}},"foreign_function_signature":{"name":"meta.declaration.function.curry","begin":"(\\s*)([a-z_][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.curry"},"3":{"name":"keyword.other.double-colon.curry"}}},"function_declarations":{"patterns":[{"include":"#fixity_declaration"},{"include":"#function_signature"},{"include":"#function_definition"},{"include":"#infix_function_definition"},{"include":"#external_function_definition"}]},"function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(?![^\\w\\s='\"\\(\\[])(?=((([\\w\\.,'\"_]+|(?:\\w+\\@)?\\(.*\\)|\\[.*\\])\\s+)*[=\\|]))","end":"(=)","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"entity.name.function.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},"function_signature":{"name":"meta.declaration.function.curry","begin":"^(\\s*)(?!--)(?:(\\(\\W\\)|[\\w']+)|[\\(\\[])(?=[\\w',\\s\\[\\]\\(\\)]*((?:::)|∷))","end":"^(?!\\1\\s)|(?=})","patterns":[{"name":"meta.declaration.function.names.curry","begin":"(?=.*((::)|∷))","end":"((::)|∷)","patterns":[{"name":"entity.name.function.curry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}],"endCaptures":{"1":{"name":"keyword.other.double-colon.curry"}}},{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.curry"}}},"infix_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?=(([\\w'\\.'\"]+|(?:\\w+@)?\\(.*\\)|\\[.*\\])\\s+)+([^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)((\\s*[\\w'\\.'\"]+|\\s*(?:\\w+@)?\\(.*\\)|\\s*\\[.*\\]))+\\s*=)","end":"( [^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)","patterns":[{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"entity.name.function.curry"}}},"infix_op":{"name":"keyword.operator.curry","match":"(\\([^\"'\\w \\)]+\\)|\\(,+\\))"},"instance_declaration":{"name":"meta.declaration.instance.curry","begin":"^(\\s*)(instance)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.declaration.instance.curry"}},"endCaptures":{"1":{"name":"keyword.declaration.instance.curry"}}},"literals":{"patterns":[{"name":"constant.numeric.curry","match":"\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b"},{"name":"constant.numeric.curry","match":"\\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.double.curry","begin":"\"","end":"\"|$","patterns":[{"name":"constant.character.escape.curry","match":"\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])"},{"name":"constant.character.escape.octal.curry","match":"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{"name":"constant.character.escape.control.curry","match":"\\^[A-Z@\\[\\]\\\\\\^_]"}]},{"name":"string.quoted.single.curry","match":"(?x)(')(?: [\\ -\u0026(-\\[\\]-~\"]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))(')","captures":{"2":{"name":"constant.character.escape.curry"},"3":{"name":"constant.character.escape.octal.curry"},"4":{"name":"constant.character.escape.hexadecimal.curry"},"5":{"name":"constant.character.escape.control.curry"}}}]},"module_exports":{"name":"meta.declaration.exports.curry","begin":"(\\()","end":"(\\))","patterns":[{"name":"constant.character.escape.multilinestring.curry","begin":"\\\\\\s*$","end":"\\\\"},{"name":"entity.name.function.curry","match":"(?\u003c!')\\b[a-z][\\w']*"},{"name":"meta.declaration.export.data.curry","begin":"(?\u003c!')\\b([A-Z][\\w']*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"storage.type.curry entity.name.data.curry"},"2":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"name":"storage.type.curry entity.name.data.curry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"punctuation.separator.comma.curry","match":","},{"include":"#infix_op"},{"name":"meta.other.unknown.curry","match":"\\(.*?\\)"},{"include":"#module_exports"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.module.curry"}},"endCaptures":{"1":{"name":"storage.module.curry"}}},"module_name":{"name":"entity.name.module.curry entity.name.namespace.curry","match":"([A-Z][\\w']*)(\\.[A-Z][\\w']*)*"},"pattern_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?=\\(.*\\)|\\[.*\\]|([A-Z][\\w']*(\\s+([\\w\\s,']*|\\(.*\\)|\\[.*\\]|\\{.*\\}))*)\\s*=)","end":"(=)","patterns":[{"match":"(?\u003c!')\\b([a-z_][\\w']*)\\b","captures":{"1":{"name":"entity.name.function.curry"}}},{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"keyword.operator.curry"}}},"pragma":{"name":"meta.preprocessor.curry pragma.curry","begin":"(\\{-#)\\s+([A-Z_]+)\\b","end":"#-\\}","patterns":[{"name":"keyword.other.preprocessor.curry pragma.support.language.curry","match":"\\b([A-Z][a-z]*)+\\b"},{"name":"keyword.other.preprocessor.curry pragma.support.flag.curry","match":"(-+[a-z]+)+"}],"beginCaptures":{"1":{"name":"punctuation.pragma.curry"},"2":{"name":"keyword.preprocessor.curry pragma.name.curry"}}},"quasi_quote":{"name":"string.quoted.quasi.curry","begin":"(\\[)([a-z]\\w*)?(\\|)","end":"(\\|\\])","beginCaptures":{"1":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"},"2":{"name":"entity.name.function.curry"},"3":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"}},"endCaptures":{"1":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"}}},"record_declaration":{"name":"meta.declaration.record.curry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"include":"#field_signature"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}}},"type":{"patterns":[{"name":"keyword.operator.arrow.curry","match":"-\u003e|→"},{"name":"keyword.operator.big-arrow.curry","match":"=\u003e|⇒"},{"name":"entity.name.type.curry support.type.curry","match":"\\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\\b"},{"name":"variable.generic.curry","match":"(?\u003c!')\\b[a-z][\\w']*\\b"},{"name":"entity.name.type.curry","match":"(?\u003c!')\\b[A-Z][\\w']*\\b"},{"name":"punctuation.unit.curry","match":"\\(\\)"},{"name":"meta.type_signature.brace.curry","begin":"(\\()","end":"(\\))","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"name":"meta.type_signature.list.curry","begin":"(\\[)","end":"(\\])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"include":"#comments"}]},"type_declaration":{"name":"meta.declaration.type.curry","begin":"^(\\s*)(type)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"include":"#comments"},{"name":"keyword.operator.curry","match":"="},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.curry"},"3":{"name":"constant.other.curry entity.name.type.curry"}}},"type_declarations":{"patterns":[{"include":"#data_declaration"},{"include":"#type_declaration"},{"include":"#class_declaration"},{"include":"#instance_declaration"}]}}}
@@ -1 +1 @@
1
- {"name":"DenizenScript","scopeName":"source.denizenscript","patterns":[{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"},{"include":"#keys"},{"include":"#commands"},{"include":"#double_quotes"},{"include":"#single_quotes"},{"include":"#tags"},{"include":"#tag_params"}],"repository":{"commands":{"begin":"(-)\\s([^\\s\\[]+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"entity.other.command.denizenscript"}}},"comments":{"name":"comment.line.number-sign.denizenscript","begin":"^\\s*#(?!\\s*todo|\\s*TODO|(?:\\s*(?:\\||\\+|=|#|_|@|\\/)))","end":"\\n"},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"\"","end":"\\n|\"","patterns":[{"include":"#tags"},{"include":"#tag_params"}]},"header_comments":{"name":"keyword.header-comment.denizenscript","begin":"^\\s*#\\s*(?:\\||\\+|=|#|_|@|\\/)","end":"\\n"},"keys":{"begin":"(^[^-#\\n]*)(:)","end":"\\s","beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"'","end":"\\n|'","patterns":[{"include":"#tags"},{"include":"#tag_params"}]},"tag_params":{"name":"entity.name.tag.tag-brackets.denizenscript","begin":"(?\u003c=\\w|\u003c)\\[","end":"\\]","patterns":[{"include":"#tags"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s)","end":"\u003e","patterns":[{"include":"#tag_params"}]},"todo_comments":{"name":"variable.todo-comment.denizenscript","begin":"^\\s*#\\s*(?:TODO|todo)","end":"\\n"}}}
1
+ {"name":"DenizenScript","scopeName":"source.denizenscript","patterns":[{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"},{"include":"#keys"},{"include":"#commands"},{"include":"#double_quotes"},{"include":"#single_quotes"},{"include":"#tags"},{"include":"#def_brackets"},{"include":"#not_script_keys"}],"repository":{"commands":{"begin":"(-)\\s([^\\s\u003c\u003e\"']+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"entity.other.command.denizenscript"}}},"comments":{"name":"comment.line.number-sign.denizenscript","begin":"(?i)^\\s*#(?!\\s*todo|(?:\\s*(?:\\||\\+|=|#|_|@|\\/)))","end":"\\n"},"def_brackets":{"name":"entity.name.tag.def_brackets.denizenscript","begin":"(?\u003c=\\w|\u003c)\\[","end":"\\]","patterns":[{"include":"#tags"}]},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"(?\u003c=\\s)\"","end":"(?:\"|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"header_comments":{"name":"keyword.header-comment.denizenscript","begin":"^\\s*#\\s*(?:\\||\\+|=|#|_|@|\\/)","end":"\\n"},"keys":{"begin":"(^(?!.*- |#|\\n|.*(?:interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input)(?=(?::))).*)(?=(:)\\s)","end":"\\s","beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"not_script_keys":{"begin":"(^(?!.*- |#|\\n).*(?=interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input).*)(?=(:)\\s)","end":"^(?!.*- |\\n|\\s*#)","patterns":[{"include":"#tags"},{"include":"#def_brackets"},{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"}],"beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"(?\u003c=\\s)'","end":"(?:'|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s|=)","end":"\u003e","patterns":[{"include":"#def_brackets"}]},"todo_comments":{"name":"variable.todo-comment.denizenscript","begin":"(?i)^\\s*#\\s*(?:todo)","end":"\\n"}}}
@@ -1 +1 @@
1
- {"name":"Ditroff (Troff Intermediate Output)","scopeName":"source.ditroff","patterns":[{"include":"#main"}],"repository":{"colourMode":{"patterns":[{"name":"meta.colour-mode.default.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(d)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"}}},{"name":"meta.colour-mode.rgb.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(r)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmyk.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(k)((?:\\s*\\d+){4})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmy.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(c)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.grey.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(g)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}}]},"comment":{"name":"comment.line.number-sign.ditroff","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.ditroff"}}},"continueLine":{"name":"keyword.operator.line-continuation.gnu.ditroff","match":"^\\+"},"deviceControl":{"patterns":[{"name":"meta.device-control.x-command.ditroff","begin":"(x)\\s*(X\\S*)[ \\t]*","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xCommands"}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.device.control.ditroff"}}},{"name":"meta.device-control.ditroff","begin":"(x)\\s*","end":"(?=$|#)","patterns":[{"name":"keyword.device.control.ditroff","match":"\\G([ipst]\\S*)\\s*?(?=$|#)"},{"name":"meta.space-underlining.gnu.ditroff","match":"\\G(u\\S*)\\s+(?:(1|0)|(\\d+))\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"invalid.illegal.argument.ditroff"}}},{"name":"meta.source-filename.gnu.ditroff","match":"\\G(F\\S*)\\s+(\\S+)\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"string.other.link.filename.ditroff"}}},{"name":"meta.typesetter-device.ditroff","match":"\\G(T\\S*)\\s+(\\S+)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"support.constant.device-name.ditroff"}}},{"name":"meta.device-resolution.ditroff","match":"\\G(r\\S*)((?:\\s+(\\d+)){1,3})\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?(?:\\s+(\\S.*?)\\s+(\\d+)[ \\t]*$)?[ \\t]*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.position.ditroff"},"3":{"name":"entity.name.font.ditroff"},"4":{"name":"string.other.link.filename.ditroff"},"5":{"name":"constant.numeric.integer.flags.ditroff"}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"variable.parameter.ditroff"}}},{"name":"meta.set-character-property.ditroff","match":"\\G([HS]\\S*)\\s+(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.unknown-command.ditroff","begin":"\\G(\\S+)","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.device.control.ditroff"}}}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"}}}]},"eol":{"name":"meta.end-of-line.ditroff","match":"(n)((?:\\s*\\d+){2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},"font":{"name":"meta.change-font.ditroff","match":"(f)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"graphics":{"patterns":[{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(C)\\s*(\\d+)(?:\\s+(\\d+))?","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditrof"},"3":{"name":"constant.numeric.integer.ditroff"},"4":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(E)((?:\\s*(\\d+)){1,2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"},"3":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.graphics.ditroff","begin":"(D)\\s*([lceafptPR~])","end":"(?=$|#)","patterns":[{"include":"text.roff#number"}],"beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}},{"name":"meta.graphics.unknown-command.ditroff","contentName":"variable.parameter.ditroff","begin":"(D)\\s*([^\\s\\\\])","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#deviceControl"},{"include":"#colourMode"},{"include":"#print"},{"include":"#font"},{"include":"#eol"},{"include":"#move"},{"include":"#size"},{"include":"#page"},{"include":"#graphics"},{"include":"#movePrint"},{"include":"#wordSpace"}]},"move":{"name":"meta.move.ditroff","match":"([HhVv])\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"movePrint":{"name":"meta.move-and-print.ditroff","match":"(\\d{2})(.)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"}}},"page":{"name":"meta.start-page.ditroff","match":"(p)\\s*(\\d+)","captures":{"1":{"name":"keyword.control.page.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"print":{"patterns":[{"name":"meta.print-character.indexed.ditroff","match":"(N)\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.print-character.ditroff","match":"(c)(?:\\s*(\\S)|(\\s))|(CPS|C)\\s*(\\S+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"},"3":{"name":"constant.character.whitespace.ditroff"},"4":{"name":"keyword.operator.function.ditroff"},"5":{"name":"string.unquoted.ditroff"}}},{"name":"meta.print-text.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(t)\\s*","end":"(?=$)|\\s+(\\d*)","beginCaptures":{"0":{"name":"keyword.operator.function.ditroff"},"1":{"name":"punctuation.definition.entity.ditroff"}},"endCaptures":{"1":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.print-text.track-kerned.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(u)\\s*(-?\\d+)\\s*","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}}]},"size":{"match":"(s)\\s*(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},"wordSpace":{"name":"keyword.operator.function.word-space.ditroff","match":"(?\u003c=^|[\\s\\d])w"},"xCommands":{"patterns":[{"begin":"(?:\\G|^)(?:(ps)\\s*(:)(?=\\s*(?:exec|m?def)\\b)|(PSSetup|PS)\\s*(:)?)","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G(?:(?\u003c=:)\\s*(?:(exec|def)|(mdef)(?:\\s+(\\d+))?)\\b)?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"source.embedded.postscript","match":".+","captures":{"0":{"patterns":[{"include":"source.postscript"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"keyword.device.control.subcommand.heirloom.ditroff"},"4":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(ps)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"match":"\\G\\s*(?:(invis)|(endinvis))\\b","captures":{"1":{"name":"keyword.control.suppress-output.begin.gnu.ditroff"},"2":{"name":"keyword.control.suppress-output.end.gnu.ditroff"}}},{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(file)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"begin":"\\G\\s*(import)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(pdf)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"keyword.control.directive.gnu.ditroff","match":"\\G\\s*(xrev)\\b"},{"begin":"\\G\\s*(pdfpic)\\s+","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"name":"meta.pdfmark.$2.ditroff","begin":"\\G\\s*(mark(start|end|suspend|restart))\\b(\\s+(\\S.*))?","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"source.embedded.postscript"},"3":{"patterns":[{"include":"source.postscript"}]}}},{"name":"meta.transition-settings.ditroff","begin":"\\G\\s*(transition)\\s+","end":"(?=^(?!\\+))","patterns":[{"name":"support.constant.other.mode.ditroff","match":"\\b(Blinds|Box|Cover|Dissolve|Fade|Fly|Glitter|Push|R|Split|Uncover|Wipe)\\b"},{"name":"constant.language.boolean.$1.ditroff","match":"\\b(true|false)\\b"},{"name":"constant.language.null.ditroff","match":"\\b(?:None)\\b"},{"name":"support.constant.feature.ditroff","match":"\\b(?:SLIDE|BLOCK)\\b"},{"name":"support.constant.dimension.ditroff","match":"\\b(?:H|V)\\b"},{"name":"support.constant.motion.ditroff","match":"\\b(?:I|O)\\b"},{"name":"constant.numeric.ditroff","match":"[-+]?[\\d.]+"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.pdfmark.ditroff","begin":"(?:\\G|^)(PDFMark)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"meta.bookmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(Bookmark(?:Closed)?)(?:\\s+(\\d+))?\\s+","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"storage.type.bookmark.ditroff"},"2":{"name":"constant.numeric.integer.level.ditroff"}}},{"name":"meta.pdfmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(\\S+)\\s+","end":"(?=^(?!\\+))","beginCaptures":{"1":{"name":"entity.name.field.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(tty)s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.osc8-link.ditroff","begin":"\\G\\s*(link)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.link-destination.ditroff","match":"\\G\\s*(\\S+)","captures":{"1":{"name":"string.other.link.ditroff"}}},{"name":"meta.link-parameter.ditroff","contentName":"string.unquoted.ditroff","begin":"(?!\\G)([^\\s=]+)(=)","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"entity.other.attribute-name.ditroff"},"2":{"name":"punctuation.separator.key-value.ditroff"}}}],"beginCaptures":{"1":{"name":"storage.type.link.ditroff"}}},{"match":"\\G\\s*(sgr)\\b(?:\\s+([-+]?[\\d.0]+))?","captures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"constant.numeric.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.set-paper-size.ditroff","begin":"(?:\\G|^)(papersize)\\s*(=)","end":"(?=^(?!\\+))","patterns":[{"include":"source.ditroff.desc#paperSizes"}],"beginCaptures":{"1":{"name":"storage.type.paper-size.ditroff"},"2":{"name":"punctuation.separator.key-value.equals-sign.ditroff"}}},{"name":"meta.devtag.ditroff","begin":"(?:\\G|^)(devtag)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"name":"entity.name.tag.ditroff","match":"\\.?[^\\s.]+(?:\\.[^\\s.]+)*+","captures":{"0":{"name":"punctuation.definition.tag.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.infer.ditroff","begin":"(?:\\G|^)(infer)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"meta.$1-$2.ditroff","begin":"\\G\\s*(start|end)\\s+(\\S+)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"support.constant.other.ditroff","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.$1-scope.ditroff"},"2":{"name":"entity.name.type.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.manpage-reference.ditroff","match":"(?:\\G|^)(html)\\s+(?:(manref\\s+end)|(manref(?:\\s+start)?))(?:\\s+((?!#)\\S+))(?:\\s+(?:(\\()([0-9])(\\))|((?!#)\\S+)))","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"keyword.control.end-reference.ditroff"},"3":{"name":"keyword.control.start-reference.ditroff"},"4":{"name":"entity.name.subject.ditroff"},"5":{"name":"punctuation.definition.bracket.round.begin.ditroff"},"6":{"name":"constant.numeric.section.ditroff"},"7":{"name":"punctuation.definition.bracket.round.end.ditroff"},"8":{"name":"constant.numeric.section.ditroff"}}},{"begin":"(?:\\G|^)(index)\\s*(:)(?:\\s*(\\d+)(?=\\s))?.*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.assertion.ditroff","begin":"(?:\\G|^)(assertion)\\s*(:)(?=\\s*\\[)","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"\\G\\s*(\\[)(x|y)?","end":"\\*(\\])|(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"punctuation.section.bracket.square.begin.ditroff"},"2":{"name":"variable.parameter.assertion-type.$2.ditroff"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.square.end.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)((?:html|math)\\b(?:\u003c[/?]p\u003e)?)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"text.embedded.html.basic","match":".+","captures":{"0":{"patterns":[{"include":"text.html.basic"}]}}}]},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(Anchor|U?Link)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.ditroff","begin":"\\G(?:\\s+([+-]?\\d+(?:,[+-]?\\d+)*+)(?=\\s))?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"patterns":[{"name":"constant.numeric.integer.ditroff","match":"\\d+"},{"name":"punctuation.separator.comma.ditroff","match":","}]}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(BleedAt|CropAt|HorScale|PaperSize|Track|TrimAt)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"match":"(?:\\G|^)(LC_CTYPE)\\b(?:\\s*(:))?\\s+((?!#)\\S+)(.*)","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"entity.name.locale.ditroff"},"4":{"patterns":[{"include":"#comment"}]}}},{"begin":"(?:\\G|^)(SupplyFont)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(\\S+)[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.font.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(SetColor)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"match":"(?:\\G|^)\\s*(?:([\\s\\d.]+)(?\u003c=\\s)(rgb|hsb|cmyk|setgray|setcolor)|(\\S+))","captures":{"1":{"patterns":[{"name":"constant.numeric.ditroff","match":"[\\d.]+"}]},"2":{"name":"constant.language.colour-scheme.ditroff"},"3":{"name":"variable.other.named-colour.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"(?:\\G|^)([^\\s:#]+)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"include":"#continueLine"}]},"xImportParams":{"patterns":[{"match":"(?:\\G|^)(\\S+)(?:\\s+((-)[LCR]))?","captures":{"1":{"name":"string.other.link.filename.ditroff"},"2":{"name":"constant.language.alignment-type.ditroff"},"3":{"name":"punctuation.definition.dash.ditroff"}}},{"name":"constant.numeric.ditroff","match":"[-+]?(?:\\d*\\.\\d+|\\d+)"},{"include":"#continueLine"}]}}}
1
+ {"name":"Ditroff (Troff Intermediate Output)","scopeName":"source.ditroff","patterns":[{"include":"#main"}],"repository":{"colourMode":{"patterns":[{"name":"meta.colour-mode.default.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(d)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"}}},{"name":"meta.colour-mode.rgb.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(r)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmyk.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(k)((?:\\s*\\d+){4})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmy.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(c)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.grey.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(g)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}}]},"comment":{"name":"comment.line.number-sign.ditroff","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.ditroff"}}},"continueLine":{"name":"keyword.operator.line-continuation.gnu.ditroff","match":"^\\+"},"deviceControl":{"patterns":[{"name":"meta.device-control.x-command.ditroff","begin":"(x)\\s*(X\\S*)[ \\t]*","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xCommands"}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.device.control.ditroff"}}},{"name":"meta.device-control.ditroff","begin":"(x)\\s*","end":"(?=$|#)","patterns":[{"name":"keyword.device.control.ditroff","match":"\\G([ipst]\\S*)\\s*?(?=$|#)"},{"name":"meta.space-underlining.gnu.ditroff","match":"\\G(u\\S*)\\s+(?:(1|0)|(\\d+))\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"invalid.illegal.argument.ditroff"}}},{"name":"meta.source-filename.gnu.ditroff","match":"\\G(F\\S*)\\s+(\\S+)\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"string.other.link.filename.ditroff"}}},{"name":"meta.typesetter-device.ditroff","match":"\\G(T\\S*)\\s+(\\S+)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"support.constant.device-name.ditroff"}}},{"name":"meta.device-resolution.ditroff","match":"\\G(r\\S*)((?:\\s+(\\d+)){1,3})\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?(?:\\s+(\\S.*?)\\s+(\\d+)[ \\t]*$)?[ \\t]*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.position.ditroff"},"3":{"name":"entity.name.font.ditroff"},"4":{"name":"string.other.link.filename.ditroff"},"5":{"name":"constant.numeric.integer.flags.ditroff"}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"variable.parameter.ditroff"}}},{"name":"meta.set-character-property.ditroff","match":"\\G([HS]\\S*)\\s+(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.unknown-command.ditroff","begin":"\\G(\\S+)","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.device.control.ditroff"}}}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"}}}]},"eol":{"name":"meta.end-of-line.ditroff","match":"(n)((?:\\s*\\d+){2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},"font":{"name":"meta.change-font.ditroff","match":"(f)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"graphics":{"patterns":[{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(C)\\s*(\\d+)(?:\\s+(\\d+))?","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditrof"},"3":{"name":"constant.numeric.integer.ditroff"},"4":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(E)((?:\\s*(\\d+)){1,2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"},"3":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.graphics.ditroff","begin":"(D)\\s*([lceafptPR~])","end":"(?=$|#)","patterns":[{"include":"text.roff#number"}],"beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}},{"name":"meta.graphics.unknown-command.ditroff","contentName":"variable.parameter.ditroff","begin":"(D)\\s*([^\\s\\\\])","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#deviceControl"},{"include":"#colourMode"},{"include":"#print"},{"include":"#font"},{"include":"#eol"},{"include":"#move"},{"include":"#size"},{"include":"#page"},{"include":"#graphics"},{"include":"#movePrint"},{"include":"#wordSpace"}]},"move":{"name":"meta.move.ditroff","match":"([HhVv])\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"movePrint":{"name":"meta.move-and-print.ditroff","match":"(\\d{2})(.)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"}}},"page":{"name":"meta.start-page.ditroff","match":"(p)\\s*(\\d+)","captures":{"1":{"name":"keyword.control.page.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"print":{"patterns":[{"name":"meta.print-character.indexed.ditroff","match":"(N)\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.print-character.ditroff","match":"(c)(?:\\s*(\\S)|(\\s))|(CPS|C)\\s*(\\S+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"},"3":{"name":"constant.character.whitespace.ditroff"},"4":{"name":"keyword.operator.function.ditroff"},"5":{"name":"string.unquoted.ditroff"}}},{"name":"meta.print-text.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(t)\\s*","end":"(?=$)|\\s+(\\d*)","beginCaptures":{"0":{"name":"keyword.operator.function.ditroff"},"1":{"name":"punctuation.definition.entity.ditroff"}},"endCaptures":{"1":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.print-text.track-kerned.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(u)\\s*(-?\\d+)\\s*","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}}]},"size":{"match":"(s)\\s*(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},"wordSpace":{"name":"keyword.operator.function.word-space.ditroff","match":"(?\u003c=^|[\\s\\d])w"},"xCommands":{"patterns":[{"begin":"(?:\\G|^)(?:(ps)\\s*(:)(?=\\s*(?:exec|m?def)\\b)|(PSSetup|PS)\\s*(:)?)","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G(?:(?\u003c=:)\\s*(?:(exec|def)|(mdef)(?:\\s+(\\d+))?)\\b)?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"source.embedded.postscript","match":".+","captures":{"0":{"patterns":[{"include":"source.postscript"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"keyword.device.control.subcommand.heirloom.ditroff"},"4":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(ps)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"match":"\\G\\s*(?:(invis)|(endinvis))\\b","captures":{"1":{"name":"keyword.control.suppress-output.begin.gnu.ditroff"},"2":{"name":"keyword.control.suppress-output.end.gnu.ditroff"}}},{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(file)(?:\\s+|$)","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"begin":"\\G\\s*(import)(?:\\s+|$)","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(pdf)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"keyword.control.directive.gnu.ditroff","match":"\\G\\s*(xrev)\\b"},{"begin":"\\G\\s*(pdfpic)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"name":"meta.pdfmark.$2.ditroff","begin":"\\G\\s*(mark(start|end|suspend|restart))\\b(\\s+(\\S.*))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"source.embedded.postscript"},"4":{"patterns":[{"include":"source.postscript"}]}}},{"name":"meta.transition-settings.ditroff","begin":"\\G\\s*(transition)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"name":"support.constant.other.mode.ditroff","match":"\\b(Blinds|Box|Cover|Dissolve|Fade|Fly|Glitter|Push|R|Split|Uncover|Wipe)\\b"},{"name":"constant.language.boolean.$1.ditroff","match":"\\b(true|false)\\b"},{"name":"constant.language.null.ditroff","match":"\\b(?:None)\\b"},{"name":"support.constant.feature.ditroff","match":"\\b(?:SLIDE|BLOCK)\\b"},{"name":"support.constant.dimension.ditroff","match":"\\b(?:H|V)\\b"},{"name":"support.constant.motion.ditroff","match":"\\b(?:I|O)\\b"},{"name":"constant.numeric.ditroff","match":"[-+]?[\\d.]+"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.pdfmark.ditroff","begin":"(?:\\G|^)(PDFMark)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"meta.bookmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(Bookmark(?:Closed)?)(?:\\s+(\\d+))?(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"storage.type.bookmark.ditroff"},"2":{"name":"constant.numeric.integer.level.ditroff"}}},{"name":"meta.pdfmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(\\S+)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.field.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(tty)s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.osc8-link.ditroff","begin":"\\G\\s*(link)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.link-destination.ditroff","match":"\\G\\s*(\\S+)","captures":{"1":{"name":"string.other.link.ditroff"}}},{"name":"meta.link-parameter.ditroff","contentName":"string.unquoted.ditroff","begin":"(?!\\G)([^\\s=]+)(=)","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"entity.other.attribute-name.ditroff"},"2":{"name":"punctuation.separator.key-value.ditroff"}}}],"beginCaptures":{"1":{"name":"storage.type.link.ditroff"}}},{"match":"\\G\\s*(sgr)\\b(?:\\s+([-+]?[\\d.0]+))?","captures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"constant.numeric.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.set-paper-size.ditroff","begin":"(?:\\G|^)(papersize)\\s*(=)","end":"(?=^(?!\\+))","patterns":[{"include":"source.ditroff.desc#paperSizes"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"storage.type.paper-size.ditroff"},"2":{"name":"punctuation.separator.key-value.equals-sign.ditroff"}}},{"name":"meta.devtag.ditroff","begin":"(?:\\G|^)(devtag)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"name":"entity.name.tag.ditroff","match":"\\.?[^\\s.]+(?:\\.[^\\s.]+)*+","captures":{"0":{"patterns":[{"name":"punctuation.definition.tag.ditroff","match":"\\."}]}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.infer.ditroff","begin":"(?:\\G|^)(infer)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"meta.$1-$2.ditroff","begin":"\\G\\s*(start|end)\\s+(\\S+)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"support.constant.other.ditroff","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.$1-scope.ditroff"},"2":{"name":"entity.name.type.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.manpage-reference.ditroff","match":"(?:\\G|^)(html)\\s+(?:(manref\\s+end)|(manref(?:\\s+start)?))(?:\\s+((?!#)\\S+))(?:\\s+(?:(\\()([0-9])(\\))|((?!#)\\S+)))","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"keyword.control.end-reference.ditroff"},"3":{"name":"keyword.control.start-reference.ditroff"},"4":{"name":"entity.name.subject.ditroff"},"5":{"name":"punctuation.definition.bracket.round.begin.ditroff"},"6":{"name":"constant.numeric.section.ditroff"},"7":{"name":"punctuation.definition.bracket.round.end.ditroff"},"8":{"name":"constant.numeric.section.ditroff"}}},{"begin":"(?:\\G|^)(index)\\s*(:)(?:\\s*(\\d+)(?=\\s))?.*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.assertion.ditroff","begin":"(?:\\G|^)(assertion)\\s*(:)(?=\\s*\\[)","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"\\G\\s*(\\[)(x|y)?","end":"\\s*(\\])|(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"punctuation.section.bracket.square.begin.ditroff"},"2":{"name":"variable.parameter.assertion-type.$2.ditroff"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.square.end.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)((?:html|math)\\b(?:\u003c[/?]p\u003e)?)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"text.embedded.html.basic","match":".+","captures":{"0":{"patterns":[{"include":"text.html.basic"}]}}}]},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(Anchor|U?Link)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.ditroff","begin":"\\G(?:\\s+([+-]?\\d+(?:,[+-]?\\d+)*+)(?=\\s))?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"patterns":[{"name":"constant.numeric.integer.ditroff","match":"\\d+"},{"name":"punctuation.separator.comma.ditroff","match":","}]}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(BleedAt|CropAt|HorScale|PaperSize|Track|TrimAt)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"match":"(?:\\G|^)(LC_CTYPE)\\b(?:\\s*(:))?\\s+((?!#)\\S+)(.*)","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"entity.name.locale.ditroff"},"4":{"patterns":[{"include":"#comment"}]}}},{"begin":"(?:\\G|^)(SupplyFont)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(\\S+)[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.font.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(SetColor)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"match":"(?:\\G|^)\\s*(?:([\\s\\d.]+)(?\u003c=\\s)(rgb|hsb|cmyk|setgray|setcolor)|(\\S+))","captures":{"1":{"patterns":[{"name":"constant.numeric.ditroff","match":"[\\d.]+"}]},"2":{"name":"constant.language.colour-scheme.ditroff"},"3":{"name":"variable.other.named-colour.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"(?:\\G|^)([^\\s:#]+)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"include":"#continueLine"}]},"xImportParams":{"patterns":[{"match":"(?:\\G|^(\\+[ \\t]+)?)(\\S+)(?:\\s+((-)[LCR]))?","captures":{"1":{"patterns":[{"include":"#continueLine"}]},"2":{"name":"string.other.link.filename.ditroff"},"3":{"name":"constant.language.alignment-type.ditroff"},"4":{"name":"punctuation.definition.dash.ditroff"}}},{"name":"constant.numeric.ditroff","match":"[-+]?(?:\\d*\\.\\d+|\\d+)"},{"include":"#continueLine"}]}}}
@@ -1 +1 @@
1
- {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\([\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})"},{"name":"invalid.illeagal.character.string.fsharp","match":"\\\\(?![\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})."},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
1
+ {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use\\!|and|and!)\\s*(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}