[REBOL] Re: Developing Rebol under Linux for the console averse with gedit
From: btiffin::rogers::com at: 18-Sep-2008 0:45
Someone asked, so I tracked down the KATE highlighter.
I've attached rebol.vim - ships with vim 7.1 (could perhaps use a duff over) -
and rebol.xml for KATE. Place this
in /usr/share/apps/katepart/syntax/rebol.xml (Debian 4, KDE 3.5.9) Also
comes with a highlight tester. This file could definitely use a good
duffing.
Note; I snagged this off some KDE mail archive a long time ago ... I may
well be in breach of the author's copyrights for this and if so I apologize.
It is licensed LGPL, but the file was never published outside the mailing as
far as I know; unaccepted by the KATE team back in the day for failing some
XML conformance test. I'm assuming it's ok to copy as that seemed to be
Roland's intent.
Roland Hadinger did the posting ... which I found linked here, but this isn't
the archive where I originally found it:
http://markmail.org/message/z6cvjfjmv6n47o4i#query:
+page:1+mid:owsauba3h4fpi23k+state:results
Personally I don't care about perfection with highlighters. This works for
me, and I tote it around from system to system. KATE features outweigh the
downside of some of the problems (and slash path confusion is one major
drawback ... but again, I rarely care). Running an editor with rebol in an
embedded konsole terminal session is just cool. KATE will send cd commands
to the terminal to change to the directory of the current source file, pretty
neat.
Cheers,
Brian
On September 13, 2008 02:30:54 pm Brian Tiffin wrote:
> If anyone likes KATE; there is an xml you can snag off of an email archive
> for a REBOL syntax highlighter. I'll track it down if anyone likes.
> ...
-- Binary/unsupported file stripped by Ecartis --
-- Type: text/xml
-- File: rebol.xml
-- Attached file included as plaintext by Ecartis --
-- File: highlight.r
REBOL [
Title: "Test file for REBOL syntax hilighting"
Author: "Roland Hadinger (roland.hadinger-arcor.de)"
Date: "2005-06-09"
License: "LGPL"
]
ctx-test: context [
do system/options/home/local/include/split-lines.r
tuples: [
datatype 255.107.30 bold normal
char 141.131.255 normal normal
decimal 126.168.255 normal normal
integer 136.154.255 normal normal
...
]
chars: [
"amp" #"&" none
"quot" #"^"" none
"lt" #"<" none
"gt" #">" none
"nbsp" #"^(A0)" none
...
]
strings: [
"euro" none "sbquo" none "bdquo" "hellip"
"dagger" "Dagger" none "permil" none "lsaquo"
none none none none none "lsquo"
"rsquo" "ldquo" "rdquo" "bull" "ndash" "mdash"
...
]
pairs: [
-0087x00419 -0095x00391 -0090x00375 -0068x00375 -0058x00364 -0015x00372
00002x00408 00031x00421 00031x00441 00065x00431 00133x00460 00195x00427
00225x00446 00225x00480 00226x00517 00202x00544 00111x00546 00095x00574
-0016x00464 -0011x00436 -0091x00433 none
...
]
dates: [
05-06-07 none
2005/04/19/16:56:42+02:00 none
2005-September-19 none
3171-Confusion-14 none
99999-99-99/99:99:99+99:99 none
]
integers: [
1'000'000'000 none
1000000000 none
+1'000'000'000 none
+1000000000 none
-1'000'000'000 none
-1000000000 none
]
decimals: [
0. none
.0 none
1.0 none
2.718281828459045235428168107993940338929 none
3.141'592'653'589'793'238'462'643'383'279 none
1'000'000'000.0 none
1.0e100 none
1.0E100 none
1.0e+100 none
1.0e-100 none
]
files: [
%build/index.r none
%demos/index.r none
%docs/index.r none
%sync/index.r none
%work/index.r none
%"/C/Program Files/Rebol/" none
]
binaries: [
#{
FF000000CE444444004444440044444400444444CE444444FF000000CE444444
0044444400B3B3B300B3B3B300B3B3B300444444CE4444440044444400B3B3B3
00B3B3B300B3B3B300B3B3B300B3B3B3004444440044444400B3B3B300B3B3B3
00D2D2D200E1E1E100E1E1E1004444440044444400B3B3B300D2D2D200D2D2D2
00E1E1E100E1E1E1004444440044444400B3B3B300D2D2D200D2D2D200E1E1E1
00E1E1E1004444440044444400B3B3B300D2D2D200D2D2D200E1E1E100E1E1E1
004444440044444400B3B3B300D2D2D200D2D2D200E1E1E100E1E1E100444444
0044444400B3B3B300D2D2D200D2D2D200D2D2D200E1E1E10044444400444444
00B3B3B300B3B3B300D2D2D200D2D2D200D2D2D2004444440044444400B3B3B3
00D2D2D200D2D2D200E1E1E100E1E1E1004444440044444400B3B3B300E1E1E1
00E1E1E100E9E9E900E1E1E100444444CE4444440044444400E9E9E900E9E9E9
00E9E9E900444444CE444444FF000000CE444444004444440044444400444444
CE444444FF000000
} none
64#{
/wAAAM5EREQAREREAERERABERETORERE/wAAAM5EREQAREREALOzswCzs7MAs7Oz
AERERM5EREQAREREALOzswCzs7MAs7OzALOzswCzs7MAREREAERERACzs7MAs7Oz
ANLS0gDh4eEA4eHhAERERABEREQAs7OzANLS0gDS0tIA4eHhAOHh4QBEREQARERE
ALOzswDS0tIA0tLSAOHh4QDh4eEAREREAERERACzs7MA0tLSANLS0gDh4eEA4eHh
AERERABEREQAs7OzANLS0gDS0tIA4eHhAOHh4QBEREQAREREALOzswDS0tIA0tLS
ANLS0gDh4eEAREREAERERACzs7MAs7OzANLS0gDS0tIA0tLSAERERABEREQAs7Oz
ANLS0gDS0tIA4eHhAOHh4QBEREQAREREALOzswDh4eEA4eHhAOnp6QDh4eEARERE
zkRERABEREQA6enpAOnp6QDp6ekAREREzkRERP8AAADOREREAERERABEREQARERE
zkRERP8AAAA } none
2#{
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
} none
]
issue: #1000-00-ABCXYZabcxyz
money: US$2'000'000.00
email: someone-example.com none
tags:[
<h1> </h1>
<img src="example.gif" alt="example" />
<multiline
tag> ;; doesn't work
]
emit: none
emit?: false
emit-html-entities: func [data /local str f] [
str: copy ""
foreach c either block? data [form reduce data] [data] [
insert tail str either f: find/skip/case at head char-entities 2 c 2 [
rejoin [#"&" pick f -1 ";"]
][
c
]
]
emit str
]
to-color: func [tuple /local result][
result: copy "#"
repeat n 3 [insert tail result back back tail to-hex pick tuple n]
result
]
feed-on-value: func [
value
/local lines
][
any [
if all [
preceding-word
word? :value
find [func function does has context object!] :value
not found? find/skip words preceding-word 3
][
repend words [preceding-word rejoin ["#line" preceding-pos] false] ; hier noch Datei
preceding-word: none
preceding-pos: none
]
all [
preceding-word
word? :value
find [make] :value
]
if set-word? :value [attempt [preceding-word: to-word value preceding-pos: line-number]]
if lit-word? :value [attempt [preceding-word: to-word value preceding-pos: line-number]]
if set-path? :value [attempt [preceding-word: to-word last value preceding-pos: line-number]]
(preceding-word: preceding-pos: none)
]
]
set 'test-func func [
text [string!] "Source code text"
/local str new value blk-rule
][
out: make string! 3 * length? text
clear words
set [value text] load/next/header detab text
foreach e reduce [false true] [
emit: func [data] pick [[repend out data] []] emit?: e
emit {<pre>}
line-number: 1
preceding-word: none
preceding-pos: none
previous-style: none
if emit? [emit-line-number]
emit-lines copy/part head text text "header" emit?
parse/all text blk-rule: [ ;PARSE
some [
str:
some [" " | tab] new: (if emit? [emit copy/part str new])
| newline (emit-new-line)
| #";" [thru newline | to end] new: (emit-style none copy/part str new)
| [#"[" | #"("] (emit-lines copy/part str 1 "op" emit?) ;blk-rule
| [#"]" | #")"] (emit-lines copy/part str 1 "op" emit?)
| skip (
set [value new] load/next str
if not emit? [feed-on-value :value index? str]
emit-value :value str new
) :new
]
]
]
if previous-style [emit {</span>}]
emit {</span></pre>}
out
]
set 'color-code-css func [
/local css
][
css: make string! 10000
css: append css
{
#content ^{
border-right:0;
^}
a,pre ^{
color:#FFFFFF;
font-family:"Courier New",monospace;
font-style:normal;
font-size:7pt;
^}
pre ^{
font-weight:normal;
margin:0 0 0 -25px;
padding:0 0 0 0;
^}
span.line ^{
color:#555555;
font-weight:bold;
^}
span.line5 ^{
color:#FFFFFF;
font-weight:bold;
^}
}
foreach [style color font-weight font-style] styles [
css: repend css [
{span.} style
{ ^{^/ color:} to-color color
{;^/ font-style:} font-style
{;^/ font-weight:} font-weight
{;^/^}^/}
]
]
css
]
set 'site-color-code func [
file outfile level
/local str code up-dir
][
either (find/last file %.r) = skip tail file -2 [
code: color-code read file
][
code: rejoin [{<pre>} read file {</pre>}]
]
up-dir: copy ""
loop level [append up-dir "../"]
str: rejoin [
{<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15" />
<meta name="author" content="Roland Hadinger" />
<title>errru.net</title>
<link rel="stylesheet" type="text/css" href="} up-dir {stylesheet.css" />
<link rel="stylesheet" type="text/css" href="} up-dir {syntax.css" />
</head>
<body>
<div id="pageframe">
<div id="header">
<a href="http://www.errru.net/"><img src="} up-dir {images/header.png" width="620" height="136"
alt="header" /></a>
</div>
<div id="content">
} code {
</div>
<div id="footer">
<img src="} up-dir {images/footer.png" width="620" height="44" alt="footer" />
</div>
</div>
</body>
</html>
}
]
if any [not exists? outfile str <> read outfile] [
write outfile str
]
]
]
;; Lists of all keywords
;; datatypes
action! any-block! any-function! any-string! any-type! any-word! binary! bitset!
block! char! datatype! date! decimal! email! end! error! event! file! function!
get-word! hash! image! integer! issue! library! list! lit-path! lit-word! logic!
money! native! none! number! object! op! pair! paren! path! port! refinement!
routine! series! set-path! set-word! string! struct! symbol! tag! time! tuple!
unset! url! word!
;; operators
> >= < <> <= * ** + - / // = == =? and or xor
;; actions
abs absolute add and~ at back change clear complement copy copy* cp divide
eighth fifth find first fourth head insert last make max maximum min minimum
multiply negate next ninth or~ path pick poke power random remainder remove
second select seventh sixth skip sort subtract tail tenth third to trim xor~
;; actions?
action? any-block? any-function? any-string? any-type? any-word? binary? bitset?
block? char? datatype? date? decimal? email? empty? equal? error? even? event?
file? function? get-word? greater-or-equal? greater? hash? head? image? index?
integer? issue? length? lesser-or-equal? lesser? library? list? lit-path?
lit-word? logic? money? native? negative? none? not-equal? number? object? odd?
op? pair? paren? path? port? positive? refinement? routine? same? series?
set-path? set-word? strict-equal? strict-not-equal? string? struct? tag? tail?
time? tuple? unset? url? word? zero?
;; natives
alias all any arccosine arcsine arctangent as-binary as-string bind break browse
call caret-to-offset case catch checksum close comment compose compress
construct cosine debase decloak decompress dehex detab dh-compute-key
dh-generate-key dh-make-key difference disarm do do-browser draw
dsa-generate-key dsa-make-key dsa-make-signature dsa-verify-signature either
else enbase encloak entab exclude exit exp foreach form free get get-env
get-modes halt hide hsv-to-rgb if in intersect launch load local-request-file
log-10 log-2 log-e loop lowercase maximum-of minimum-of mold native new-line not
now offset-to-caret open parse prin print protect query quit read read-io
recycle reduce remove-each repeat return reverse rgb-to-hsv rsa-encrypt
rsa-generate-key rsa-make-key run save secure set set-modes show sine size-text
square-root stats tangent textinfo throw to-hex to-local-file to-rebol-file
trace try union unique unless unprotect unset until update uppercase use wait
while write write-io
;; natives?
connected? crypt-strength? input? new-line? script? type? value?
;; functions
? ?? about alert alter append array as-pair ask attempt build-attach-body
build-markup build-tag center-face change-dir charset choose clean-path
clear-face clear-fields confine confirm context cvs-date cvs-version dbug
decode-cgi decode-url deflag-face delete delete-dir desktop dirize dispatch
do-boot do-events do-face do-face-alt do-thru does dump-face dump-obj dump-pane
echo editor emailer extract find-key-face find-window flag-face flash focus for
forall forever forskip func function get-face get-net-info get-style has help
hide-popup hilight-all hilight-text import-email inform input insert-event-func
install join launch-thru layout license link-relative-path list-dir load-image
load-stock load-stock-block load-thru make-dir make-face mod modulo net-error
notify open-events parse-email-addrs parse-header parse-header-date parse-xml
path-thru probe protect-system read-cgi read-net read-thru reform rejoin remold
remove-event-func rename repend replace request request-color request-date
request-dir request-download request-file request-list request-pass request-text
resend reset-face resize-face round save-user scroll-drag scroll-face
scroll-para send set-face set-font set-net set-para set-style set-user-name
show-popup source split-path stylize switch throw-on-error 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-idate to-image to-integer to-issue to-itime to-library
to-list to-lit-path to-lit-word to-logic to-money to-none to-pair to-paren
to-path to-port to-refinement to-set-path to-set-word to-string to-tag to-time
to-tuple to-url to-word unfocus uninstall unlight-text unview upgrade Usage vbug
view what what-dir write-user
;; functions?
brightness? component? dir? edge-size? exists-thru? exists? flag-face? found?
in-window? info? inside? link-app? link? modified? offset? outside? overlap?
screen-offset? sign? size? span? suffix? viewed? win-offset? within?
;; vid-facets
[ ;VID
as-is bevel bold bottom center colors doc edge effect effects feel font
font-color font-name font-size frame help ibevel italic keycode left middle
no-wrap of para plain rate right shadow texts top underline user-data with wrap
]
;; vid-styles
[ ;VID
ANIM AREA ARROW BACKDROP BACKTILE BANNER BAR BASE-TEXT blank-face BODY BOX BTN
BTN-CANCEL BTN-ENTER BTN-HELP BUTTON CHECK CHECK-LINE CHECK-MARK CHOICE CODE
DROP-DOWN face FIELD H1 H2 H3 H4 H5 ICON IMAGE INFO KEY LAB LABEL LBL LED LIST
LOGO-BAR PANEL PROGRESS RADIO RADIO-LINE ROTARY SCROLLER SENSOR SLIDER TEXT
TEXT-LIST TITLE TOG TOGGLE TT TXT VH1 VH2 VH3 VH4 VLAB VTEXT
]
;; vid-words
[ ;VID
across at backcolor backeffect below do guide indent origin pad return size
space style styles tab tabs
]
;; parse-words
[ ;PARSE
any break copy end none opt set skip some thru to |
]
;; draw-words
[ ;DRAW
anti-alias arc arrow bevel-join bilinear box butt-cap circle clip conic curve
diamond ellipse even-odd fill-pen fill-rule font gamma image image-filter
invert-matrix line line-cap line-join line-pattern line-width linear matrix
miter-join miter-join-revert nearest non-zero pen polygon pop push radial
reset-matrix rotate round-cap round-join scale shape skew spline sqrt-xy-axis
square-cap text transform translate triangle xy-axis
]
;; shape-words
[ ;SHAPE
arc curv curve hline line move qcurv qcurve vline
]
;; effect-words
[ ;EFFECT
add alphamul arrow aspect blur colorize contrast crop cross difference draw
emboss extend fit flip gradcol gradient gradmul grayscale grid hsv invert key
luma merge mix multiply oval reflect rotate sharpen tile tile-view tint
]
;; integers
zero
;; decimals
pi
;; strings
crlf font-fixed font-sans-serif font-serif
;; chars
backslash backspace bs cr escape lf newline newpage null slash tab
;; objects
blank-face ctx-access ctx-emailer ctx-prefs ctx-text dtw-skin error-object face
header-rules mail-list-rules net-utils REBOL req-dir req-file req-funcs
Root-Protocol sound svv svvc svvf System user-prefs xml-language
;; logics
alive? false net-watch no off on rebol-command? rebol-encap? rebol-link?
rebol-pro? rebol-view? true view? yes
;; tuples
aqua bar-color base-color beige black blue brick brown button-color coal coffee
crimson cyan forest gold gray green ivory khaki leaf linen magenta main-color
maroon mint navy oldrab olive orange over-color papaya pewter pink purple reblue
rebolor red sienna silver sky snow tan teal violet water wheat white yellow
-- Attached file included as plaintext by Ecartis --
-- File: rebol.vim
Vim syntax file
Language: Rebol
Maintainer: Mike Williams <mrw-eandem.co.uk>
Filenames: *.r
Last Change: 27th June 2002
URL: http://www.eandem.co.uk/mrw/vim
For version 5.x: Clear all syntax items
For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists(
b:current_syntax")
finish
endif
Rebol is case insensitive
syn case ignore
As per current users documentation
if version < 600
set isk=-,48-57,?,!,.,',+,-,*,&,\|,=,_,~
else
setlocal isk=-,48-57,?,!,.,',+,-,*,&,\|,=,_,~
endif
Yer TODO highlighter
syn keyword rebolTodo contained TODO
Comments
syn match rebolComment ";.*$" contains=rebolTodo
Words
syn match rebolWord
\a\k*"
syn match rebolWordPath "[^[:space:]]/[^[:space]]"ms=s+1,me=e-1
Booleans
syn keyword rebolBoolean true false on off yes no
Values
Integers
syn match rebolInteger
\<[+-]\=\d\+\('\d*\)*\>"
Decimals
syn match rebolDecimal
[+-]\=\(\d\+\('\d*\)*\)\=[,.]\d*\(e[+-]\=\d\+\)\="
syn match rebolDecimal "[+-]\=\d\+\('\d*\)*\(e[+-]\=\d\+\)\="
Time
syn match rebolTime
[+-]\=\(\d\+\('\d*\)*\:\)\{1,2}\d\+\('\d*\)*\([.,]\d\+\)\=\([AP]M\)\=\>"
syn match rebolTime "[+-]\=:\d\+\([.,]\d*\)\=\([AP]M\)\=\>"
Dates
DD-MMM-YY & YYYY format
syn match rebolDate "\d\{1,2}\([/-]\)\(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\1\(\d\{2}\)\{1,2}\>"
DD-month-YY & YYYY format
syn match rebolDate
\d\{1,2}\([/-]\)\(January\|February\|March\|April\|May\|June\|July\|August\|September\|October\|November\|December\)\1\(\d\{2}\)\{1,2}\>"
DD-MM-YY & YY format
syn match rebolDate
\d\{1,2}\([/-]\)\d\{1,2}\1\(\d\{2}\)\{1,2}\>"
YYYY-MM-YY format
syn match rebolDate
\d\{4}-\d\{1,2}-\d\{1,2}\>"
DD.MM.YYYY format
syn match rebolDate
\d\{1,2}\.\d\{1,2}\.\d\{4}\>"
Money
syn match rebolMoney
\a*\$\d\+\('\d*\)*\([,.]\d\+\)\="
Strings
syn region rebolString oneline start=+
+ skip=+^"+ end=+"+ contains=rebolSpecialCharacter
syn region rebolString start=+[^#]{+ end=+}+ skip=+{[^}]*}+ contains=rebolSpecialCharacter
Binary
syn region rebolBinary start=+\d*#{+ end=+}+ contains=rebolComment
Email
syn match rebolEmail "\<\k\+-\(\k\+\.\)*\k\+\>"
File
syn match rebolFile
%\(\k\+/\)*\k\+[/]\=" contains=rebolSpecialCharacter
syn region rebolFile oneline start=+%"+ end=+"+ contains=rebolSpecialCharacter
URLs
syn match rebolURL
http://\k\+\(\.\k\+\)*\(:\d\+\)\=\(/\(\k\+/\)*\(\k\+\)\=\)*"
syn match rebolURL "file://\k\+\(\.\k\+\)*/\(\k\+/\)*\k\+"
syn match rebolURL "ftp://\(\k\+:\k\+-\)\=\k\+\(\.\k\+\)*\(:\d\+\)\=/\(\k\+/\)*\k\+"
syn match rebolURL "mailto:\k\+\(\.\k\+\)*-\k\+\(\.\k\+\)*"
Issues
syn match rebolIssue
#\(\d\+-\)*\d\+"
Tuples
syn match rebolTuple
\(\d\+\.\)\{2,}"
Characters
syn match rebolSpecialCharacter contained
\^[^[:space:][]"
syn match rebolSpecialCharacter contained "%\d\+"
Operators
Math operators
syn match rebolMathOperator "\(\*\{1,2}\|+\|-\|/\{1,2}\)"
syn keyword rebolMathFunction abs absolute add arccosine arcsine arctangent cosine
syn keyword rebolMathFunction divide exp log-10 log-2 log-e max maximum min
syn keyword rebolMathFunction minimum multiply negate power random remainder sine
syn keyword rebolMathFunction square-root subtract tangent
Binary operators
syn keyword rebolBinaryOperator complement and or xor ~
Logic operators
syn match rebolLogicOperator "[<>=]=\="
syn match rebolLogicOperator "<>"
syn keyword rebolLogicOperator not
syn keyword rebolLogicFunction all any
syn keyword rebolLogicFunction head? tail?
syn keyword rebolLogicFunction negative? positive? zero? even? odd?
syn keyword rebolLogicFunction binary? block? char? date? decimal? email? empty?
syn keyword rebolLogicFunction file? found? function? integer? issue? logic? money?
syn keyword rebolLogicFunction native? none? object? paren? path? port? series?
syn keyword rebolLogicFunction string? time? tuple? url? word?
syn keyword rebolLogicFunction exists? input? same? value?
Datatypes
syn keyword rebolType binary! block! char! date! decimal! email! file!
syn keyword rebolType function! integer! issue! logic! money! native!
syn keyword rebolType none! object! paren! path! port! string! time!
syn keyword rebolType tuple! url! word!
syn keyword rebolTypeFunction type?
Control statements
syn keyword rebolStatement break catch exit halt reduce return shield
syn keyword rebolConditional if else
syn keyword rebolRepeat for forall foreach forskip loop repeat while until do
Series statements
syn keyword rebolStatement change clear copy fifth find first format fourth free
syn keyword rebolStatement func function head insert last match next parse past
syn keyword rebolStatement pick remove second select skip sort tail third trim length?
Context
syn keyword rebolStatement alias bind use
Object
syn keyword rebolStatement import make make-object rebol info?
I/O statements
syn keyword rebolStatement delete echo form format import input load mold prin
syn keyword rebolStatement print probe read save secure send write
syn keyword rebolOperator size? modified?
Debug statement
syn keyword rebolStatement help probe trace
Misc statements
syn keyword rebolStatement func function free
Constants
syn keyword rebolConstant none
Define the default highlighting.
For version 5.7 and earlier: only when not done already
For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_rebol_syntax_inits")
if version < 508
let did_rebol_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
HiLink rebolTodo Todo
HiLink rebolStatement Statement
HiLink rebolLabel Label
HiLink rebolConditional Conditional
HiLink rebolRepeat Repeat
HiLink rebolOperator Operator
HiLink rebolLogicOperator rebolOperator
HiLink rebolLogicFunction rebolLogicOperator
HiLink rebolMathOperator rebolOperator
HiLink rebolMathFunction rebolMathOperator
HiLink rebolBinaryOperator rebolOperator
HiLink rebolBinaryFunction rebolBinaryOperator
HiLink rebolType Type
HiLink rebolTypeFunction rebolOperator
HiLink rebolWord Identifier
HiLink rebolWordPath rebolWord
HiLink rebolFunction Function
HiLink rebolCharacter Character
HiLink rebolSpecialCharacter SpecialChar
HiLink rebolString String
HiLink rebolNumber Number
HiLink rebolInteger rebolNumber
HiLink rebolDecimal rebolNumber
HiLink rebolTime rebolNumber
HiLink rebolDate rebolNumber
HiLink rebolMoney rebolNumber
HiLink rebolBinary rebolNumber
HiLink rebolEmail rebolString
HiLink rebolFile rebolString
HiLink rebolURL rebolString
HiLink rebolIssue rebolNumber
HiLink rebolTuple rebolNumber
HiLink rebolFloat Float
HiLink rebolBoolean Boolean
HiLink rebolConstant Constant
HiLink rebolComment Comment
HiLink rebolError Error
delcommand HiLink
endif
if exists("my_rebol_file")
if file_readable(expand(my_rebol_file))
execute "source " . my_rebol_file
endif
endif
let b:current_syntax = "rebol"
vim: ts=8