[REBOL]
lexer=rebol

# keywords
keywords.0=name:keywords::about abs absolute add alert alias all alter and any any-block? any-function? any-string? any-type? \
any-word? append arccosine arcsine arctangent array as-pair ask at attempt back binary? bind bitset? block? \
break brightness? browse build-tag caret-to-offset catch center-face change change-dir char? charset checksum choose clean-path clear \
clear-fields close comment complement component? compose compress confirm connected? construct context copy cosine datatype? date? \
debase decimal? decode-cgi decompress dehex delete detab difference dir? dirize disarm dispatch divide do do-events \
does dump-face dump-obj echo either else email? empty? enbase entab equal? error? even? event? exclude exists? exit exp extract fifth \
file? find first flash focus for forall foreach forever form forskip found? fourth free func function function? get get-modes get-word? \
greater-or-equal? greater? halt has hash? head head? help hide hide-popup if image? import-email in in-window? \
index? info? inform input input? insert integer? intersect issue? join last launch layout length? lesser-or-equal? \
lesser? library? license link? list-dir list? lit-path? lit-word? load load-image log-10 log-2 log-e logic? loop \
lowercase make make-dir make-face max maximum maximum-of min minimum minimum-of modified? mold money? multiply native? \
negate negative? next none? not not-equal? now number? object? odd? offset-to-caret offset? op? open or \
pair? paren? parse parse-xml path? pick poke port? positive? power prin print probe protect protect-system \
query quit random read read-io recycle reduce refinement? reform rejoin remainder remold remove remove-each rename \
repeat repend replace request request-color request-date request-download request-file request-list request-pass \
request-text resend return reverse routine? same? save script? second secure select send series? set set-modes \
set-net set-path? set-word? show show-popup sign? sine size-text size? skip sort source span? split-path square-root \
strict-equal? strict-not-equal? string? struct? stylize subtract suffix? switch tag? tail tail? tangent third throw time? \
to to-binary to-bitset to-block to-char to-date to-decimal to-email to-file to-get-word to-hash to-hex to-idate to-image to-integer \
to-issue to-list to-lit-path to-lit-word to-local-file to-logic to-money to-pair to-paren to-path 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 union unique unprotect unset unset? until unview update upgrade \
uppercase url? usage use value? view viewed? wait what what-dir while within? word? write write-io xor zero?

# test functions
keywords.1=name:test functions::action? any-block? any-function? any-string? any-type? any-word? binary? bitset? block? char? component? connected? \
datatype? date? decimal? dir? email? empty? equal? error? even? event? exists? file? found? function? get-word? greater-or-equal greater? hash? head? image? \
index? info? input? integer? issue? length? lesser-or-equal? lesser? library? link-app? link? list? lit-path? lit-word? logic? modified? money? native? negative? \
none? not-equal? number? object? odd? offset? op? pair? paren? path? port? positive? rebol-command? rebol-encap? rebol-link? rebol-pro? rebol-view? \
refinement? routine? same? script? series? set-path? set-word? sign? size? strict-equal? strict-not-equal string? struct? suffix? tag? tail? time? tuple? type? \
unset? url? value? view? word? zero?

# types
keywords.2=name:types::3action! any-block! any-function! any-string! any-type! any-word! binary! bitset! block! char! datatype! date! decimal! email! 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!

commentblock=;
commentboxstart=;;
commentboxmiddle=;;
commentboxend=;;

style.32=name:Default
style.0=name:Any other text,fore:#000000,bold
style.1=name:Line Comment,fore:clGreen
style.2=name:Block Comment,fore:clGreen
style.3=name:Preface,fore:clGreen,bold
style.4=name:Operators,bold
style.5=name:Characters,fore:clPurple
style.6=name:String with quotes,fore:clPurple
style.7=name:String with braces,fore:clPurple
style.8=name:Number,fore:clTeal
style.9=name:Pair,fore:#005090
style.10=name:Tuple,fore:#005090
style.11=name:Binary,fore:#C000C0
style.12=name:Money,fore:#003070
style.13=name:Issue,fore:#800000
style.14=name:Tag,fore:#C00000
style.15=name:File,fore:#0080FF
style.16=name:Email,fore:#0080FF
style.17=name:URL,fore:#0080FF
style.18=name:Date,fore:#8000FF
style.19=name:Time,fore:#8000FF
style.20=name:Identifiers
style.21=name:Keyword (all),fore:clNavy,bold
style.22=name:Keyword (test functions),fore:#8000C0,bold
style.23=name:Keyword (datatypes),fore:#800060,bold