1<?php
2/*************************************************************************************
3 * oorexx.php
4 * ---------------------------------
5 * Author: Jon Wolfers (sahananda@windhorse.biz)
6 * Contributors:
7 *    - Walter Pachl (pachl@chello.at)
8 * Copyright: (c) 2008 Jon Wolfers, (c) 2012 Walter Pachl
9 * Release Version: 1.0.9.1
10 * Date Started: 2008/01/07
11 *
12 * ooRexx language file for GeSHi.
13 *
14 * CHANGES
15 * -------
16 * 2012/07/29 (1.0.0)
17 *    -  tried to get it syntactically right
18 *
19 * TODO (updated 2012/07/29)
20 * -------------------------
21 *   -  Get it working on rosettacode.org
22 *
23 *************************************************************************************
24 *
25 *      This file is part of GeSHi.
26 *
27 *    GeSHi is free software; you can redistribute it and/or modify
28 *    it under the terms of the GNU General Public License as published by
29 *    the Free Software Foundation; either version 2 of the License, or
30 *    (at your option) any later version.
31 *
32 *    GeSHi is distributed in the hope that it will be useful,
33 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
34 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
35 *    GNU General Public License for more details.
36 *
37 *    You should have received a copy of the GNU General Public License
38 *    along with GeSHi; if not, write to the Free Software
39 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
40 *
41 ************************************************************************************/
42
43$language_data = array (
44    'LANG_NAME' => 'ooRexx',
45    'COMMENT_SINGLE' => array(1 => '--'),
46    'COMMENT_MULTI' => array('/*' => '*/'),
47    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
48    'QUOTEMARKS' => array("'", '"'),
49    'ESCAPE_CHAR' => '',
50    'KEYWORDS' => array(
51        1 => array(
52            'address', 'arg', 'attribute', 'call', 'constant', 'do',
53            'drop', 'exit', 'if',
54            'interpret', 'iterate', 'leave', 'loop', 'nop', 'numeric',
55            'parse', 'procedure', 'pull', 'push', 'queue',
56            'raise', 'reply', 'return', 'say', 'select', 'signal',
57            'use'
58            ),
59        2 => array(
60            'abstract', 'any', 'arguments', 'array', 'by',
61            'continue', 'digits', 'engineering', 'error',
62            'expose', 'external', 'failure', 'for', 'forever',
63            'forward', 'get', 'guard', 'guarded', 'halt',
64            'inherit', 'library', 'lostdigits', 'message',
65            'metaclass', 'mixinclass', 'name', 'nomethod', 'nostring',
66            'notready', 'novalue', 'off', 'on', 'options', 'over',
67            'private', 'protected', 'public', 'scientific', 'set',
68            'source', 'subclass', 'syntax', 'to', 'unguarded',
69            'unprotected', 'until', 'user',
70            'version', 'while', 'with'
71            ),
72        3 => array(
73            'else', 'end', 'otherwise', 'then', 'when'
74            ),
75        4 => array(
76            'rc', 'result', 'self', 'sigl', 'super'
77            ),
78        5 => array(
79            '::attribute', '::class', '::constant', '::method',
80            '::optins', '::requires', '::routine'
81            ),
82        6 => array(
83            'abbrev', 'abs', 'beep', 'bitand', 'bitor',
84            'bitxor', 'b2x', 'center', 'centre', 'changestr', 'charin',
85            'charout', 'chars', 'compare', 'condition', 'copies',
86            'countstr', 'c2d', 'c2x', 'datatype', 'date', 'delstr',
87            'delword', 'directory', 'd2c', 'd2x', 'endlocal',
88            'errortext', 'filespec', 'form', 'format', 'fuzz', 'insert',
89            'lastpos', 'left', 'length', 'linein', 'lineout', 'lines',
90            'lower', 'max', 'min', 'overlay', 'pos', 'qualify', 'queued',
91            'random', 'reverse', 'right', 'rxfuncadd', 'rxfuncdrop',
92            'rxfuncquery', 'rxqueue', 'setlocal', 'sign', 'sourceline',
93            'space', 'stream', 'strip', 'substr', 'subword', 'symbol',
94            'time', 'trace', 'translate', 'trunc', 'upper', 'userid',
95            'value', 'var', 'verify', 'word', 'wordindex', 'wordlength',
96            'wordpos', 'words', 'xrange', 'x2b', 'x2c', 'x2d'
97            )
98        ),
99    'SYMBOLS' => array(
100        '(', ')', '<', '>', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':',
101        '<', '>'
102        ),
103    'CASE_SENSITIVE' => array(
104        GESHI_COMMENTS => true,
105        1 => false,
106        2 => false,
107        3 => false,
108        4 => false,
109        5 => false,
110        6 => false
111        ),
112    'STYLES' => array(
113        'KEYWORDS' => array(
114            1 => 'color: #b1b100;',
115            2 => 'color: #ff0000; font-weight: bold;',
116            3 => 'color: #00ff00; font-weight: bold;',
117            4 => 'color: #0000ff; font-weight: bold;',
118            5 => 'color: #880088; font-weight: bold;',
119            6 => 'color: #888800; font-weight: bold;'
120            ),
121        'COMMENTS' => array(
122            1 => 'color: #666666;',
123            'MULTI' => 'color: #808080;'
124            ),
125        'ESCAPE_CHAR' => array(
126            0 => 'color: #000099; font-weight: bold;'
127            ),
128        'BRACKETS' => array(
129            0 => 'color: #66cc66;'
130            ),
131        'STRINGS' => array(
132            0 => 'color: #ff0000;'
133            ),
134        'NUMBERS' => array(
135            0 => 'color: #cc66cc;'
136            ),
137        'METHODS' => array(
138            1 => 'color: #202020;',
139            2 => 'color: #202020;'
140            ),
141        'SYMBOLS' => array(
142            0 => 'color: #66cc66;'
143            ),
144        'REGEXPS' => array(
145            ),
146        'SCRIPT' => array(
147            )
148        ),
149    'URLS' => array(
150        1 => '',
151        2 => '',
152        3 => '',
153        4 => '',
154        5 => '',
155        6 => ''
156        ),
157    'OOLANG' => true,
158    'OBJECT_SPLITTERS' => array(
159        1 => '.'
160        ),
161    'REGEXPS' => array(
162        ),
163    'STRICT_MODE_APPLIES' => GESHI_NEVER,
164    'SCRIPT_DELIMITERS' => array(
165        ),
166    'HIGHLIGHT_STRICT_BLOCK' => array(
167        ),
168    'TAB_WIDTH' => 4
169);
170