KXStudio Website https://kx.studio/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

301 lines
11KB

  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.8.11
  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. $language_data = array (
  43. 'LANG_NAME' => 'TypoScript',
  44. 'COMMENT_SINGLE' => array(1 => '//'),
  45. 'COMMENT_MULTI' => array('/*' => '*/'),
  46. 'COMMENT_REGEXP' => array(2 => '/(?<!(#|\'|"))(?:#(?!(?:[a-fA-F0-9]{6}|[a-fA-F0-9]{3}))[^\n#]+|#{2}[^\n#]+|#{7,999}[^\n]+)/'),
  47. 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  48. 'QUOTEMARKS' => array(),
  49. 'ESCAPE_CHAR' => '',
  50. 'KEYWORDS' => array(
  51. // Conditions: http://documentation.typo3.org/documentation/tsref/conditions/
  52. 1 => array(
  53. 'browser', 'compatVersion', 'dayofmonth', 'dayofweek', 'device',
  54. 'globalString', 'globalVars', 'hostname', 'hour',
  55. 'ip', 'language', 'loginUser', 'loginuser', 'minute',
  56. 'month', 'PIDinRootline', 'PIDupinRootline',
  57. 'system', 'treelevel', 'useragent', 'userFunc',
  58. 'usergroup', 'version'
  59. ),
  60. // Functions: http://documentation.typo3.org/documentation/tsref/functions/
  61. 2 => array(
  62. 'addParams', 'encapsLines', 'filelink', 'HTMLparser',
  63. 'HTMLparser_tags', 'if', 'imageLinkWrap',
  64. 'imgResource', 'makelinks', 'numRows', 'parseFunc',
  65. 'select', 'split', 'stdWrap', 'tableStyle', 'tags',
  66. 'textStyle', 'typolink'
  67. ),
  68. // Toplevel objects: http://documentation.typo3.org/documentation/tsref/tlo-objects/
  69. 3 => array(
  70. 'CARRAY', 'CONFIG', 'CONSTANTS', 'FE_DATA', 'FE_TABLE', 'FRAME',
  71. 'FRAMESET', 'META', 'PAGE', 'plugin'
  72. ),
  73. // Content Objects (cObject) : http://documentation.typo3.org/documentation/tsref/cobjects/
  74. 4 => array(
  75. 'CASE', 'CLEARGIF', 'COA', 'COA_INT', 'COBJ_ARRAY', 'COLUMNS',
  76. 'CONTENT', 'CTABLE', 'EDITPANEL', 'FILE', 'FORM',
  77. 'HMENU', 'HRULER', 'HTML', 'IMAGE', 'IMGTEXT',
  78. 'IMG_RESOURCE', 'LOAD_REGISTER', 'MULTIMEDIA',
  79. 'OTABLE', 'PHP_SCRIPT', 'PHP_SCRIPT_EXT',
  80. 'PHP_SCRIPT_INT', 'RECORDS', 'RESTORE_REGISTER',
  81. 'SEARCHRESULT', 'TEMPLATE', 'TEXT', 'USER',
  82. 'USER_INT'
  83. ),
  84. // GIFBUILDER toplevel link: http://documentation.typo3.org/documentation/tsref/gifbuilder/
  85. 5 => array(
  86. 'GIFBUILDER',
  87. ),
  88. // GIFBUILDER: http://documentation.typo3.org/documentation/tsref/gifbuilder/
  89. // skipped fields: IMAGE, TEXT
  90. // NOTE! the IMAGE and TEXT field already are linked in group 4, they
  91. // cannot be linked twice . . . . unfortunately
  92. 6 => array(
  93. 'ADJUST', 'BOX', 'CROP', 'EFFECT', 'EMBOSS',
  94. 'IMGMAP', 'OUTLINE', 'SCALE', 'SHADOW',
  95. 'WORKAREA'
  96. ),
  97. // MENU Objects: http://documentation.typo3.org/documentation/tsref/menu/
  98. 7 => array(
  99. 'GMENU', 'GMENU_FOLDOUT', 'GMENU_LAYERS', 'IMGMENU',
  100. 'IMGMENUITEM', 'JSMENU', 'JSMENUITEM', 'TMENU',
  101. 'TMENUITEM', 'TMENU_LAYERS'
  102. ),
  103. // MENU common properties: http://documentation.typo3.org/documentation/tsref/menu/common-properties/
  104. 8 => array(
  105. 'alternativeSortingField', 'begin', 'debugItemConf',
  106. 'imgNameNotRandom', 'imgNamePrefix',
  107. 'itemArrayProcFunc', 'JSWindow', 'maxItems',
  108. 'minItems', 'overrideId', 'sectionIndex',
  109. 'showAccessRestrictedPages', 'submenuObjSuffixes'
  110. ),
  111. // MENU item states: http://documentation.typo3.org/documentation/tsref/menu/item-states/
  112. 9 => array(
  113. 'ACT', 'ACTIFSUB', 'ACTIFSUBRO', 'ACTRO', 'CUR', 'CURIFSUB',
  114. 'CURIFSUBRO', 'CURRO', 'IFSUB', 'IFSUBRO', 'NO',
  115. 'SPC', 'USERDEF1', 'USERDEF1RO', 'USERDEF2',
  116. 'USERDEF2RO', 'USR', 'USRRO'
  117. ),
  118. ),
  119. // Does not include '-' because of stuff like htmlTag_langKey = en-GB and
  120. // lib.nav-sub
  121. 'SYMBOLS' => array(
  122. 0 => array(
  123. '|',
  124. '+', '*', '/', '%',
  125. '!', '&&', '^',
  126. '<', '>', '=',
  127. '?', ':',
  128. '.'
  129. ),
  130. 1 => array(
  131. '(', ')', '{', '}', '[', ']'
  132. )
  133. ),
  134. 'CASE_SENSITIVE' => array(
  135. GESHI_COMMENTS => false,
  136. 1 => true,
  137. 2 => true,
  138. 3 => true,
  139. 4 => true,
  140. 5 => true,
  141. 6 => true,
  142. 7 => true,
  143. 8 => true,
  144. 9 => true
  145. ),
  146. 'STYLES' => array(
  147. 'KEYWORDS' => array(
  148. 1 => 'color: #ed7d14;',
  149. 2 => 'font-weight: bold;',
  150. 3 => 'color: #990000; font-weight: bold;',
  151. 4 => 'color: #990000; font-weight: bold;',
  152. 5 => 'color: #990000; font-weight: bold;',
  153. 6 => 'color: #990000; font-weight: bold;',
  154. 7 => 'color: #990000; font-weight: bold;',
  155. 8 => 'font-weight: bold;',
  156. 9 => 'color: #990000; font-weight: bold;',
  157. ),
  158. 'COMMENTS' => array(
  159. 1 => 'color: #aaa; font-style: italic;',
  160. 2 => 'color: #aaa; font-style: italic;',
  161. 'MULTI' => 'color: #aaa; font-style: italic;'
  162. ),
  163. 'STRINGS' => array(
  164. 0 => 'color: #ac14aa;'
  165. ),
  166. 'NUMBERS' => array(
  167. 0 => 'color: #cc0000;'
  168. ),
  169. 'METHODS' => array(
  170. 1 => 'color: #0000e0; font-weight: bold;',
  171. 2 => 'color: #0000e0; font-weight: bold;'
  172. ),
  173. 'BRACKETS' => array(
  174. 0 => 'color: #009900;'
  175. ),
  176. 'SYMBOLS' => array(
  177. 0 => 'color: #339933; font-weight: bold;',
  178. // Set this to the same value as brackets above
  179. 1 => 'color: #009900; font-weight: bold;'
  180. ),
  181. 'REGEXPS' => array(
  182. 0 => 'color: #009900;',
  183. 1 => 'color: #009900; font-weight: bold;',
  184. 2 => 'color: #3366CC;',
  185. 3 => 'color: #000066; font-weight: bold;',
  186. 4 => 'color: #ed7d14;',
  187. 5 => 'color: #000066; font-weight: bold;',
  188. 6 => 'color: #009900;',
  189. 7 => 'color: #3366CC;'
  190. ),
  191. 'ESCAPE_CHAR' => array(
  192. ),
  193. 'SCRIPT' => array(
  194. )
  195. ),
  196. 'URLS' => array(
  197. 1 => 'http://documentation.typo3.org/documentation/tsref/conditions/{FNAME}/',
  198. 2 => 'http://documentation.typo3.org/documentation/tsref/functions/{FNAME}/',
  199. 3 => 'http://documentation.typo3.org/documentation/tsref/tlo-objects/{FNAME}/',
  200. 4 => 'http://documentation.typo3.org/documentation/tsref/cobjects/{FNAME}/',
  201. 5 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/',
  202. 6 => 'http://documentation.typo3.org/documentation/tsref/gifbuilder/{FNAME}/',
  203. 7 => 'http://documentation.typo3.org/documentation/tsref/menu/{FNAME}/',
  204. 8 => 'http://documentation.typo3.org/documentation/tsref/menu/common-properties/',
  205. 9 => 'http://documentation.typo3.org/documentation/tsref/menu/item-states/'
  206. ),
  207. 'OOLANG' => false,
  208. 'OBJECT_SPLITTERS' => array(
  209. ),
  210. 'REGEXPS' => array(
  211. // xhtml tag
  212. 2 => array(
  213. GESHI_SEARCH => '(&lt;)([a-zA-Z\\/][^\\/\\|]*?)(&gt;)',
  214. GESHI_REPLACE => '\\2',
  215. GESHI_MODIFIERS => 's',
  216. GESHI_BEFORE => '\\1',
  217. GESHI_AFTER => '\\3'
  218. ),
  219. // Constant
  220. 0 => array(
  221. GESHI_SEARCH => '(\{)(\$[a-zA-Z_\.]+[a-zA-Z0-9_\.]*)(\})',
  222. GESHI_REPLACE => '\\2',
  223. GESHI_MODIFIERS => '',
  224. GESHI_BEFORE => '\\1',
  225. GESHI_AFTER => '\\3'
  226. ),
  227. // Constant dollar sign
  228. 1 => array(
  229. GESHI_SEARCH => '(\$)([a-zA-Z_\.]+[a-zA-Z0-9_\.]*)',
  230. GESHI_REPLACE => '\\1',
  231. GESHI_MODIFIERS => '',
  232. GESHI_BEFORE => '',
  233. GESHI_AFTER => '\\2'
  234. ),
  235. // extension keys / tables: (static|user|ttx|tx|tt|fe)_something[_something]
  236. 3 => array(
  237. GESHI_SEARCH => '(plugin\.|[^\.]\b)((?:static|user|ttx|tx|tt|fe)(?:_[0-9A-Za-z_]+?)\b)',
  238. GESHI_REPLACE => '\\2',
  239. GESHI_MODIFIERS => '',
  240. GESHI_BEFORE => '\\1',
  241. GESHI_AFTER => ''
  242. ),
  243. // conditions and controls
  244. 4 => array(
  245. GESHI_SEARCH => '(\[)(globalVar|global|end)\b',
  246. GESHI_REPLACE => '\\2',
  247. GESHI_MODIFIERS => 'i',
  248. GESHI_BEFORE => '\\1',
  249. GESHI_AFTER => ''
  250. ),
  251. // lowlevel setup and constant objects
  252. 5 => array(
  253. 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',
  254. GESHI_REPLACE => '\\2',
  255. GESHI_MODIFIERS => '',
  256. GESHI_BEFORE => '\\1',
  257. GESHI_AFTER => ''
  258. ),
  259. // markers
  260. 6 => array(
  261. GESHI_SEARCH => '(###[^#]+###)',
  262. GESHI_REPLACE => '\\1',
  263. GESHI_MODIFIERS => '',
  264. GESHI_BEFORE => '',
  265. GESHI_AFTER => ''
  266. ),
  267. // hex color codes
  268. 7 => array(
  269. GESHI_SEARCH => '(#[a-fA-F0-9]{6}\b|#[a-fA-F0-9]{3}\b)',
  270. GESHI_REPLACE => '\\1',
  271. GESHI_MODIFIERS => '',
  272. GESHI_BEFORE => '',
  273. GESHI_AFTER => ''
  274. )
  275. ),
  276. 'STRICT_MODE_APPLIES' => GESHI_NEVER,
  277. 'SCRIPT_DELIMITERS' => array(
  278. ),
  279. 'HIGHLIGHT_STRICT_BLOCK' => array(
  280. ),
  281. );
  282. ?>