plugins/geshi/geshi/reg.php
changeset 0 441963e5b07a
child 2 9e3258dfae15
equal deleted inserted replaced
-1:000000000000 0:441963e5b07a
       
     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 ?>