ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
magiksf.php
Go to the documentation of this file.
1 <?php
2 /*************************************************************************************
3  * magiksf.php
4  * --------
5  * Author: Sjoerd van Leent (svanleent@gmail.com)
6  * Copyright: (c) 2010 Sjoerd van Leent
7  * Release Version: 1.0.9.0
8  * Date Started: 2010/02/15
9  *
10  * MagikSF language file for GeSHi.
11  *
12  * CHANGES
13  * -------
14  * 2010/02/22 (1.0.0.2)
15  * - Symbols also accept the ! and ? characters properly
16  * - Labels (identifiers starting with !) are also coloured
17  * 2010/02/17 (1.0.0.1)
18  * - Parsing out symbols better
19  * - Add package identifiers
20  * 2010/02/15 (1.0.0)
21  * - First Release
22  *
23  * TODO
24  * ----
25  *
26  *************************************************************************************
27  *
28  * This file is part of GeSHi.
29  *
30  * GeSHi is free software; you can redistribute it and/or modify
31  * it under the terms of the GNU General Public License as published by
32  * the Free Software Foundation; either version 2 of the License, or
33  * (at your option) any later version.
34  *
35  * GeSHi is distributed in the hope that it will be useful,
36  * but WITHOUT ANY WARRANTY; without even the implied warranty of
37  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38  * GNU General Public License for more details.
39  *
40  * You should have received a copy of the GNU General Public License
41  * along with GeSHi; if not, write to the Free Software
42  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
43  *
44  ************************************************************************************/
45 
46 $language_data = array (
47  'ESCAPE_CHAR' => null,
48  'LANG_NAME' => 'MagikSF',
49  'COMMENT_SINGLE' => array(1 => '##', 2 => '#%', 3 => '#'),
50  'COMMENT_MULTI' => array("_pragma(" => ")"),
51  //Multiline-continued single-line comments
52  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
53  'QUOTEMARKS' => array("'", '"'),
54  'ESCAPE_CHAR' => '', // FIXME: Duplicate array key. null or ''?
55  'KEYWORDS' => array(
56  1 => array(
57  '_block', '_endblock', '_proc', '_endproc', '_loop', '_endloop',
58  '_method', '_endmethod',
59  '_protect', '_endprotect', '_protection', '_locking',
60  '_continue',
61  ),
62  2 => array(
63  '_self', '_thisthread', '_pragma', '_private', '_abstract',
64  '_local', '_global', '_dynamic', '_package', '_constant',
65  '_import', '_iter', '_lock', '_optional', '_recursive', '_super'
66  ),
67  3 => array(
68  '_if', '_endif', '_then', '_else', '_elif', '_orif', '_andif', '_for', '_over',
69  '_try', '_endtry', '_when', '_throw', '_catch', '_endcatch', '_handling',
70  '_finally', '_loopbody', '_return', '_leave', '_with'
71  ),
72  4 => array(
73  '_false', '_true', '_maybe', '_unset', '_no_way'
74  ),
75  5 => array(
76  '_mod', '_div', '_or', '_and', '_cf', '_is', '_isnt', '_not', '_gather', '_scatter',
77  '_allresults', '_clone', '_xor'
78  ),
79  6 => array(
80  'def_slotted_exemplar', 'write_string', 'write', 'condition',
81  'record_transaction', 'gis_program_manager', 'perform', 'define_shared_constant',
82  'property_list', 'rope', 'def_property', 'def_mixin'
83  ),
84  ),
85  'SYMBOLS' => array(
86  '(', ')', '{', '}', '[', ']',
87  '+', '-', '*', '/', '**',
88  '=', '<', '>', '<<', '>>',
89  ',', '$',
90  ),
91  'CASE_SENSITIVE' => array(
92  GESHI_COMMENTS => false,
93  1 => false,
94  2 => false,
95  3 => false,
96  4 => false,
97  5 => false,
98  6 => false
99  ),
100  'STYLES' => array(
101  'KEYWORDS' => array(
102  1 => 'color: #000000; font-weight: bold;',
103  2 => 'color: #ff3f3f;',
104  3 => 'color: #3f7f3f; font-weight: bold;',
105  4 => 'color: #cc66cc;',
106  5 => 'color: #ff3fff; font-weight: bold;',
107  6 => 'font-weight: bold;',
108  ),
109  'COMMENTS' => array(
110  1 => 'color: #339933; font-weight: bold;',
111  2 => 'color: #993333;',
112  3 => 'color: #339933;',
113  'MULTI' => 'color: #7f7f7f; font-style: italic',
114  ),
115  'ESCAPE_CHAR' => array(
116  0 => 'color: #000099; font-weight: bold;'
117  ),
118  'BRACKETS' => array(
119  0 => 'color: #ff3f3f;'
120  ),
121  'STRINGS' => array(
122  0 => 'color: #ff0000;'
123  ),
124  'NUMBERS' => array(
125  0 => 'color: #cc66cc;'
126  ),
127  'METHODS' => array(
128  1 => 'color: #202020;',
129  2 => 'color: #202020;'
130  ),
131  'SYMBOLS' => array(
132  0 => 'color: #ff3f3f;'
133  ),
134  'REGEXPS' => array(
135  1 => 'color: #3f3fff;',
136  2 => 'color: #3f3fff;',
137  3 => 'color: #cc66cc;',
138  4 => 'color: #7f3f7f; font-style: italic;',
139  ),
140  'SCRIPT' => array(
141  )
142  ),
143  'URLS' => array(
144  1 => '',
145  2 => '',
146  3 => '',
147  4 => '',
148  5 => '',
149  6 => ''
150  ),
151  'OOLANG' => true,
152  'OBJECT_SPLITTERS' => array(
153  1 => '.'
154  ),
155  'REGEXPS' => array(
156  1 => array(
157  GESHI_SEARCH => '\b[a-zA-Z0-9_]+:', // package identifiers
158  GESHI_REPLACE => '\\0',
159  GESHI_MODIFIERS => '',
160  GESHI_BEFORE => '',
161  GESHI_AFTER => ''
162  ),
163  2 => array(
164  GESHI_SEARCH => ':(?:[a-zA-Z0-9!?_]+|(?:[<pipe>].*?[<pipe>]))*', //symbols
165  GESHI_REPLACE => '\\0',
166  GESHI_MODIFIERS => '',
167  GESHI_BEFORE => '',
168  GESHI_AFTER => ''
169  ),
170  3 => array(
171  GESHI_SEARCH => '%space|%tab|%newline|%.', //characters
172  GESHI_REPLACE => '\\0',
173  GESHI_MODIFIERS => '',
174  GESHI_BEFORE => '',
175  GESHI_AFTER => ''
176  ),
177  4 => array(
178  GESHI_SEARCH => '@(?:[a-zA-Z0-9!?_]+|(?:[<pipe>].*?[<pipe>]))*', //symbols
179  GESHI_REPLACE => '\\0',
180  GESHI_MODIFIERS => '',
181  GESHI_BEFORE => '',
182  GESHI_AFTER => ''
183  ),
184  ),
185  'STRICT_MODE_APPLIES' => GESHI_NEVER,
186  'SCRIPT_DELIMITERS' => array(
187  ),
188  'HIGHLIGHT_STRICT_BLOCK' => array(
189  ),
190  'TAB_WIDTH' => 4
191 );
const GESHI_MODIFIERS
The key of the regex array defining any modifiers to the regular expression.
Definition: geshi.php:137
const GESHI_BEFORE
The key of the regex array defining what bracket group in a matched search to put before the replacem...
Definition: geshi.php:140
const GESHI_COMMENTS
Used in language files to mark comments.
Definition: geshi.php:149
const GESHI_REPLACE
The key of the regex array defining what bracket group in a matched search to use as a replacement...
Definition: geshi.php:135
const GESHI_SEARCH
The key of the regex array defining what to search for.
Definition: geshi.php:132
const GESHI_NEVER
#+ private
Definition: geshi.php:123
$language_data
Definition: magiksf.php:46
const GESHI_CAPS_NO_CHANGE
Lowercase keywords found.
Definition: geshi.php:94
const GESHI_AFTER
The key of the regex array defining what bracket group in a matched search to put after the replaceme...
Definition: geshi.php:143