1<?php 2/************************************************************************************* 3 * genie.php 4 * ---------- 5 * Author: Nicolas Joseph (nicolas.joseph@valaide.org) 6 * Copyright: (c) 2009 Nicolas Joseph 7 * Release Version: 1.0.9.1 8 * Date Started: 2009/04/29 9 * 10 * Genie language file for GeSHi. 11 * 12 * CHANGES 13 * ------- 14 * 15 * TODO 16 * ---- 17 * 18 ************************************************************************************* 19 * 20 * This file is part of GeSHi. 21 * 22 * GeSHi is free software; you can redistribute it and/or modify 23 * it under the terms of the GNU General Public License as published by 24 * the Free Software Foundation; either version 2 of the License, or 25 * (at your option) any later version. 26 * 27 * GeSHi is distributed in the hope that it will be useful, 28 * but WITHOUT ANY WARRANTY; without even the implied warranty of 29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 30 * GNU General Public License for more details. 31 * 32 * You should have received a copy of the GNU General Public License 33 * along with GeSHi; if not, write to the Free Software 34 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 35 * 36 ************************************************************************************/ 37 38$language_data = array ( 39 'LANG_NAME' => 'Genie', 40 'COMMENT_SINGLE' => array(1 => '//'), 41 'COMMENT_MULTI' => array('/*' => '*/'), 42 'COMMENT_REGEXP' => array( 43 //Using and Namespace directives (basic support) 44 //Please note that the alias syntax for using is not supported 45 3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'), 46 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 47 'QUOTEMARKS' => array("'", '"'), 48 'HARDQUOTE' => array('@"', '"'), 49 'HARDESCAPE' => array('""'), 50 'ESCAPE_CHAR' => '\\', 51 'KEYWORDS' => array( 52 1 => array( 53 'and', 'as', 'abstract', 'break', 'case', 'cast', 'catch', 'const', 54 'construct', 'continue', 'default', 'def', 'delete', 'div', 55 'dynamic', 'do', 'downto', 'else', 'ensures', 'except', 'extern', 56 'false', 'final', 'finally', 'for', 'foreach', 'get', 'if', 'in', 57 'init', 'inline', 'internal', 'implements', 'lock', 'not', 'null', 58 'of', 'or', 'otherwise', 'out', 'override', 'pass', 'raise', 59 'raises', 'readonly', 'ref', 'requires', 'self', 'set', 'static', 60 'super', 'switch', 'to', 'true', 'try', 'unless', 'uses', 'var', 'virtual', 61 'volatile', 'void', 'when', 'while' 62 ), 63// 2 => array( 64// ), 65 3 => array( 66 'is', 'isa', 'new', 'owned', 'sizeof', 'typeof', 'unchecked', 67 'unowned', 'weak' 68 ), 69 4 => array( 70 'bool', 'byte', 'class', 'char', 'date', 'datetime', 'decimal', 'delegate', 71 'double', 'enum', 'event', 'exception', 'float', 'int', 'interface', 72 'long', 'object', 'prop', 'sbyte', 'short', 'single', 'string', 73 'struct', 'ulong', 'ushort' 74 ), 75// 5 => array( 76// ), 77 ), 78 'SYMBOLS' => array( 79 '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';', 80 '(', ')', '{', '}', '[', ']', '|' 81 ), 82 'CASE_SENSITIVE' => array( 83 GESHI_COMMENTS => false, 84 1 => false, 85// 2 => false, 86 3 => false, 87 4 => false, 88// 5 => false, 89 ), 90 'STYLES' => array( 91 'KEYWORDS' => array( 92 1 => 'color: #0600FF;', 93// 2 => 'color: #FF8000; font-weight: bold;', 94 3 => 'color: #008000;', 95 4 => 'color: #FF0000;', 96// 5 => 'color: #000000;' 97 ), 98 'COMMENTS' => array( 99 1 => 'color: #008080; font-style: italic;', 100// 2 => 'color: #008080;', 101 3 => 'color: #008080;', 102 'MULTI' => 'color: #008080; font-style: italic;' 103 ), 104 'ESCAPE_CHAR' => array( 105 0 => 'color: #008080; font-weight: bold;', 106 'HARD' => 'color: #008080; font-weight: bold;' 107 ), 108 'BRACKETS' => array( 109 0 => 'color: #000000;' 110 ), 111 'STRINGS' => array( 112 0 => 'color: #666666;', 113 'HARD' => 'color: #666666;' 114 ), 115 'NUMBERS' => array( 116 0 => 'color: #FF0000;' 117 ), 118 'METHODS' => array( 119 1 => 'color: #0000FF;', 120 2 => 'color: #0000FF;' 121 ), 122 'SYMBOLS' => array( 123 0 => 'color: #008000;' 124 ), 125 'REGEXPS' => array( 126 ), 127 'SCRIPT' => array( 128 ) 129 ), 130 'URLS' => array( 131 1 => '', 132// 2 => '', 133 3 => '', 134 4 => '', 135// 5 => '' 136 ), 137 'OOLANG' => true, 138 'OBJECT_SPLITTERS' => array( 139 1 => '.' 140 ), 141 'REGEXPS' => array( 142 ), 143 'STRICT_MODE_APPLIES' => GESHI_NEVER, 144 'SCRIPT_DELIMITERS' => array( 145 ), 146 'HIGHLIGHT_STRICT_BLOCK' => array( 147 ), 148 'TAB_WIDTH' => 4, 149 'PARSER_CONTROL' => array( 150 'KEYWORDS' => array( 151 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])", 152 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])" 153 ) 154 ) 155); 156