1<?php
2/*************************************************************************************
3 * haxe.php
4 * --------
5 * Author: Andy Li (andy@onthewings.net)
6 *         John Liao (colorhook@gmail.com)
7 * Copyright: (c) 2012 onthewings (http://www.onthewings.net/)
8 *                2010 colorhook (http://colorhook.com/)
9 * Release Version: 1.0.9.1
10 * Date Started: 2010/10/05
11 *
12 * Haxe language file for GeSHi.
13 * Haxe version: 2.10
14 *************************************************************************************
15 *
16 *   This file is part of GeSHi.
17 *
18 *   GeSHi is free software; you can redistribute it and/or modify
19 *   it under the terms of the GNU General Public License as published by
20 *   the Free Software Foundation; either version 2 of the License, or
21 *   (at your option) any later version.
22 *
23 *   GeSHi is distributed in the hope that it will be useful,
24 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
25 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26 *   GNU General Public License for more details.
27 *
28 *   You should have received a copy of the GNU General Public License
29 *   along with GeSHi; if not, write to the Free Software
30 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
31 *
32 ************************************************************************************/
33
34$language_data = array (
35    'LANG_NAME' => 'Haxe',
36    'COMMENT_SINGLE' => array(1 => '//'),
37    'COMMENT_MULTI' => array('/*' => '*/'),
38    'COMMENT_REGEXP' => array(
39        //Import and Package directives (Basic Support only)
40        2 => '/(?:(?<=import[\\n\\s])|(?<=using[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
41        // Haxe comments
42        3 => '#/\*\*(?![\*\/]).*\*/#sU',
43        ),
44    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
45    'QUOTEMARKS' => array("'", '"'),
46    'ESCAPE_CHAR' => '\\',
47    'KEYWORDS' => array(
48        1 => array(
49            //http://haxe.org/ref/keywords
50            'break', 'callback', 'case', 'cast', 'catch', 'class', 'continue', 'default', 'do', 'dynamic',
51            'else', 'enum', 'extends', 'extern', /*'false',*/ 'for', 'function', 'here', 'if',
52            'implements', 'import', 'in', 'inline', 'interface', 'never', 'new', /*'null',*/ 'override',
53            'package', 'private', 'public', 'return', 'static', 'super', 'switch', 'this', 'throw',
54            'trace', /*'true',*/ 'try', 'typedef', 'untyped', 'using', 'var', 'while',
55            'macro', '$type',
56            ),
57        2 => array(
58            //primitive values
59            'null', 'false', 'true',
60            ),
61        3 => array(
62            //global types
63            'Array', 'ArrayAccess', /*'Bool',*/ 'Class', 'Date', 'DateTools', 'Dynamic',
64            'EReg', 'Enum', 'EnumValue', /*'Float',*/ 'Hash', /*'Int',*/ 'IntHash', 'IntIter',
65            'Iterable', 'Iterator', 'Lambda', 'List', 'Math', 'Null', 'Reflect', 'Std',
66            /*'String',*/ 'StringBuf', 'StringTools', 'Sys', 'Type', /*'UInt',*/ 'ValueType',
67            /*'Void',*/ 'Xml', 'XmlType',
68            ),
69        4 => array(
70            //primitive types
71            'Void', 'Bool', 'Int', 'Float', 'UInt', 'String',
72            ),
73        5 => array(
74            //compiler switches
75            "#if", "#elseif", "#else", "#end", "#error",
76            ),
77        ),
78    'SYMBOLS' => array(
79        //http://haxe.org/manual/operators
80        '++', '--',
81        '%',
82        '*', '/',
83        '+', '-',
84        '<<', '>>', '>>>',
85        '|', '&', '^',
86        '==', '!=', '>', '>=', '<', '<=',
87        '...',
88        '&&',
89        '||',
90        '?', ':',
91        '=', '+=', '-=', '/=', '*=', '<<=', '>>=', '>>>=', '|=', '&=', '^=',
92        '(', ')', '[', ']', '{', '}', ';',
93        ),
94    'CASE_SENSITIVE' => array(
95        GESHI_COMMENTS => false,
96        1 => true,
97        2 => true,
98        3 => true,
99        4 => true,
100        5 => true,
101        ),
102    'STYLES' => array(
103        'KEYWORDS' => array(
104            1 => 'color: #6699cc; font-weight: bold;',
105            2 => 'color: #000066; font-weight: bold;',
106            3 => 'color: #03F; ',
107            4 => 'color: #000033; font-weight: bold;',
108            5 => 'color: #330000; font-weight: bold;',
109            ),
110        'COMMENTS' => array(
111            1 => 'color: #666666; font-style: italic;',
112            2 => 'color: #006699;',
113            3 => 'color: #008000; font-style: italic; font-weight: bold;',
114            'MULTI' => 'color: #666666; font-style: italic;',
115            ),
116        'ESCAPE_CHAR' => array(
117            0 => 'color: #000099; font-weight: bold;',
118            ),
119        'BRACKETS' => array(
120            0 => 'color: #000000;',
121            ),
122        'STRINGS' => array(
123            0 => 'color: #FF0000;',
124            ),
125        'NUMBERS' => array(
126            0 => 'color: #cc66cc;',
127            ),
128        'METHODS' => array(
129            1 => 'color: #006633;',
130            2 => 'color: #006633;',
131            ),
132        'SYMBOLS' => array(
133            0 => 'color: #339933;',
134            ),
135        'SCRIPT' => array(
136            ),
137        'REGEXPS' => array(
138            )
139        ),
140    'URLS' => array(
141        1 => '',
142        2 => '',
143        3 => '',
144        4 => '',
145        5 => '',
146        ),
147    'OOLANG' => true,
148    'OBJECT_SPLITTERS' => array(
149        1 => '.',
150        ),
151    'REGEXPS' => array(
152        ),
153    'STRICT_MODE_APPLIES' => GESHI_NEVER,
154    'SCRIPT_DELIMITERS' => array(
155        ),
156    'HIGHLIGHT_STRICT_BLOCK' => array(
157        ),
158);
159