openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

reg.php (6401B)


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