plugins/geshi/geshi/boo.php
changeset 2 9e3258dfae15
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
       
     1 <?php
       
     2 /*************************************************************************************
       
     3  * boo.php
       
     4  * --------
       
     5  * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
       
     6  * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
       
     7  * Release Version: 1.0.8.2
       
     8  * Date Started: 2007/09/10
       
     9  *
       
    10  * Boo language file for GeSHi.
       
    11  *
       
    12  * CHANGES
       
    13  * -------
       
    14  * 2004/09/10 (1.0.8)
       
    15  *  -  First Release
       
    16  *
       
    17  * TODO (updated 2007/09/10)
       
    18  * -------------------------
       
    19  * Regular Expression Literal matching
       
    20  *
       
    21  *************************************************************************************
       
    22  *
       
    23  *     This file is part of GeSHi.
       
    24  *
       
    25  *   GeSHi is free software; you can redistribute it and/or modify
       
    26  *   it under the terms of the GNU General Public License as published by
       
    27  *   the Free Software Foundation; either version 2 of the License, or
       
    28  *   (at your option) any later version.
       
    29  *
       
    30  *   GeSHi is distributed in the hope that it will be useful,
       
    31  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    32  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    33  *   GNU General Public License for more details.
       
    34  *
       
    35  *   You should have received a copy of the GNU General Public License
       
    36  *   along with GeSHi; if not, write to the Free Software
       
    37  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
       
    38  *
       
    39  ************************************************************************************/
       
    40 
       
    41 $language_data = array (
       
    42     'LANG_NAME' => 'Boo',
       
    43     'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
       
    44     'COMMENT_MULTI' => array('/*' => '*/'),
       
    45     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
       
    46     'QUOTEMARKS' => array("'''", "'", '"""', '"'),
       
    47     'HARDQUOTE' => array('"""', '"""'),
       
    48     'HARDESCAPE' => array('\"""'),
       
    49     'ESCAPE_CHAR' => '\\',
       
    50     'KEYWORDS' => array(
       
    51         1 => array(//Namespace
       
    52             'namespace', 'import', 'from'
       
    53             ),
       
    54         2 => array(//Jump
       
    55             'yield', 'return', 'goto', 'continue', 'break'
       
    56             ),
       
    57         3 => array(//Conditional
       
    58             'while', 'unless', 'then', 'in', 'if', 'for', 'else', 'elif'
       
    59             ),
       
    60         4 => array(//Property
       
    61             'set', 'get'
       
    62             ),
       
    63         5 => array(//Exception
       
    64             'try', 'raise', 'failure', 'except', 'ensure'
       
    65             ),
       
    66         6 => array(//Visibility
       
    67             'public', 'private', 'protected', 'internal'
       
    68             ),
       
    69         7 => array(//Define
       
    70             'struct', 'ref', 'of', 'interface', 'event', 'enum', 'do', 'destructor', 'def', 'constructor', 'class'
       
    71             ),
       
    72         8 => array(//Cast
       
    73             'typeof', 'cast', 'as'
       
    74             ),
       
    75         9 => array(//BiMacro
       
    76             'yieldAll', 'using', 'unchecked', 'rawArayIndexing', 'print', 'normalArrayIndexing', 'lock',
       
    77             'debug', 'checked', 'assert'
       
    78             ),
       
    79         10 => array(//BiAttr
       
    80             'required', 'property', 'meta', 'getter', 'default'
       
    81             ),
       
    82         11 => array(//BiFunc
       
    83             'zip', 'shellp', 'shellm', 'shell', 'reversed', 'range', 'prompt',
       
    84             'matrix', 'map', 'len', 'join', 'iterator', 'gets', 'enumerate', 'cat', 'array'
       
    85             ),
       
    86         12 => array(//HiFunc
       
    87             '__switch__', '__initobj__', '__eval__', '__addressof__', 'quack'
       
    88             ),
       
    89         13 => array(//Primitive
       
    90             'void', 'ushort', 'ulong', 'uint', 'true', 'timespan', 'string', 'single',
       
    91             'short', 'sbyte', 'regex', 'object', 'null', 'long', 'int', 'false', 'duck',
       
    92             'double', 'decimal', 'date', 'char', 'callable', 'byte', 'bool'
       
    93             ),
       
    94         14 => array(//Operator
       
    95             'not', 'or', 'and', 'is', 'isa',
       
    96             ),
       
    97         15 => array(//Modifier
       
    98             'virtual', 'transient', 'static', 'partial', 'override', 'final', 'abstract'
       
    99             ),
       
   100         16 => array(//Access
       
   101             'super', 'self'
       
   102             ),
       
   103         17 => array(//Pass
       
   104             'pass'
       
   105             )
       
   106         ),
       
   107     'SYMBOLS' => array(
       
   108         '[|', '|]', '${', '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '+', '-', ';'
       
   109         ),
       
   110     'CASE_SENSITIVE' => array(
       
   111         GESHI_COMMENTS => false,
       
   112         1 => true,
       
   113         2 => true,
       
   114         3 => true,
       
   115         4 => true,
       
   116         5 => true,
       
   117         6 => true,
       
   118         7 => true,
       
   119         8 => true,
       
   120         9 => true,
       
   121         10 => true,
       
   122         11 => true,
       
   123         12 => true,
       
   124         13 => true,
       
   125         14 => true,
       
   126         15 => true,
       
   127         16 => true,
       
   128         17 => true
       
   129         ),
       
   130     'STYLES' => array(
       
   131         'KEYWORDS' => array(
       
   132             1 => 'color:green;font-weight:bold;',
       
   133             2 => 'color:navy;',
       
   134             3 => 'color:blue;font-weight:bold;',
       
   135             4 => 'color:#8B4513;',
       
   136             5 => 'color:teal;font-weight:bold;',
       
   137             6 => 'color:blue;font-weight:bold;',
       
   138             7 => 'color:blue;font-weight:bold;',
       
   139             8 => 'color:blue;font-weight:bold;',
       
   140             9 => 'color:maroon;',
       
   141             10 => 'color:maroon;',
       
   142             11 => 'color:purple;',
       
   143             12 => 'color:#4B0082;',
       
   144             13 => 'color:purple;font-weight:bold;',
       
   145             14 => 'color:#008B8B;font-weight:bold;',
       
   146             15 => 'color:brown;',
       
   147             16 => 'color:black;font-weight:bold;',
       
   148             17 => 'color:gray;'
       
   149             ),
       
   150         'COMMENTS' => array(
       
   151             1 => 'color: #999999; font-style: italic;',
       
   152             2 => 'color: #999999; font-style: italic;',
       
   153             'MULTI' => 'color: #008000; font-style: italic;'
       
   154             ),
       
   155         'ESCAPE_CHAR' => array(
       
   156             0 => 'color: #0000FF; font-weight: bold;',
       
   157             'HARD' => 'color: #0000FF; font-weight: bold;',
       
   158             ),
       
   159         'BRACKETS' => array(
       
   160             0 => 'color: #006400;'
       
   161             ),
       
   162         'STRINGS' => array(
       
   163             0 => 'color: #008000;',
       
   164             'HARD' => 'color: #008000;'
       
   165             ),
       
   166         'NUMBERS' => array(
       
   167             0 => 'color: #00008B;'
       
   168             ),
       
   169         'METHODS' => array(
       
   170             0 => 'color: 000000;',
       
   171             1 => 'color: 000000;'
       
   172             ),
       
   173         'SYMBOLS' => array(
       
   174             0 => 'color: #006400;'
       
   175             ),
       
   176         'REGEXPS' => array(
       
   177             #0 => 'color: #0066ff;'
       
   178             ),
       
   179         'SCRIPT' => array(
       
   180             )
       
   181         ),
       
   182     'URLS' => array(
       
   183         1 => '',
       
   184         2 => '',
       
   185         3 => '',
       
   186         4 => '',
       
   187         5 => '',
       
   188         6 => '',
       
   189         7 => '',
       
   190         8 => '',
       
   191         9 => '',
       
   192         10 => '',
       
   193         11 => '',
       
   194         12 => '',
       
   195         13 => '',
       
   196         14 => '',
       
   197         15 => '',
       
   198         16 => '',
       
   199         17 => ''
       
   200         ),
       
   201     'OOLANG' => true,
       
   202     'OBJECT_SPLITTERS' => array(
       
   203         0 => '.',
       
   204         1 => '::'
       
   205         ),
       
   206     'REGEXPS' => array(
       
   207         #0 => '%(@)?\/(?:(?(1)[^\/\\\\\r\n]+|[^\/\\\\\r\n \t]+)|\\\\[\/\\\\\w+()|.*?$^[\]{}\d])+\/%'
       
   208         ),
       
   209     'STRICT_MODE_APPLIES' => GESHI_NEVER,
       
   210     'SCRIPT_DELIMITERS' => array(
       
   211         ),
       
   212     'HIGHLIGHT_STRICT_BLOCK' => array(
       
   213         ),
       
   214     'TAB_WIDTH' => 4
       
   215 );
       
   216 
       
   217 ?>