1 | <?php |
---|
2 | /************************************************************************************* |
---|
3 | * oz.php |
---|
4 | * -------- |
---|
5 | * Author: Wolfgang Meyer (Wolfgang.Meyer@gmx.net) |
---|
6 | * Copyright: (c) 2010 Wolfgang Meyer |
---|
7 | * Release Version: 1.0.9.0 |
---|
8 | * Date Started: 2010/01/03 |
---|
9 | * |
---|
10 | * Oz language file for GeSHi. |
---|
11 | * |
---|
12 | * CHANGES |
---|
13 | * ------- |
---|
14 | * |
---|
15 | ************************************************************************************* |
---|
16 | * |
---|
17 | * This file is part of GeSHi. |
---|
18 | * |
---|
19 | * GeSHi is free software; you can redistribute it and/or modify |
---|
20 | * it under the terms of the GNU General Public License as published by |
---|
21 | * the Free Software Foundation; either version 2 of the License, or |
---|
22 | * (at your option) any later version. |
---|
23 | * |
---|
24 | * GeSHi is distributed in the hope that it will be useful, |
---|
25 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
26 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
27 | * GNU General Public License for more details. |
---|
28 | * |
---|
29 | * You should have received a copy of the GNU General Public License |
---|
30 | * along with GeSHi; if not, write to the Free Software |
---|
31 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
---|
32 | * |
---|
33 | ************************************************************************************/ |
---|
34 | |
---|
35 | $language_data = array( |
---|
36 | 'LANG_NAME' => 'OZ', |
---|
37 | 'COMMENT_SINGLE' => array(1 => '%'), |
---|
38 | 'COMMENT_MULTI' => array('/*' => '*/'), |
---|
39 | 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, |
---|
40 | 'QUOTEMARKS' => array('"','\''), |
---|
41 | 'ESCAPE_CHAR' => '\\', |
---|
42 | 'NUMBERS' => array(), |
---|
43 | 'KEYWORDS' => array( |
---|
44 | 1 => array( |
---|
45 | 'declare','local','in','end','proc','fun','functor','require','prepare', |
---|
46 | 'import','export','define','at','case','then','else','of','elseof', |
---|
47 | 'elsecase','if','elseif','class','from','prop','attr','feat','meth', |
---|
48 | 'self','true','false','unit','div','mod','andthen','orelse','cond','or', |
---|
49 | 'dis','choice','not','thread','try','catch','finally','raise','lock', |
---|
50 | 'skip','fail','for','do' |
---|
51 | ) |
---|
52 | ), |
---|
53 | 'CASE_SENSITIVE' => array( |
---|
54 | GESHI_COMMENTS => false, |
---|
55 | 1 => true |
---|
56 | ), |
---|
57 | 'SYMBOLS' => array( |
---|
58 | '@', '!', '|', '<-', ':=', '<', '>', '=<', '>=', '<=', '#', '~', '.', |
---|
59 | '*', '-', '+', '/', '<:', '>:', '=:', '=<:', '>=:', '\\=', '\\=:', ',', |
---|
60 | '!!', '...', '==', '::', ':::' |
---|
61 | ), |
---|
62 | 'STYLES' => array( |
---|
63 | 'REGEXPS' => array( |
---|
64 | 1 => 'color: #0000ff;', |
---|
65 | 2 => 'color: #00a030;', |
---|
66 | 3 => 'color: #bc8f8f;', |
---|
67 | 4 => 'color: #0000ff;', |
---|
68 | 5 => 'color: #a020f0;' |
---|
69 | ), |
---|
70 | 'ESCAPE_CHAR' => array( |
---|
71 | 0 => 'color: #bc8f8f;' |
---|
72 | ), |
---|
73 | 'KEYWORDS' => array( |
---|
74 | 1 => 'color: #a020f0;' |
---|
75 | ), |
---|
76 | 'COMMENTS' => array( |
---|
77 | 1 => 'color: #B22222;', |
---|
78 | 'MULTI' => 'color: #B22222;' |
---|
79 | ), |
---|
80 | 'STRINGS' => array( |
---|
81 | 0 => 'color: #bc8f8f;' |
---|
82 | ), |
---|
83 | 'SYMBOLS' => array( |
---|
84 | 0 => 'color: #a020f0;' |
---|
85 | ), |
---|
86 | 'BRACKETS' => array(), |
---|
87 | 'NUMBERS' => array(), |
---|
88 | 'METHODS' => array(), |
---|
89 | 'SCRIPT' => array() |
---|
90 | ), |
---|
91 | 'OOLANG' => false, |
---|
92 | 'OBJECT_SPLITTERS' => array(), |
---|
93 | 'STRICT_MODE_APPLIES' => GESHI_MAYBE, |
---|
94 | 'SCRIPT_DELIMITERS' => array(), |
---|
95 | 'HIGHLIGHT_STRICT_BLOCK' => array(), |
---|
96 | 'URLS' => array( |
---|
97 | 1 => '' |
---|
98 | ), |
---|
99 | 'REGEXPS' => array( |
---|
100 | // function and procedure definition |
---|
101 | 1 => array( |
---|
102 | GESHI_SEARCH => "(proc|fun)([^{}\n\)]*)(\\{)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)", |
---|
103 | GESHI_REPLACE => '\4', |
---|
104 | GESHI_MODIFIERS => '', |
---|
105 | GESHI_BEFORE => '\1\2\3', |
---|
106 | GESHI_AFTER => '' |
---|
107 | ), |
---|
108 | // class definition |
---|
109 | 2 => array( |
---|
110 | GESHI_SEARCH => "(class)([^A-Z\$]*)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)", |
---|
111 | GESHI_REPLACE => '\3\4', |
---|
112 | GESHI_MODIFIERS => '', |
---|
113 | GESHI_BEFORE => '\1\2', |
---|
114 | GESHI_AFTER => '' |
---|
115 | ), |
---|
116 | // single character |
---|
117 | 3 => array( |
---|
118 | GESHI_SEARCH => "&.", |
---|
119 | GESHI_REPLACE => '\0', |
---|
120 | GESHI_MODIFIERS => '', |
---|
121 | GESHI_BEFORE => '', |
---|
122 | GESHI_AFTER => '' |
---|
123 | ), |
---|
124 | // method definition |
---|
125 | 4 => array( |
---|
126 | GESHI_SEARCH => "(meth)([^a-zA-Z]+)([a-zA-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9]*)", |
---|
127 | GESHI_REPLACE => '\3', |
---|
128 | GESHI_MODIFIERS => '', |
---|
129 | GESHI_BEFORE => '\1\2', |
---|
130 | GESHI_AFTER => '' |
---|
131 | ), |
---|
132 | // highlight "[]" |
---|
133 | // ([] is actually a keyword, but that causes problems in validation; putting it into symbols doesn't work.) |
---|
134 | 5 => array( |
---|
135 | GESHI_SEARCH => "\[\]", |
---|
136 | GESHI_REPLACE => '\0', |
---|
137 | GESHI_MODIFIERS => '', |
---|
138 | GESHI_BEFORE => '', |
---|
139 | GESHI_AFTER => '' |
---|
140 | ) |
---|
141 | ) |
---|
142 | ); |
---|