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.9.1 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