| <?php |
| /************************************************************************************* |
| * reg.php |
| * ------- |
| * Author: Sean Hanna (smokingrope@gmail.com) |
| * Copyright: (c) 2006 Sean Hanna |
| * Release Version: 1.0.8.3 |
| * Date Started: 03/15/2006 |
| * |
| * Microsoft Registry Editor language file for GeSHi. |
| * |
| * CHANGES |
| * ------- |
| * 2008/05/23 (1.0.7.22) |
| * - Added description of extra language features (SF#1970248) |
| * - Updated and optimized most regular expressions |
| * 03/15/2006 (0.5.0) |
| * - Syntax File Created |
| * 04/27/2006 (0.9.5) |
| * - Syntax Coloring Cleaned Up |
| * - First Release |
| * 04/29/2006 (1.0.0) |
| * - Updated a few coloring settings |
| * |
| * TODO (updated 4/27/2006) |
| * ------------------------- |
| * - Add a verification to the multi-line portion of the hex field regex |
| * for a '\' character on the line preceding the line of the multi-line |
| * hex field. |
| * |
| * KNOWN ISSUES (updated 4/27/2006) |
| * --------------------------------- |
| * |
| * - There are two regexes for the multiline hex value regex. The regex for |
| * all lines after the first does not verify that the previous line contains |
| * a line continuation character '\'. This regex also does not check for |
| * end of line as it should. |
| * |
| * - If number_highlighting is enabled during processing of this syntax file |
| * many of the regexps used will appear slightly incorrect. |
| * |
| ************************************************************************************* |
| * |
| * This file is part of GeSHi. |
| * |
| * GeSHi is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License as published by |
| * the Free Software Foundation; either version 2 of the License, or |
| * (at your option) any later version. |
| * |
| * GeSHi is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with GeSHi; if not, write to the Free Software |
| * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| * |
| |
| ************************************************************************************/ |
| $language_data = array ( |
| 'LANG_NAME' => 'Microsoft Registry', |
| 'COMMENT_SINGLE' => array(1 =>';'), |
| 'COMMENT_MULTI' => array( ), |
| 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, |
| 'QUOTEMARKS' => array(), |
| 'ESCAPE_CHAR' => '', |
| 'KEYWORDS' => array( |
| // 1 => array(), |
| // 2 => array(), |
| /* Registry Key Constants Not Used */ |
| 3 => array( |
| 'HKEY_LOCAL_MACHINE', |
| 'HKEY_CLASSES_ROOT', |
| 'HKEY_CURRENT_USER', |
| 'HKEY_USERS', |
| 'HKEY_CURRENT_CONFIG', |
| 'HKEY_DYN_DATA', |
| 'HKLM', 'HKCR', 'HKCU', 'HKU', 'HKCC', 'HKDD' |
| ) |
| ), |
| 'SYMBOLS' => array( |
| '=' |
| ), |
| 'CASE_SENSITIVE' => array( |
| GESHI_COMMENTS => false, |
| // 1 => false, |
| // 2 => false, |
| 3 => false |
| ), |
| 'STYLES' => array( |
| 'KEYWORDS' => array( |
| // 1 => 'color: #00CCFF;', |
| // 2 => 'color: #0000FF;', |
| 3 => 'color: #800000;' |
| ), |
| 'COMMENTS' => array( |
| 1 => 'color: #009900;' |
| ), |
| 'ESCAPE_CHAR' => array( |
| ), |
| 'BRACKETS' => array( |
| 0 => 'color: #000000;' |
| ), |
| 'STRINGS' => array( |
| 0 => 'color: #009900;' |
| ), |
| 'NUMBERS' => array( |
| ), |
| 'METHODS' => array( |
| ), |
| 'SYMBOLS' => array( |
| 0 => 'color: #000000;' |
| ), |
| 'SCRIPT' => array( |
| ), |
| 'REGEXPS' => array( |
| 0 => 'color: #00CCFF;', |
| 1 => 'color: #0000FF;', |
| 2 => '', |
| 3 => 'color: #0000FF;', |
| 4 => 'color: #0000FF;', |
| 5 => '', |
| 6 => '', |
| 7 => '', |
| 8 => 'color: #FF6600;', |
| ) |
| ), |
| 'URLS' => array( |
| // 1 => '', |
| // 2 => '', |
| 3 => '' |
| ), |
| 'OOLANG' => false, |
| 'OBJECT_SPLITTERS' => array( |
| ), |
| 'REGEXPS' => array( |
| // Highlight Key Delimiters |
| 0 => array( |
| GESHI_SEARCH => '((^|\\n)\\s*)(\\\\\\[(.*)\\\\\\])(\\s*(\\n|$))', |
| GESHI_REPLACE => '\\3', |
| GESHI_MODIFIERS => '', |
| GESHI_BEFORE => '\\1', |
| GESHI_AFTER => '\\5' |
| // GESHI_CLASS => 'kw1' |
| ), |
| // Highlight File Format Header Version 5 |
| 1 => array( |
| GESHI_SEARCH => '(^\s*)(Windows Registry Editor Version \d+\.\d+)(\s*$)', |
| GESHI_REPLACE => '\\2', |
| GESHI_MODIFIERS => 'm', |
| GESHI_BEFORE => '\\1', |
| GESHI_AFTER => '\\3', |
| GESHI_CLASS => 'geshi_registry_header' |
| ), |
| // Highlight File Format Header Version 4 |
| 2 => array( |
| GESHI_SEARCH => '(^\\s*)(REGEDIT\s?\d+)(\s*$)', |
| GESHI_REPLACE => '\\2', |
| GESHI_MODIFIERS => 'm', |
| GESHI_BEFORE => '\\1', |
| GESHI_AFTER => '\\3', |
| GESHI_CLASS => 'geshi_registry_header' |
| ), |
| // Highlight dword: 32 bit integer values |
| 3 => array( |
| GESHI_SEARCH => '(=\s*)(dword:[0-9a-fA-F]{8})(\s*$)', |
| GESHI_REPLACE => '\\2', |
| GESHI_MODIFIERS => 'm', |
| GESHI_BEFORE => '\\1', |
| GESHI_AFTER => '\\3' |
| // GESHI_CLASS => 'kw2' |
| ), |
| // Highlight variable names |
| 4 => array( |
| GESHI_SEARCH => '(^\s*)(\".*?\")(\s*=)', |
| GESHI_REPLACE => '\\2', |
| GESHI_MODIFIERS => 'm', |
| GESHI_BEFORE => '\\1', |
| GESHI_AFTER => '\\3', |
| GESHI_CLASS => 'geshi_variable' |
| ), |
| // Highlight String Values |
| 5 => array( |
| GESHI_SEARCH => '(=\s*)(\".*?\")(\s*$)', |
| GESHI_REPLACE => '\\2', |
| GESHI_MODIFIERS => 'm', |
| GESHI_BEFORE => '\\1', |
| GESHI_AFTER => '\\3', |
| GESHI_CLASS => 'st0' |
| ), |
| // Highlight Hexadecimal Values (Single-Line and Multi-Line) |
| 6 => array( |
| GESHI_SEARCH => '(=\s*\n?\s*)(hex:[0-9a-fA-F]{2}(,(\\\s*\n\s*)?[0-9a-fA-F]{2})*)', |
| GESHI_REPLACE => '\\2', |
| GESHI_MODIFIERS => 'm', |
| GESHI_BEFORE => '\\1', |
| GESHI_AFTER => '', |
| GESHI_CLASS => 'kw2' |
| ), |
| // Highlight Default Variable |
| 7 => array( |
| GESHI_SEARCH => '(^\s*)(@)(\s*=)', |
| GESHI_REPLACE => '\\2', |
| GESHI_MODIFIERS => 'm', |
| GESHI_BEFORE => '\\1', |
| GESHI_AFTER => '\\3', |
| GESHI_CLASS => 'geshi_variable' |
| ), |
| // Highlight GUID's found anywhere. |
| 8 => array( |
| GESHI_SEARCH => '(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\})', |
| GESHI_REPLACE => '\\1', |
| GESHI_MODIFIERS => 'i', |
| GESHI_BEFORE => '', |
| GESHI_AFTER => '', |
| GESHI_CLASS => 'geshi_guid' |
| ) |
| ), |
| 'STRICT_MODE_APPLIES' => GESHI_NEVER, |
| 'SCRIPT_DELIMITERS' => array( |
| ), |
| 'HIGHLIGHT_STRICT_BLOCK' => array( |
| ), |
| 'PARSER_CONTROL' => array( |
| 'ENABLE_FLAGS' => array( |
| 'NUMBERS' => GESHI_NEVER, |
| ) |
| ) |
| ); |
| |
| ?> |