[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/geshi/geshi/src/geshi/ -> reg.php (source)

   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.1
   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  );