[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

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

   1  <?php
   2  /*************************************************************************************
   3   * oz.php
   4   * --------
   5   * Author: Wolfgang Meyer (Wolfgang.Meyer@gmx.net)
   6   * Copyright: (c) 2010 Wolfgang Meyer
   7   * Release Version: 1.0.9.1
   8   * Date Started: 2010/01/03
   9   *
  10   * Oz language file for GeSHi.
  11   *
  12   * CHANGES
  13   * -------
  14   *
  15   *************************************************************************************
  16   *
  17   *     This file is part of GeSHi.
  18   *
  19   *   GeSHi is free software; you can redistribute it and/or modify
  20   *   it under the terms of the GNU General Public License as published by
  21   *   the Free Software Foundation; either version 2 of the License, or
  22   *   (at your option) any later version.
  23   *
  24   *   GeSHi is distributed in the hope that it will be useful,
  25   *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  26   *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  27   *   GNU General Public License for more details.
  28   *
  29   *   You should have received a copy of the GNU General Public License
  30   *   along with GeSHi; if not, write to the Free Software
  31   *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  32   *
  33   ************************************************************************************/
  34  
  35  $language_data = array(
  36      'LANG_NAME' => 'OZ',
  37      'COMMENT_SINGLE' => array(1 => '%'),
  38      'COMMENT_MULTI' => array('/*' => '*/'),
  39      'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  40      'QUOTEMARKS' => array('"','\''),
  41      'ESCAPE_CHAR' => '\\',
  42      'NUMBERS' => array(),
  43      'KEYWORDS' => array(
  44          1 => array(
  45              'declare','local','in','end','proc','fun','functor','require','prepare',
  46              'import','export','define','at','case','then','else','of','elseof',
  47              'elsecase','if','elseif','class','from','prop','attr','feat','meth',
  48              'self','true','false','unit','div','mod','andthen','orelse','cond','or',
  49              'dis','choice','not','thread','try','catch','finally','raise','lock',
  50              'skip','fail','for','do'
  51              )
  52          ),
  53      'CASE_SENSITIVE' => array(
  54          GESHI_COMMENTS => false,
  55          1 => true
  56          ),
  57      'SYMBOLS' => array(
  58          '@', '!', '|', '<-', ':=', '<', '>', '=<', '>=', '<=', '#', '~', '.',
  59          '*', '-', '+', '/', '<:', '>:', '=:', '=<:', '>=:', '\\=', '\\=:', ',',
  60          '!!', '...', '==', '::', ':::'
  61          ),
  62      'STYLES' => array(
  63          'REGEXPS' => array(
  64              1 => 'color: #0000ff;',
  65              2 => 'color: #00a030;',
  66              3 => 'color: #bc8f8f;',
  67              4 => 'color: #0000ff;',
  68              5 => 'color: #a020f0;'
  69              ),
  70          'ESCAPE_CHAR' => array(
  71              0 => 'color: #bc8f8f;'
  72              ),
  73          'KEYWORDS' => array(
  74              1 => 'color: #a020f0;'
  75              ),
  76          'COMMENTS' => array(
  77              1 => 'color: #B22222;',
  78              'MULTI' => 'color: #B22222;'
  79              ),
  80          'STRINGS' => array(
  81              0 => 'color: #bc8f8f;'
  82              ),
  83          'SYMBOLS' => array(
  84              0 => 'color: #a020f0;'
  85              ),
  86          'BRACKETS' => array(),
  87          'NUMBERS' => array(),
  88          'METHODS' => array(),
  89          'SCRIPT' => array()
  90          ),
  91      'OOLANG' => false,
  92      'OBJECT_SPLITTERS' => array(),
  93      'STRICT_MODE_APPLIES' => GESHI_MAYBE,
  94      'SCRIPT_DELIMITERS' => array(),
  95      'HIGHLIGHT_STRICT_BLOCK' => array(),
  96      'URLS' => array(
  97          1 => ''
  98          ),
  99      'REGEXPS' => array(
 100          // function and procedure definition
 101          1 => array(
 102              GESHI_SEARCH => "(proc|fun)([^{}\n\)]*)(\\{)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)",
 103              GESHI_REPLACE => '\4',
 104              GESHI_MODIFIERS => '',
 105              GESHI_BEFORE => '\1\2\3',
 106              GESHI_AFTER => ''
 107              ),
 108          // class definition
 109          2 => array(
 110              GESHI_SEARCH => "(class)([^A-Z\$]*)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)",
 111              GESHI_REPLACE => '\3\4',
 112              GESHI_MODIFIERS => '',
 113              GESHI_BEFORE => '\1\2',
 114              GESHI_AFTER => ''
 115              ),
 116          // single character
 117          3 => array(
 118              GESHI_SEARCH => "&amp;.",
 119              GESHI_REPLACE => '\0',
 120              GESHI_MODIFIERS => '',
 121              GESHI_BEFORE => '',
 122              GESHI_AFTER => ''
 123              ),
 124          // method definition
 125          4 => array(
 126              GESHI_SEARCH => "(meth)([^a-zA-Z]+)([a-zA-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9]*)",
 127              GESHI_REPLACE => '\3',
 128              GESHI_MODIFIERS => '',
 129              GESHI_BEFORE => '\1\2',
 130              GESHI_AFTER => ''
 131              ),
 132          // highlight "[]"
 133          // ([] is actually a keyword, but that causes problems in validation; putting it into symbols doesn't work.)
 134          5 => array(
 135              GESHI_SEARCH => "\[\]",
 136              GESHI_REPLACE => '\0',
 137              GESHI_MODIFIERS => '',
 138              GESHI_BEFORE => '',
 139              GESHI_AFTER => ''
 140              )
 141          )
 142  );