Created
March 10, 2018 00:29
-
-
Save x8x/99be6e9858afcb459b6e470aceb2e2f1 to your computer and use it in GitHub Desktop.
TM-rebol-syntax
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
<plist version="1.0"> | |
<dict> | |
<key>fileTypes</key> | |
<array> | |
<string>r</string> | |
</array> | |
<key>foldingStartMarker</key> | |
<string>\[{?(\s*;.*)*$</string> | |
<key>foldingStopMarker</key> | |
<string>\](\s*;.*)*$</string> | |
<key>keyEquivalent</key> | |
<string>@</string> | |
<key>name</key> | |
<string>Rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>^#!/.*(-cs?|--cgi)$</string> | |
<key>name</key> | |
<string>comment.shebang</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>;.*$</string> | |
<key>name</key> | |
<string>comment.rebol</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>comment\s*\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>comment.multiline.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#nested-comment-multiline</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>#\[(?:(\w+!)|(true|false|none))</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>native.datatype.rebol</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>logic.rebol</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>]</string> | |
<key>name</key> | |
<string>series.literal.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>$self</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>#"</string> | |
<key>end</key> | |
<string>"</string> | |
<key>name</key> | |
<string>character.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\^.</string> | |
<key>name</key> | |
<string>character.escaped.rebol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>#\[(true|false|none)]</string> | |
<key>name</key> | |
<string>logic.rebol</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>"</string> | |
<key>end</key> | |
<string>"</string> | |
<key>name</key> | |
<string>string.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\^.</string> | |
<key>name</key> | |
<string>string.escaped.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>&([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);</string> | |
<key>name</key> | |
<string>constant.character.entity.html</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>string.multiline.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\^.</string> | |
<key>name</key> | |
<string>string.escaped.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>&([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);</string> | |
<key>name</key> | |
<string>constant.character.entity.html</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nested-string-multiline</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string><(?:/|%\ )?(?:([-_a-zA-Z0-9]+):)?([-_a-zA-Z0-9:]+)</string> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.other.namespace.xml</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>entity.name.tag.xml</string> | |
</dict> | |
</dict> | |
<key>end</key> | |
<string>(?:/|\ %)?></string> | |
<key>name</key> | |
<string>entity.tag.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#tagStuff</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>%"</string> | |
<key>end</key> | |
<string>"</string> | |
<key>name</key> | |
<string>string.file.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>%[A-Fa-f0-9]{2}</string> | |
<key>name</key> | |
<string>constant.character.hex.rebol</string> | |
</dict> | |
</array> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>%[^\s\n\[\]\(\)]*</string> | |
<key>name</key> | |
<string>string.file.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[A-Za-z][\w]{1,7}:(/{0,3}[^\s\n\[\]\(\)]+|//)</string> | |
<key>name</key> | |
<string>string.url.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[^\s\n:/\[\]\(\)]+@[^\s\n:/\[\]\(\)]+</string> | |
<key>name</key> | |
<string>string.email.rebol</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>2#\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>binary.base2.rebol</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>64#\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>binary.base64.rebol</string> | |
</dict> | |
<dict> | |
<key>begin</key> | |
<string>(16)?#\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>binary.base16.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>#[^\s\n\[\]\(\)]*</string> | |
<key>name</key> | |
<string>string.issue.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\d{1,2}\-([A-Za-z]{3}|January|Febuary|March|April|May|June|July|August|September|October|November|December)\-\d{4}</string> | |
<key>name</key> | |
<string>date.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>([-+]?[:]\d{1,2}([aApP][mM])?)|([-+]?[:]\d{1,2}[.]\d{0,9})|([-+]?\d{1,2}[:]\d{1,2}([aApP][mM])?)|([-+]?\d{1,2}[:]\d{1,2}[.]\d{0,9})|([-+]?\d{1,2}[:]\d{1,2}[:]\d{1,2}([.]\d{0,9})?([aApP][mM])?)(?!\w)</string> | |
<key>name</key> | |
<string>time.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>([[:digit:]]{0,3}[.][[:digit:]]{0,3}[.][[:digit:]]{0,3}([.][[:digit:]]{0,3}){0,7})</string> | |
<key>name</key> | |
<string>tuple.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<!\w|\.)([-+]?((\d+\.?\d*)|(\.\d+))((e|E)(\+|-)?\d+)?)(?!\w)</string> | |
<key>name</key> | |
<string>number.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<!\w)[-+]?[[:digit:]]+[x][[:digit:]]+</string> | |
<key>name</key> | |
<string>pair.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[A-Za-z=_][A-Za-z0-9=\-\!\?\_\.\*]*:</string> | |
<key>name</key> | |
<string>word.set.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>:[A-Za-z=_][A-Za-z0-9=\-\!\?\_\.\*]*</string> | |
<key>name</key> | |
<string>word.get.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>'[A-Za-z=_][A-Za-z0-9=\-\!\?\_\.\*]*</string> | |
<key>name</key> | |
<string>word.lit.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\b(end\!|unset\!|error\!|datatype\!|context\!|native\!|action\!|routine\!|op\!|function\!|object\!|struct\!|library\!|port\!|any-type\!|any-word\!|any-function\!|number\!|series\!|any-string\!|any-block\!|symbol\!|word\!|set-word\!|get-word\!|lit-word\!|refinement\!|none\!|logic\!|integer\!|decimal\!|money\!|time\!|date\!|char\!|pair\!|event\!|tuple\!|bitset\!|string\!|issue\!|binary\!|file\!|email\!|url\!|image\!|tag\!|block\!|paren\!|path\!|set-path\!|lit-path\!|hash\!|list\!)(?!\w)</string> | |
<key>name</key> | |
<string>native.datatype.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>REBOL</string> | |
<key>name</key> | |
<string>native.header.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(?<!\w|-|/|\.)(about|abs|absolute|action\?|add|alert|alias|all|alter|and|and~|any|any-block\?|any-function\?|any-string\?|any-type\?|any-word\?|append|arccosine|arcsine|arctangent|array|as-binary|as-pair|as-string|ask|at|attempt|back|binary\?|bind|bind\?|bitset\?|block\?|break|brightness\?|browse|build-attach-body|build-markup|build-tag|call|caret-to-offset|case|catch|center-face|change|change-dir|char\?|charset|checksum|choose|clean-path|clear|clear-face|clear-fields|close|comment|complement|component\?|compose|compress|confine|confirm|connected\?|construct|context|copy|copy*|cosine|cp|crypt-strength\?|cvs-date|cvs-version|datatype\?|date\?|dbug|debase|decimal\?|decloak|decode-cgi|decode-url|decompress|deflag-face|dehex|delete|delete-dir|desktop|detab|dh-compute-key|dh-generate-key|dh-make-key|difference|dir\?|dirize|disarm|dispatch|divide|do|do-boot|do-browser|do-events|do-face|do-face-alt|do-thru|does|draw|dsa-generate-key|dsa-make-key|dsa-make-signature|dsa-verify-signature|dump-face|dump-obj|dump-pane|echo|edge-size\?|editor|eighth|either|else|email\?|emailer|empty\?|enbase|encloak|entab|equal\?|error\?|even\?|event\?|exclude|exists-thru\?|exists\?|exit|exp|extract|fifth|file\?|find|find-key-face|find-window|first|flag-face|flag-face\?|flash|focus|for|forall|foreach|forever|form|forskip|found\?|fourth|free|func|function|function\?|get|get-env|get-face|get-modes|get-net-info|get-style|get-word\?|greater-or-equal\?|greater\?|halt|has|hash\?|head|head\?|help|hide|hide-popup|hilight-all|hilight-text|hsv-to-rgb|if|image\?|import-email|in|in-window\?|index\?|info\?|inform|input|input\?|insert|insert-event-func|inside\?|install|integer\?|intersect|issue\?|join|last|launch|launch-thru|layout|length\?|lesser-or-equal\?|lesser\?|library\?|license|link-app\?|link-relative-path|link\?|list-dir|list\?|lit-path\?|lit-word\?|load|load-image|load-stock|load-stock-block|load-thru|local-request-file|log-10|log-2|log-e|logic\?|loop|lowercase|make|make-dir|make-face|max|maximum|maximum-of|min|minimum|minimum-of|mod|modified\?|modulo|mold|money\?|multiply|native|native\?|negate|negative\?|net-error|new-line|new-line\?|next|ninth|none\?|not|not-equal\?|notify|now|number\?|object\?|odd\?|offset-to-caret|offset\?|op\?|open|open-events|or|or~|outside\?|overlap\?|pair\?|paren\?|parse|parse-email-addrs|parse-header|parse-header-date|parse-xml|path|path-thru|path\?|pick|poke|port\?|positive\?|power|prin|print|probe|protect|protect-system|q|query|quit|random|read|read-cgi|read-io|read-net|read-thru|recycle|reduce|refinement\?|reform|rejoin|remainder|remold|remove|remove-each|remove-event-func|rename|repeat|repend|replace|request|request-color|request-date|request-dir|request-download|request-file|request-list|request-pass|request-text|resend|reset-face|resize-face|return|reverse|rgb-to-hsv|round|routine\?|rsa-encrypt|rsa-generate-key|rsa-make-key|run|same\?|save|save-user|screen-offset\?|script\?|scroll-drag|scroll-face|scroll-para|second|secure|select|send|series\?|set|set-face|set-font|set-modes|set-net|set-para|set-path\?|set-style|set-user-name|set-word\?|seventh|show|show-popup|sign\?|sine|sixth|size-text|size\?|skip|sort|source|span\?|split-path|square-root|stats|strict-equal\?|strict-not-equal\?|string\?|struct\?|stylize|subtract|suffix\?|switch|system|tag\?|tail|tail\?|tangent|tenth|textinfo|third|throw|throw-on-error|time\?|to|to-binary|to-bitset|to-block|to-char|to-datatype|to-date|to-decimal|to-email|to-error|to-file|to-get-word|to-hash|to-hex|to-idate|to-image|to-integer|to-issue|to-itime|to-library|to-list|to-lit-path|to-lit-word|to-local-file|to-logic|to-money|to-none|to-pair|to-paren|to-path|to-port|to-rebol-file|to-refinement|to-set-path|to-set-word|to-string|to-tag|to-time|to-tuple|to-url|to-word|trace|trim|try|tuple\?|type\?|unfocus|uninstall|union|unique|unless|unlight-text|unprotect|unset|unset\?|until|unview|update|upgrade|uppercase|url\?|Usage|use|value\?|vbug|view|viewed\?|wait|what|what-dir|while|win-offset\?|within\?|word\?|write|write-io|write-user|xor|xor~|zero\?|/local|thru|end|ifs)(?!(\w|-|\.))|(^|\s)(\+|-|\*\*?|//?|=|>=?|<(=|>)?)($|\s)</string> | |
<key>name</key> | |
<string>native.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>\b(true|on|yes|false|off|no|none)(?!(\w|-|/|\.))</string> | |
<key>name</key> | |
<string>logic.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>/[A-Za-z=_][A-Za-z0-9=\-\!\?\_\.\*]*</string> | |
<key>name</key> | |
<string>word.refine.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>[A-Za-z=_][A-Za-z0-9=_\-\!\?\.\*]*</string> | |
<key>name</key> | |
<string>word.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>(<[^<>]+>)|(\[|\]|\(|\))</string> | |
<key>name</key> | |
<string>tag.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>/</string> | |
<key>name</key> | |
<string>slash.tag.rebol</string> | |
</dict> | |
</array> | |
<key>repository</key> | |
<dict> | |
<key>doublequotedString</key> | |
<dict> | |
<key>begin</key> | |
<string>"</string> | |
<key>end</key> | |
<string>"</string> | |
<key>name</key> | |
<string>string.quoted.double.xml</string> | |
</dict> | |
<key>nested-comment-multiline</key> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>comment.multiline.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>include</key> | |
<string>#nested-comment-multiline</string> | |
</dict> | |
</array> | |
</dict> | |
<key>nested-string-multiline</key> | |
<dict> | |
<key>begin</key> | |
<string>\{</string> | |
<key>end</key> | |
<string>\}</string> | |
<key>name</key> | |
<string>string.multiline.rebol</string> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>match</key> | |
<string>\^.</string> | |
<key>name</key> | |
<string>string.escaped.rebol</string> | |
</dict> | |
<dict> | |
<key>match</key> | |
<string>&([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);</string> | |
<key>name</key> | |
<string>constant.character.entity.html</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#nested-string-multiline</string> | |
</dict> | |
</array> | |
</dict> | |
<key>singlequotedString</key> | |
<dict> | |
<key>begin</key> | |
<string>'</string> | |
<key>end</key> | |
<string>'</string> | |
<key>name</key> | |
<string>string.quoted.single.xml</string> | |
</dict> | |
<key>tagStuff</key> | |
<dict> | |
<key>patterns</key> | |
<array> | |
<dict> | |
<key>captures</key> | |
<dict> | |
<key>1</key> | |
<dict> | |
<key>name</key> | |
<string>entity.other.namespace.xml</string> | |
</dict> | |
<key>2</key> | |
<dict> | |
<key>name</key> | |
<string>entity.other.attribute-name.xml</string> | |
</dict> | |
</dict> | |
<key>match</key> | |
<string> (?:([-_a-zA-Z0-9]+):)?([_a-zA-Z-]+)</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#doublequotedString</string> | |
</dict> | |
<dict> | |
<key>include</key> | |
<string>#singlequotedString</string> | |
</dict> | |
</array> | |
</dict> | |
</dict> | |
<key>scopeName</key> | |
<string>source.rebol</string> | |
<key>uuid</key> | |
<string>5E7960E3-61EC-445D-BC90-94C8039D5614</string> | |
</dict> | |
</plist> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment