1<?php
2/*************************************************************************************
3 * rebol.php
4 * --------
5 * Author: Lecanu Guillaume (Guillaume@LyA.fr)
6 * Copyright: (c) 2004-2005 Lecanu Guillaume (Guillaume@LyA.fr)
7 * Release Version: 1.0.9.1
8 * Date Started: 2004/12/22
9 *
10 * Rebol language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2009/01/26 (1.0.8.3)
15 *  -  Adapted language file to comply to GeSHi language file guidelines
16 * 2004/11/25 (1.0.3)
17 *  -  Added support for multiple object splitters
18 *  -  Fixed &new problem
19 * 2004/10/27 (1.0.2)
20 *  -  Added URL support
21 *  -  Added extra constants
22 * 2004/08/05 (1.0.1)
23 *  -  Added support for symbols
24 * 2004/07/14 (1.0.0)
25 *  -  First Release
26 *
27 * TODO (updated 2004/07/14)
28 * -------------------------
29 * * Make sure the last few function I may have missed
30 *   (like eval()) are included for highlighting
31 * * Split to several files - php4, php5 etc
32 *
33 *************************************************************************************
34 *
35 *     This file is part of GeSHi.
36 *
37 *   GeSHi is free software; you can redistribute it and/or modify
38 *   it under the terms of the GNU General Public License as published by
39 *   the Free Software Foundation; either version 2 of the License, or
40 *   (at your option) any later version.
41 *
42 *   GeSHi is distributed in the hope that it will be useful,
43 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
44 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
45 *   GNU General Public License for more details.
46 *
47 *   You should have received a copy of the GNU General Public License
48 *   along with GeSHi; if not, write to the Free Software
49 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
50 *
51 ************************************************************************************/
52
53$language_data = array (
54    'LANG_NAME' => 'REBOL',
55    'COMMENT_SINGLE' => array(1 => ';'),
56    'COMMENT_MULTI' => array('rebol [' => ']', 'comment [' => ']'),
57    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
58    'QUOTEMARKS' => array('"'),
59    'ESCAPE_CHAR' => '',
60    'KEYWORDS' => array(
61        1 => array(
62            'binary!','block!','char!','date!','decimal!','email!','file!',
63            'hash!','integer!','issue!','list!','logic!','money!','none!',
64            'object!','paren!','pair!','path!','string!','tag!','time!',
65            'tuple!','url!',
66            ),
67        2 => array(
68            'all','any','attempt','break','catch','compose','disarm','dispatch',
69            'do','do-events','does','either','else','exit','for','forall',
70            'foreach','forever','forskip','func','function','halt','has','if',
71            'launch','loop','next','quit','reduce','remove-each','repeat',
72            'return','secure','switch','throw','try','until','wait','while',
73            ),
74        3 => array(
75            'about','abs','absolute','add','alert','alias','alter','and',
76            'any-block?','any-function?','any-string?','any-type?','any-word?',
77            'append','arccosine','arcsine','arctangent','array','as-pair',
78            'ask','at','back','binary?','bind','bitset?','block?','brightness?',
79            'browse','build-tag','caret-to-offset','center-face','change',
80            'change-dir','char?','charset','checksum','choose','clean-path',
81            'clear','clear-fields','close','comment','complement','component?',
82            'compress','confirm','connected?','construct','context','copy',
83            'cosine','datatype?','date?','debase','decimal?','decode-cgi',
84            'decompress','dehex','delete','detab','difference','dir?','dirize',
85            'divide','dump-face','dump-obj','echo','email?','empty?','enbase',
86            'entab','equal?','error?','even?','event?','exclude','exists?',
87            'exp','extract','fifth','file?','find','first','flash','focus',
88            'form','found?','fourth','free','function?','get','get-modes',
89            'get-word?','greater-or-equal?','greater?','hash?','head','head?',
90            'help','hide','hide-popup','image?','import-email','in',
91            'in-window?','index?','info?','inform','input','input?','insert',
92            'integer?','intersect','issue?','join','last','layout','length?',
93            'lesser-or-equal?','lesser?','library?','license','link?',
94            'list-dir','list?','lit-path?','lit-word?','load','load-image',
95            'log-10','log-2','log-e','logic?','lowercase','make','make-dir',
96            'make-face','max','maximum','maximum-of','min','minimum',
97            'minimum-of','modified?','mold','money?','multiply','native?',
98            'negate','negative?','none?','not','not-equal?','now','number?',
99            'object?','odd?','offset-to-caret','offset?','op?','open','or',
100            'pair?','paren?','parse','parse-xml','path?','pick','poke','port?',
101            'positive?','power','prin','print','probe','protect',
102            'protect-system','query','random','read','read-io','recycle',
103            'refinement?','reform','rejoin','remainder','remold','remove',
104            'rename',
105            //'repeat',
106            'repend','replace','request','request-color','request-date',
107            'request-download','request-file','request-list','request-pass',
108            'request-text','resend','reverse','routine?','same?','save',
109            'script?','second','select','send','series?','set','set-modes',
110            'set-net','set-path?','set-word?','show','show-popup','sign?',
111            'sine','size-text','size?','skip','sort','source','span?',
112            'split-path','square-root','strict-equal?','strict-not-equal?',
113            'string?','struct?','stylize','subtract','suffix?','tag?','tail',
114            'tail?','tangent','third','time?','to','to-binary','to-bitset',
115            'to-block','to-char','to-date','to-decimal','to-email','to-file',
116            'to-get-word','to-hash','to-hex','to-idate','to-image','to-integer',
117            'to-issue','to-list','to-lit-path','to-lit-word','to-local-file',
118            'to-logic','to-money','to-pair','to-paren','to-path',
119            'to-rebol-file','to-refinement','to-set-path','to-set-word',
120            'to-string','to-tag','to-time','to-tuple','to-url','to-word',
121            'trace','trim','tuple?','type?','unfocus','union','unique',
122            'unprotect','unset','unset?','unview','update','upgrade',
123            'uppercase','url?','usage','use','value?','view','viewed?','what',
124            'what-dir','within?','word?','write','write-io','xor','zero?',
125            )
126        ),
127    'SYMBOLS' => array(
128        '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
129        ),
130    'CASE_SENSITIVE' => array(
131        GESHI_COMMENTS => false,
132        1 => false,
133        2 => false,
134        3 => false,
135        ),
136    'STYLES' => array(
137        'KEYWORDS' => array(
138            1 => 'color: #b1b100;',
139            2 => 'color: #000000; font-weight: bold;',
140            3 => 'color: #000066;'
141            ),
142        'COMMENTS' => array(
143            1 => 'color: #808080; font-style: italic;',
144//            2 => 'color: #808080; font-style: italic;',
145            'MULTI' => 'color: #808080; font-style: italic;'
146            ),
147        'ESCAPE_CHAR' => array(
148            0 => 'color: #000099; font-weight: bold;'
149            ),
150        'BRACKETS' => array(
151            0 => 'color: #66cc66;'
152            ),
153        'STRINGS' => array(
154            0 => 'color: #ff0000;'
155            ),
156        'NUMBERS' => array(
157            0 => 'color: #cc66cc;'
158            ),
159        'METHODS' => array(
160            1 => 'color: #006600;',
161            2 => 'color: #006600;'
162            ),
163        'SYMBOLS' => array(
164            0 => 'color: #66cc66;'
165            ),
166        'REGEXPS' => array(
167            0 => 'color: #0000ff;'
168            ),
169        'SCRIPT' => array(
170            0 => '',
171            1 => '',
172            2 => '',
173            3 => ''
174            )
175        ),
176    'URLS' => array(
177        1 => '',
178        2 => '',
179        3 => ''
180//        2 => 'includes/dico_rebol.php?word={FNAME}',
181//        3 => 'includes/dico_rebol.php?word={FNAME}'
182        ),
183    'OOLANG' => false,
184    'OBJECT_SPLITTERS' => array(
185        ),
186    'REGEXPS' => array(
187        0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*",
188        ),
189    'STRICT_MODE_APPLIES' => GESHI_NEVER,
190    'SCRIPT_DELIMITERS' => array(
191        ),
192    'HIGHLIGHT_STRICT_BLOCK' => array(
193        )
194);
195