1<?php 2/************************************************************************************* 3 * typoscript.php 4 * -------- 5 * Author: Jan-Philipp Halle (typo3@jphalle.de) 6 * Copyright: (c) 2005 Jan-Philipp Halle (http://www.jphalle.de/) 7 * Release Version: 1.0.9.1 8 * Date Started: 2005/07/29 9 * 10 * TypoScript language file for GeSHi. 11 * 12 * CHANGES 13 * ------- 14 * 2008/07/11 (1.0.8) 15 * - Michiel Roos <geshi@typofree.org> Complete rewrite 16 * 2005/07/29 (1.0.0) 17 * - First Release 18 * 19 * TODO (updated 2004/07/14) 20 * ------------------------- 21 * <things-to-do> 22 * 23 ************************************************************************************* 24 * 25 * This file is part of GeSHi. 26 * 27 * GeSHi is free software; you can redistribute it and/or modify 28 * it under the terms of the GNU General Public License as published by 29 * the Free Software Foundation; either version 2 of the License, or 30 * (at your option) any later version. 31 * 32 * GeSHi is distributed in the hope that it will be useful, 33 * but WITHOUT ANY WARRANTY; without even the implied warranty of 34 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 35 * GNU General Public License for more details. 36 * 37 * You should have received a copy of the GNU General Public License 38 * along with GeSHi; if not, write to the Free Software 39 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 40 * 41 ************************************************************************************/ 42 43$language_data = array ( 44 'LANG_NAME' => 'TypoScript', 45 'COMMENT_SINGLE' => array(1 => '//'), 46 'COMMENT_MULTI' => array('/*' => '*/'), 47 'COMMENT_REGEXP' => array(2 => '/(?<!(#|\'|"))(?:#(?!(?:[a-fA-F0-9]{6}|[a-fA-F0-9]{3}))[^\n#]+|#{2}[^\n#]+|#{7,999}[^\n]+)/'), 48 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 49 'QUOTEMARKS' => array(), 50 'ESCAPE_CHAR' => '', 51 'KEYWORDS' => array( 52 // Conditions: http://documentation.typo3.org/documentation/tsref/conditions/ 53 1 => array( 54 'browser', 'compatVersion', 'dayofmonth', 'dayofweek', 'device', 55 'globalString', 'globalVars', 'hostname', 'hour', 56 'ip', 'language', 'loginUser', 'loginuser', 'minute', 57 'month', 'PIDinRootline', 'PIDupinRootline', 58 'system', 'treelevel', 'useragent', 'userFunc', 59 'usergroup', 'version' 60 ), 61 62 // Functions: http://documentation.typo3.org/documentation/tsref/functions/ 63 2 => array( 64 'addParams', 'encapsLines', 'filelink', 'HTMLparser', 65 'HTMLparser_tags', 'if', 'imageLinkWrap', 66 'imgResource', 'makelinks', 'numRows', 'parseFunc', 67 'select', 'split', 'stdWrap', 'tableStyle', 'tags', 68 'textStyle', 'typolink' 69 ), 70 71 // Toplevel objects: http://documentation.typo3.org/documentation/tsref/tlo-objects/ 72 3 => array( 73 'CARRAY', 'CONFIG', 'CONSTANTS', 'FE_DATA', 'FE_TABLE', 'FRAME', 74 'FRAMESET', 'META', 'PAGE', 'plugin' 75 ), 76 77 // Content Objects (cObject) : http://documentation.typo3.org/documentation/tsref/cobjects/ 78 4 => array( 79 'CASE', 'CLEARGIF', 'COA', 'COA_INT', 'COBJ_ARRAY', 'COLUMNS', 80 'CONTENT', 'CTABLE', 'EDITPANEL', 'FILE', 'FORM', 81 'HMENU', 'HRULER', 'HTML', 'IMAGE', 'IMGTEXT', 82 'IMG_RESOURCE', 'LOAD_REGISTER', 'MULTIMEDIA', 83 'OTABLE', 'PHP_SCRIPT', 'PHP_SCRIPT_EXT', 84 'PHP_SCRIPT_INT', 'RECORDS', 'RESTORE_REGISTER', 85 'SEARCHRESULT', 'TEMPLATE', 'TEXT', 'USER', 86 'USER_INT' 87 ), 88 89 // GIFBUILDER toplevel link: http://documentation.typo3.org/documentation/tsref/gifbuilder/ 90 5 => array( 91 'GIFBUILDER', 92 ), 93 94 // GIFBUILDER: http://documentation.typo3.org/documentation/tsref/gifbuilder/ 95 // skipped fields: IMAGE, TEXT 96 // NOTE! the IMAGE and TEXT field already are linked in group 4, they 97 // cannot be linked twice . . . . unfortunately 98 6 => array( 99 'ADJUST', 'BOX', 'CROP', 'EFFECT', 'EMBOSS', 100 'IMGMAP', 'OUTLINE', 'SCALE', 'SHADOW', 101 'WORKAREA' 102 ), 103 104 // MENU Objects: http://documentation.typo3.org/documentation/tsref/menu/ 105 7 => array( 106 'GMENU', 'GMENU_FOLDOUT', 'GMENU_LAYERS', 'IMGMENU', 107 'IMGMENUITEM', 'JSMENU', 'JSMENUITEM', 'TMENU', 108 'TMENUITEM', 'TMENU_LAYERS' 109 ), 110 111 // MENU common properties: http://documentation.typo3.org/documentation/tsref/menu/common-properties/ 112 8 => array( 113 'alternativeSortingField', 'begin', 'debugItemConf', 114 'imgNameNotRandom', 'imgNamePrefix', 115 'itemArrayProcFunc', 'JSWindow', 'maxItems', 116 'minItems', 'overrideId', 'sectionIndex', 117 'showAccessRestrictedPages', 'submenuObjSuffixes' 118 ), 119 120 // MENU item states: http://documentation.typo3.org/documentation/tsref/menu/item-states/ 121 9 => array( 122 'ACT', 'ACTIFSUB', 'ACTIFSUBRO', 'ACTRO', 'CUR', 'CURIFSUB', 123 'CURIFSUBRO', 'CURRO', 'IFSUB', 'IFSUBRO', 'NO', 124 'SPC', 'USERDEF1', 'USERDEF1RO', 'USERDEF2', 125 'USERDEF2RO', 'USR', 'USRRO' 126 ), 127 ), 128 129 // Does not include '-' because of stuff like htmlTag_langKey = en-GB and 130 // lib.nav-sub 131 'SYMBOLS' => array( 132 0 => array( 133 '|', 134 '+', '*', '/', '%', 135 '!', '&&', '^', 136 '<', '>', '=', 137 '?', ':', 138 '.' 139 ), 140 1 => array( 141 '(', ')', '{', '}', '[', ']' 142 ) 143 ), 144 'CASE_SENSITIVE' => array( 145 GESHI_COMMENTS => false, 146 1 => true, 147 2 => true, 148 3 => true, 149 4 => true, 150 5 => true, 151 6 => true, 152 7 => true, 153 8 => true, 154 9 => true 155 ), 156 'STYLES' => array( 157 'KEYWORDS' => array( 158 1 => 'color: #ed7d14;', 159 2 => 'font-weight: bold;', 160 3 => 'color: #990000; font-weight: bold;', 161 4 => 'color: #990000; font-weight: bold;', 162 5 => 'color: #990000; font-weight: bold;', 163 6 => 'color: #990000; font-weight: bold;', 164 7 => 'color: #990000; font-weight: bold;', 165 8 => 'font-weight: bold;', 166 9 => 'color: #990000; font-weight: bold;', 167 ), 168 'COMMENTS' => array( 169 1 => 'color: #aaa; font-style: italic;', 170 2 => 'color: #aaa; font-style: italic;', 171 'MULTI' => 'color: #aaa; font-style: italic;' 172 ), 173 'STRINGS' => array( 174 0 => 'color: #ac14aa;' 175 ), 176 'NUMBERS' => array( 177 0 => 'color: #cc0000;' 178 ), 179 'METHODS' => array( 180 1 => 'color: #0000e0; font-weight: bold;', 181 2 => 'color: #0000e0; font-weight: bold;' 182 ), 183 'BRACKETS' => array( 184 0 => 'color: #009900;' 185 ), 186 'SYMBOLS' => array( 187 0 => 'color: #339933; font-weight: bold;', 188 // Set this to the same value as brackets above 189 1 => 'color: #009900; font-weight: bold;' 190 ), 191 'REGEXPS' => array( 192 0 => 'color: #009900;', 193 1 => 'color: #009900; font-weight: bold;', 194 2 => 'color: #3366CC;', 195 3 => 'color: #000066; font-weight: bold;', 196 4 => 'color: #ed7d14;', 197 5 => 'color: #000066; font-weight: bold;', 198 6 => 'color: #009900;', 199 7 => 'color: #3366CC;' 200 ), 201 'ESCAPE_CHAR' => array( 202 ), 203 'SCRIPT' => array( 204 ) 205 ), 206 'URLS' => array( 207 1 => 'http://documentation.typo3.org/documentation/tsref/conditions/{FNAME}/', 208 2 => 'http://documentation.typo3.org/documentation/tsref/functions/{FNAME}/', 209 3 => 'http://documentation.typo3.org/documentation/tsref/tlo-objects/{FNAME}/', 210 4 => 'http://documentation.typo3.org/documentation/tsref/cobjects/{FNAME}/', 211 5 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/', 212 6 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/{FNAME}/', 213 7 => 'http://documentation.typo3.org/documentation/tsref/menu/{FNAME}/', 214 8 => 'http://documentation.typo3.org/documentation/tsref/menu/common-properties/', 215 9 => 'http://documentation.typo3.org/documentation/tsref/menu/item-states/' 216 ), 217 'OOLANG' => false, 218 'OBJECT_SPLITTERS' => array( 219 ), 220 'REGEXPS' => array( 221 // xhtml tag 222 2 => array( 223 GESHI_SEARCH => '(<)([a-zA-Z\\/][^\\/\\\x7C]*?)(>)', 224 GESHI_REPLACE => '\\2', 225 GESHI_MODIFIERS => 's', 226 GESHI_BEFORE => '\\1', 227 GESHI_AFTER => '\\3' 228 ), 229 230 // Constant 231 0 => array( 232 GESHI_SEARCH => '(\{)(\$[a-zA-Z_\.]+[a-zA-Z0-9_\.]*)(\})', 233 GESHI_REPLACE => '\\2', 234 GESHI_MODIFIERS => '', 235 GESHI_BEFORE => '\\1', 236 GESHI_AFTER => '\\3' 237 ), 238 239 // Constant dollar sign 240 1 => array( 241 GESHI_SEARCH => '(\$)([a-zA-Z_\.]+[a-zA-Z0-9_\.]*)', 242 GESHI_REPLACE => '\\1', 243 GESHI_MODIFIERS => '', 244 GESHI_BEFORE => '', 245 GESHI_AFTER => '\\2' 246 ), 247 248 // extension keys / tables: (static|user|ttx|tx|tt|fe)_something[_something] 249 3 => array( 250 GESHI_SEARCH => '(plugin\.|[^\.]\b)((?:static|user|ttx|tx|tt|fe)(?:_[0-9A-Za-z_]+?)\b)', 251 GESHI_REPLACE => '\\2', 252 GESHI_MODIFIERS => '', 253 GESHI_BEFORE => '\\1', 254 GESHI_AFTER => '' 255 ), 256 257 // conditions and controls 258 4 => array( 259 GESHI_SEARCH => '(\[)(globalVar|global|end)\b', 260 GESHI_REPLACE => '\\2', 261 GESHI_MODIFIERS => 'i', 262 GESHI_BEFORE => '\\1', 263 GESHI_AFTER => '' 264 ), 265 266 // lowlevel setup and constant objects 267 5 => array( 268 GESHI_SEARCH => '([^\.\$-\{]\b)(cObj|field|config|content|file|frameset|includeLibs|lib|page|plugin|register|resources|sitemap|sitetitle|styles|temp|tt_content|tt_news|types|xmlnews)\b', 269 GESHI_REPLACE => '\\2', 270 GESHI_MODIFIERS => '', 271 GESHI_BEFORE => '\\1', 272 GESHI_AFTER => '' 273 ), 274 275 // markers 276 6 => array( 277 GESHI_SEARCH => '(###[^#]+###)', 278 GESHI_REPLACE => '\\1', 279 GESHI_MODIFIERS => '', 280 GESHI_BEFORE => '', 281 GESHI_AFTER => '' 282 ), 283 284 // hex color codes 285 7 => array( 286 GESHI_SEARCH => '(#[a-fA-F0-9]{6}\b|#[a-fA-F0-9]{3}\b)', 287 GESHI_REPLACE => '\\1', 288 GESHI_MODIFIERS => '', 289 GESHI_BEFORE => '', 290 GESHI_AFTER => '' 291 ) 292 ), 293 'STRICT_MODE_APPLIES' => GESHI_NEVER, 294 'SCRIPT_DELIMITERS' => array( 295 ), 296 'HIGHLIGHT_STRICT_BLOCK' => array( 297 ) 298); 299