ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
reg.php
Go to the documentation of this file.
1 <?php
2 /*************************************************************************************
3  * reg.php
4  * -------
5  * Author: Sean Hanna (smokingrope@gmail.com)
6  * Copyright: (c) 2006 Sean Hanna
7  * Release Version: 1.0.9.0
8  * Date Started: 03/15/2006
9  *
10  * Microsoft Registry Editor language file for GeSHi.
11  *
12  * CHANGES
13  * -------
14  * 2008/05/23 (1.0.7.22)
15  * - Added description of extra language features (SF#1970248)
16  * - Updated and optimized most regular expressions
17  * 03/15/2006 (0.5.0)
18  * - Syntax File Created
19  * 04/27/2006 (0.9.5)
20  * - Syntax Coloring Cleaned Up
21  * - First Release
22  * 04/29/2006 (1.0.0)
23  * - Updated a few coloring settings
24  *
25  * TODO (updated 4/27/2006)
26  * -------------------------
27  * - Add a verification to the multi-line portion of the hex field regex
28  * for a '\' character on the line preceding the line of the multi-line
29  * hex field.
30  *
31  * KNOWN ISSUES (updated 4/27/2006)
32  * ---------------------------------
33  *
34  * - There are two regexes for the multiline hex value regex. The regex for
35  * all lines after the first does not verify that the previous line contains
36  * a line continuation character '\'. This regex also does not check for
37  * end of line as it should.
38  *
39  * - If number_highlighting is enabled during processing of this syntax file
40  * many of the regexps used will appear slightly incorrect.
41  *
42  *************************************************************************************
43  *
44  * This file is part of GeSHi.
45  *
46  * GeSHi is free software; you can redistribute it and/or modify
47  * it under the terms of the GNU General Public License as published by
48  * the Free Software Foundation; either version 2 of the License, or
49  * (at your option) any later version.
50  *
51  * GeSHi is distributed in the hope that it will be useful,
52  * but WITHOUT ANY WARRANTY; without even the implied warranty of
53  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
54  * GNU General Public License for more details.
55  *
56  * You should have received a copy of the GNU General Public License
57  * along with GeSHi; if not, write to the Free Software
58  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
59  *
60 
61  ************************************************************************************/
62 $language_data = array (
63  'LANG_NAME' => 'Microsoft Registry',
64  'COMMENT_SINGLE' => array(1 =>';'),
65  'COMMENT_MULTI' => array( ),
66  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
67  'QUOTEMARKS' => array(),
68  'ESCAPE_CHAR' => '',
69  'KEYWORDS' => array(
70 // 1 => array(),
71 // 2 => array(),
72  /* Registry Key Constants Not Used */
73  3 => array(
74  'HKEY_LOCAL_MACHINE',
75  'HKEY_CLASSES_ROOT',
76  'HKEY_CURRENT_USER',
77  'HKEY_USERS',
78  'HKEY_CURRENT_CONFIG',
79  'HKEY_DYN_DATA',
80  'HKLM', 'HKCR', 'HKCU', 'HKU', 'HKCC', 'HKDD'
81  )
82  ),
83  'SYMBOLS' => array(
84  '='
85  ),
86  'CASE_SENSITIVE' => array(
87  GESHI_COMMENTS => false,
88 // 1 => false,
89 // 2 => false,
90  3 => false
91  ),
92  'STYLES' => array(
93  'KEYWORDS' => array(
94 // 1 => 'color: #00CCFF;',
95 // 2 => 'color: #0000FF;',
96  3 => 'color: #800000;'
97  ),
98  'COMMENTS' => array(
99  1 => 'color: #009900;'
100  ),
101  'ESCAPE_CHAR' => array(
102  ),
103  'BRACKETS' => array(
104  0 => 'color: #000000;'
105  ),
106  'STRINGS' => array(
107  0 => 'color: #009900;'
108  ),
109  'NUMBERS' => array(
110  ),
111  'METHODS' => array(
112  ),
113  'SYMBOLS' => array(
114  0 => 'color: #000000;'
115  ),
116  'SCRIPT' => array(
117  ),
118  'REGEXPS' => array(
119  0 => 'color: #00CCFF;',
120  1 => 'color: #0000FF;',
121  2 => '',
122  3 => 'color: #0000FF;',
123  4 => 'color: #0000FF;',
124  5 => '',
125  6 => '',
126  7 => '',
127  8 => 'color: #FF6600;',
128  )
129  ),
130  'URLS' => array(
131 // 1 => '',
132 // 2 => '',
133  3 => ''
134  ),
135  'OOLANG' => false,
136  'OBJECT_SPLITTERS' => array(
137  ),
138  'REGEXPS' => array(
139  // Highlight Key Delimiters
140  0 => array(
141  GESHI_SEARCH => '((^|\\n)\\s*)(\\\\\\[(.*)\\\\\\])(\\s*(\\n|$))',
142  GESHI_REPLACE => '\\3',
143  GESHI_MODIFIERS => '',
144  GESHI_BEFORE => '\\1',
145  GESHI_AFTER => '\\5'
146 // GESHI_CLASS => 'kw1'
147  ),
148  // Highlight File Format Header Version 5
149  1 => array(
150  GESHI_SEARCH => '(^\s*)(Windows Registry Editor Version \d+\.\d+)(\s*$)',
151  GESHI_REPLACE => '\\2',
152  GESHI_MODIFIERS => 'm',
153  GESHI_BEFORE => '\\1',
154  GESHI_AFTER => '\\3',
155  GESHI_CLASS => 'geshi_registry_header'
156  ),
157  // Highlight File Format Header Version 4
158  2 => array(
159  GESHI_SEARCH => '(^\\s*)(REGEDIT\s?\d+)(\s*$)',
160  GESHI_REPLACE => '\\2',
161  GESHI_MODIFIERS => 'm',
162  GESHI_BEFORE => '\\1',
163  GESHI_AFTER => '\\3',
164  GESHI_CLASS => 'geshi_registry_header'
165  ),
166  // Highlight dword: 32 bit integer values
167  3 => array(
168  GESHI_SEARCH => '(=\s*)(dword:[0-9a-fA-F]{8})(\s*$)',
169  GESHI_REPLACE => '\\2',
170  GESHI_MODIFIERS => 'm',
171  GESHI_BEFORE => '\\1',
172  GESHI_AFTER => '\\3'
173 // GESHI_CLASS => 'kw2'
174  ),
175  // Highlight variable names
176  4 => array(
177  GESHI_SEARCH => '(^\s*)(\&quot;.*?\&quot;)(\s*=)',
178  GESHI_REPLACE => '\\2',
179  GESHI_MODIFIERS => 'm',
180  GESHI_BEFORE => '\\1',
181  GESHI_AFTER => '\\3',
182  GESHI_CLASS => 'geshi_variable'
183  ),
184  // Highlight String Values
185  5 => array(
186  GESHI_SEARCH => '(=\s*)(\&quot;.*?\&quot;)(\s*$)',
187  GESHI_REPLACE => '\\2',
188  GESHI_MODIFIERS => 'm',
189  GESHI_BEFORE => '\\1',
190  GESHI_AFTER => '\\3',
191  GESHI_CLASS => 'st0'
192  ),
193  // Highlight Hexadecimal Values (Single-Line and Multi-Line)
194  6 => array(
195  GESHI_SEARCH => '(=\s*\n?\s*)(hex:[0-9a-fA-F]{2}(,(\\\s*\n\s*)?[0-9a-fA-F]{2})*)',
196  GESHI_REPLACE => '\\2',
197  GESHI_MODIFIERS => 'm',
198  GESHI_BEFORE => '\\1',
199  GESHI_AFTER => '',
200  GESHI_CLASS => 'kw2'
201  ),
202  // Highlight Default Variable
203  7 => array(
204  GESHI_SEARCH => '(^\s*)(@)(\s*=)',
205  GESHI_REPLACE => '\\2',
206  GESHI_MODIFIERS => 'm',
207  GESHI_BEFORE => '\\1',
208  GESHI_AFTER => '\\3',
209  GESHI_CLASS => 'geshi_variable'
210  ),
211  // Highlight GUID's found anywhere.
212  8 => array(
213  GESHI_SEARCH => '(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\})',
214  GESHI_REPLACE => '\\1',
215  GESHI_MODIFIERS => 'i',
216  GESHI_BEFORE => '',
217  GESHI_AFTER => '',
218  GESHI_CLASS => 'geshi_guid'
219  )
220  ),
221  'STRICT_MODE_APPLIES' => GESHI_NEVER,
222  'SCRIPT_DELIMITERS' => array(
223  ),
224  'HIGHLIGHT_STRICT_BLOCK' => array(
225  ),
226  'PARSER_CONTROL' => array(
227  'ENABLE_FLAGS' => array(
228  'NUMBERS' => GESHI_NEVER,
229  )
230  )
231 );
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_CLASS
The key of the regex array defining a custom keyword to use for this regexp&#39;s html tag class...
Definition: geshi.php:146
$language_data
Definition: reg.php:62
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
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