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.

218 lines
6.8KB

  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.11
  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. $language_data = array (
  41. 'LANG_NAME' => 'Boo',
  42. 'COMMENT_SINGLE' => array(1 => '//', 2 => '#'),
  43. 'COMMENT_MULTI' => array('/*' => '*/'),
  44. 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  45. 'QUOTEMARKS' => array("'''", "'", '"""', '"'),
  46. 'HARDQUOTE' => array('"""', '"""'),
  47. 'HARDESCAPE' => array('\"""'),
  48. 'ESCAPE_CHAR' => '\\',
  49. 'KEYWORDS' => array(
  50. 1 => array(//Namespace
  51. 'namespace', 'import', 'from'
  52. ),
  53. 2 => array(//Jump
  54. 'yield', 'return', 'goto', 'continue', 'break'
  55. ),
  56. 3 => array(//Conditional
  57. 'while', 'unless', 'then', 'in', 'if', 'for', 'else', 'elif'
  58. ),
  59. 4 => array(//Property
  60. 'set', 'get'
  61. ),
  62. 5 => array(//Exception
  63. 'try', 'raise', 'failure', 'except', 'ensure'
  64. ),
  65. 6 => array(//Visibility
  66. 'public', 'private', 'protected', 'internal'
  67. ),
  68. 7 => array(//Define
  69. 'struct', 'ref', 'of', 'interface', 'event', 'enum', 'do', 'destructor', 'def', 'constructor', 'class'
  70. ),
  71. 8 => array(//Cast
  72. 'typeof', 'cast', 'as'
  73. ),
  74. 9 => array(//BiMacro
  75. 'yieldAll', 'using', 'unchecked', 'rawArayIndexing', 'print', 'normalArrayIndexing', 'lock',
  76. 'debug', 'checked', 'assert'
  77. ),
  78. 10 => array(//BiAttr
  79. 'required', 'property', 'meta', 'getter', 'default'
  80. ),
  81. 11 => array(//BiFunc
  82. 'zip', 'shellp', 'shellm', 'shell', 'reversed', 'range', 'prompt',
  83. 'matrix', 'map', 'len', 'join', 'iterator', 'gets', 'enumerate', 'cat', 'array'
  84. ),
  85. 12 => array(//HiFunc
  86. '__switch__', '__initobj__', '__eval__', '__addressof__', 'quack'
  87. ),
  88. 13 => array(//Primitive
  89. 'void', 'ushort', 'ulong', 'uint', 'true', 'timespan', 'string', 'single',
  90. 'short', 'sbyte', 'regex', 'object', 'null', 'long', 'int', 'false', 'duck',
  91. 'double', 'decimal', 'date', 'char', 'callable', 'byte', 'bool'
  92. ),
  93. 14 => array(//Operator
  94. 'not', 'or', 'and', 'is', 'isa',
  95. ),
  96. 15 => array(//Modifier
  97. 'virtual', 'transient', 'static', 'partial', 'override', 'final', 'abstract'
  98. ),
  99. 16 => array(//Access
  100. 'super', 'self'
  101. ),
  102. 17 => array(//Pass
  103. 'pass'
  104. )
  105. ),
  106. 'SYMBOLS' => array(
  107. '[|', '|]', '${', '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>', '+', '-', ';'
  108. ),
  109. 'CASE_SENSITIVE' => array(
  110. GESHI_COMMENTS => false,
  111. 1 => true,
  112. 2 => true,
  113. 3 => true,
  114. 4 => true,
  115. 5 => true,
  116. 6 => true,
  117. 7 => true,
  118. 8 => true,
  119. 9 => true,
  120. 10 => true,
  121. 11 => true,
  122. 12 => true,
  123. 13 => true,
  124. 14 => true,
  125. 15 => true,
  126. 16 => true,
  127. 17 => true
  128. ),
  129. 'STYLES' => array(
  130. 'KEYWORDS' => array(
  131. 1 => 'color:green;font-weight:bold;',
  132. 2 => 'color:navy;',
  133. 3 => 'color:blue;font-weight:bold;',
  134. 4 => 'color:#8B4513;',
  135. 5 => 'color:teal;font-weight:bold;',
  136. 6 => 'color:blue;font-weight:bold;',
  137. 7 => 'color:blue;font-weight:bold;',
  138. 8 => 'color:blue;font-weight:bold;',
  139. 9 => 'color:maroon;',
  140. 10 => 'color:maroon;',
  141. 11 => 'color:purple;',
  142. 12 => 'color:#4B0082;',
  143. 13 => 'color:purple;font-weight:bold;',
  144. 14 => 'color:#008B8B;font-weight:bold;',
  145. 15 => 'color:brown;',
  146. 16 => 'color:black;font-weight:bold;',
  147. 17 => 'color:gray;'
  148. ),
  149. 'COMMENTS' => array(
  150. 1 => 'color: #999999; font-style: italic;',
  151. 2 => 'color: #999999; font-style: italic;',
  152. 'MULTI' => 'color: #008000; font-style: italic;'
  153. ),
  154. 'ESCAPE_CHAR' => array(
  155. 0 => 'color: #0000FF; font-weight: bold;',
  156. 'HARD' => 'color: #0000FF; font-weight: bold;',
  157. ),
  158. 'BRACKETS' => array(
  159. 0 => 'color: #006400;'
  160. ),
  161. 'STRINGS' => array(
  162. 0 => 'color: #008000;',
  163. 'HARD' => 'color: #008000;'
  164. ),
  165. 'NUMBERS' => array(
  166. 0 => 'color: #00008B;'
  167. ),
  168. 'METHODS' => array(
  169. 0 => 'color: 000000;',
  170. 1 => 'color: 000000;'
  171. ),
  172. 'SYMBOLS' => array(
  173. 0 => 'color: #006400;'
  174. ),
  175. 'REGEXPS' => array(
  176. #0 => 'color: #0066ff;'
  177. ),
  178. 'SCRIPT' => array(
  179. )
  180. ),
  181. 'URLS' => array(
  182. 1 => '',
  183. 2 => '',
  184. 3 => '',
  185. 4 => '',
  186. 5 => '',
  187. 6 => '',
  188. 7 => '',
  189. 8 => '',
  190. 9 => '',
  191. 10 => '',
  192. 11 => '',
  193. 12 => '',
  194. 13 => '',
  195. 14 => '',
  196. 15 => '',
  197. 16 => '',
  198. 17 => ''
  199. ),
  200. 'OOLANG' => true,
  201. 'OBJECT_SPLITTERS' => array(
  202. 0 => '.',
  203. 1 => '::'
  204. ),
  205. 'REGEXPS' => array(
  206. #0 => '%(@)?\/(?:(?(1)[^\/\\\\\r\n]+|[^\/\\\\\r\n \t]+)|\\\\[\/\\\\\w+()|.*?$^[\]{}\d])+\/%'
  207. ),
  208. 'STRICT_MODE_APPLIES' => GESHI_NEVER,
  209. 'SCRIPT_DELIMITERS' => array(
  210. ),
  211. 'HIGHLIGHT_STRICT_BLOCK' => array(
  212. ),
  213. 'TAB_WIDTH' => 4
  214. );
  215. ?>