1<?php
2/*************************************************************************************
3 * oxygene.php
4 * ----------
5 * Author: Carlo Kok (ck@remobjects.com), J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de)
6 * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter)
7 * Release Version: 1.0.9.1
8 * Date Started: 2010/01/11
9 *
10 * Delphi Prism (Oxygene) language file for GeSHi.
11 * Based on the original Delphi language file.
12 *
13 * CHANGES
14 * -------
15 * 2014/01/09 (1.0.8.13)
16 *   -  New keywords & updated languge name
17 * 2012/06/28 (1.0.8.11)
18 *   -  Added "write" keyword for properties
19 * 2010/01/11 (1.0.0)
20 *   -  First Release
21 *
22 *************************************************************************************
23 *
24 *   This file is part of GeSHi.
25 *
26 *   GeSHi is free software; you can redistribute it and/or modify
27 *   it under the terms of the GNU General Public License as published by
28 *   the Free Software Foundation; either version 2 of the License, or
29 *   (at your option) any later version.
30 *
31 *   GeSHi is distributed in the hope that it will be useful,
32 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
33 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
34 *   GNU General Public License for more details.
35 *
36 *   You should have received a copy of the GNU General Public License
37 *   along with GeSHi; if not, write to the Free Software
38 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
39 *
40 ************************************************************************************/
41
42$language_data = array (
43    'LANG_NAME' => 'Oxygene',
44    'COMMENT_SINGLE' => array(1 => '//'),
45    'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
46    //Compiler directives
47    'COMMENT_REGEXP' => array(2 => '/{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'),
48    'CASE_KEYWORDS' => 0,
49    'QUOTEMARKS' => array("'"),
50    'ESCAPE_CHAR' => '',
51    'KEYWORDS' => array(
52        1 => array(
53            'and',   'begin', 'case', 'const',  'div', 'do', 'downto', 'else',
54            'end',  'for',  'function', 'if', 'in', 'mod', 'not', 'of', 'or',
55            'procedure', 'repeat', 'record', 'set', 'shl', 'shr', 'then', 'to',
56            'type', 'until', 'uses', 'var','while', 'with', 'xor', 'exit', 'break',
57            'class', 'constructor', 'inherited', 'private', 'public', 'protected',
58            'property', 'As', 'Is', 'Unit', 'Continue', 'Try', 'Except', 'Forward',
59            'Interface','Implementation', 'nil', 'out', 'loop', 'namespace', 'true',
60            'false', 'new', 'ensure', 'require', 'on', 'event', 'delegate', 'method',
61            'raise', 'assembly', 'module', 'using','locking', 'old', 'invariants', 'operator',
62            'self', 'async', 'finalizer', 'where', 'yield', 'nullable', 'Future',
63            'From',  'Finally', 'dynamic', 'mapped'
64            ),
65        2 => array(
66            'override', 'virtual', 'External', 'read', 'add', 'remove','final', 'abstract',
67            'empty', 'global', 'locked', 'sealed', 'reintroduce', 'implements', 'each',
68            'default', 'partial', 'finalize', 'enum', 'flags', 'result', 'readonly', 'unsafe',
69            'pinned', 'matching', 'static', 'has', 'step', 'iterator', 'inline', 'nested',
70            'Implies', 'Select', 'Order', 'By', 'Desc', 'Asc', 'Group', 'Join', 'Take',
71            'Skip', 'Concat', 'Union', 'Reverse', 'Distinct', 'Into', 'Equals', 'params',
72            'sequence', 'index', 'notify', 'Parallel', 'create', 'array', 'Queryable', 'Aspect',
73            'volatile', 'write', 'autoreleasepool', 'await', 'block', 'deprecated', 'extension',
74            'optional', 'raises', 'selector', 'strong', 'weak', 'tuple', 'unretained'
75            ),
76        3 => array(
77            'chr', 'ord', 'inc', 'dec', 'assert', 'iff', 'assigned','futureAssigned', 'length', 'low', 'high', 'typeOf', 'sizeOf', 'disposeAndNil', 'Coalesce', 'unquote'
78            ),
79        ),
80    'CASE_SENSITIVE' => array(
81        GESHI_COMMENTS => false,
82        1 => false,
83        2 => false,
84        3 => false,
85//        4 => false,
86        ),
87    'SYMBOLS' => array(
88        0 => array('(', ')', '[', ']'),
89        1 => array('.', ',', ':', ';'),
90        2 => array('@', '^'),
91        3 => array('=', '+', '-', '*', '/')
92        ),
93    'STYLES' => array(
94        'KEYWORDS' => array(
95            1 => 'color: #000000; font-weight: bold;',
96            2 => 'color: #000000; font-weight: bold;',
97            3 => 'color: #000066;',
98//            4 => 'color: #000066; font-weight: bold;'
99            ),
100        'COMMENTS' => array(
101            1 => 'color: #808080; font-style: italic;',
102            2 => 'color: #008000; font-style: italic;',
103            'MULTI' => 'color: #808080; font-style: italic;'
104            ),
105        'ESCAPE_CHAR' => array(
106            0 => 'color: #ff0000; font-weight: bold;'
107            ),
108        'BRACKETS' => array(
109            0 => 'color: #000066;'
110            ),
111        'STRINGS' => array(
112            0 => 'color: #ff0000;'
113            ),
114        'NUMBERS' => array(
115            0 => 'color: #0000ff;'
116            ),
117        'METHODS' => array(
118            1 => 'color: #000000;'
119            ),
120        'REGEXPS' => array(
121            0 => 'color: #9ac;',
122            1 => 'color: #ff0000;'
123            ),
124        'SYMBOLS' => array(
125            0 => 'color: #000066;',
126            1 => 'color: #000066;',
127            2 => 'color: #000066;',
128            3 => 'color: #000066;'
129            ),
130        'SCRIPT' => array(
131            )
132        ),
133    'URLS' => array(
134        1 => '',
135        2 => '',
136        3 => '',
137//        4 => ''
138        ),
139    'OOLANG' => true,
140    'OBJECT_SPLITTERS' => array(
141        1 => '.'
142        ),
143    'REGEXPS' => array(
144        //Hex numbers
145        0 => '\$[0-9a-fA-F]+',
146        //Characters
147        1 => '\#\$?[0-9]{1,3}'
148        ),
149    'STRICT_MODE_APPLIES' => GESHI_NEVER,
150    'SCRIPT_DELIMITERS' => array(
151        ),
152    'HIGHLIGHT_STRICT_BLOCK' => array(
153        ),
154    'TAB_WIDTH' => 2
155);
156