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.

193 lines
6.2KB

  1. <?php
  2. /*************************************************************************************
  3. * magiksf.php
  4. * --------
  5. * Author: Sjoerd van Leent (svanleent@gmail.com)
  6. * Copyright: (c) 2010 Sjoerd van Leent
  7. * Release Version: 1.0.8.11
  8. * Date Started: 2010/02/15
  9. *
  10. * MagikSF language file for GeSHi.
  11. *
  12. * CHANGES
  13. * -------
  14. * 2010/02/22 (1.0.0.2)
  15. * - Symbols also accept the ! and ? characters properly
  16. * - Labels (identifiers starting with !) are also coloured
  17. * 2010/02/17 (1.0.0.1)
  18. * - Parsing out symbols better
  19. * - Add package identifiers
  20. * 2010/02/15 (1.0.0)
  21. * - First Release
  22. *
  23. * TODO
  24. * ----
  25. *
  26. *************************************************************************************
  27. *
  28. * This file is part of GeSHi.
  29. *
  30. * GeSHi is free software; you can redistribute it and/or modify
  31. * it under the terms of the GNU General Public License as published by
  32. * the Free Software Foundation; either version 2 of the License, or
  33. * (at your option) any later version.
  34. *
  35. * GeSHi is distributed in the hope that it will be useful,
  36. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  37. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  38. * GNU General Public License for more details.
  39. *
  40. * You should have received a copy of the GNU General Public License
  41. * along with GeSHi; if not, write to the Free Software
  42. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  43. *
  44. ************************************************************************************/
  45. $language_data = array (
  46. 'ESCAPE_CHAR' => null,
  47. 'LANG_NAME' => 'MagikSF',
  48. 'COMMENT_SINGLE' => array(1 => '##', 2 => '#%', 3 => '#'),
  49. 'COMMENT_MULTI' => array("_pragma(" => ")"),
  50. //Multiline-continued single-line comments
  51. 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  52. 'QUOTEMARKS' => array("'", '"'),
  53. 'ESCAPE_CHAR' => '',
  54. 'KEYWORDS' => array(
  55. 1 => array(
  56. '_block', '_endblock', '_proc', '_endproc', '_loop', '_endloop',
  57. '_method', '_endmethod',
  58. '_protect', '_endprotect', '_protection', '_locking',
  59. '_continue',
  60. ),
  61. 2 => array(
  62. '_self', '_thisthread', '_pragma', '_private', '_abstract',
  63. '_local', '_global', '_dynamic', '_package', '_constant',
  64. '_import', '_iter', '_lock', '_optional', '_recursive', '_super'
  65. ),
  66. 3 => array(
  67. '_if', '_endif', '_then', '_else', '_elif', '_orif', '_andif', '_for', '_over',
  68. '_try', '_endtry', '_when', '_throw', '_catch', '_endcatch', '_handling',
  69. '_finally', '_loopbody', '_return', '_leave', '_with'
  70. ),
  71. 4 => array(
  72. '_false', '_true', '_maybe', '_unset', '_no_way'
  73. ),
  74. 5 => array(
  75. '_mod', '_div', '_or', '_and', '_cf', '_is', '_isnt', '_not', '_gather', '_scatter',
  76. '_allresults', '_clone', '_xor'
  77. ),
  78. 6 => array(
  79. 'def_slotted_exemplar', 'write_string', 'write', 'condition',
  80. 'record_transaction', 'gis_program_manager', 'perform', 'define_shared_constant',
  81. 'property_list', 'rope', 'def_property', 'def_mixin'
  82. ),
  83. ),
  84. 'SYMBOLS' => array(
  85. '(', ')', '{', '}', '[', ']',
  86. '+', '-', '*', '/', '**',
  87. '=', '<', '>', '<<', '>>',
  88. ',', '$',
  89. ),
  90. 'CASE_SENSITIVE' => array(
  91. GESHI_COMMENTS => false,
  92. 1 => false,
  93. 2 => false,
  94. 3 => false,
  95. 4 => false,
  96. 5 => false,
  97. 6 => false
  98. ),
  99. 'STYLES' => array(
  100. 'KEYWORDS' => array(
  101. 1 => 'color: #000000; font-weight: bold;',
  102. 2 => 'color: #ff3f3f;',
  103. 3 => 'color: #3f7f3f; font-weight: bold;',
  104. 4 => 'color: #cc66cc;',
  105. 5 => 'color: #ff3fff; font-weight: bold;',
  106. 6 => 'font-weight: bold;',
  107. ),
  108. 'COMMENTS' => array(
  109. 1 => 'color: #339933; font-weight: bold;',
  110. 2 => 'color: #993333;',
  111. 3 => 'color: #339933;',
  112. 'MULTI' => 'color: #7f7f7f; font-style: italic',
  113. ),
  114. 'ESCAPE_CHAR' => array(
  115. 0 => 'color: #000099; font-weight: bold;'
  116. ),
  117. 'BRACKETS' => array(
  118. 0 => 'color: #ff3f3f;'
  119. ),
  120. 'STRINGS' => array(
  121. 0 => 'color: #ff0000;'
  122. ),
  123. 'NUMBERS' => array(
  124. 0 => 'color: #cc66cc;'
  125. ),
  126. 'METHODS' => array(
  127. 1 => 'color: #202020;',
  128. 2 => 'color: #202020;'
  129. ),
  130. 'SYMBOLS' => array(
  131. 0 => 'color: #ff3f3f;'
  132. ),
  133. 'REGEXPS' => array(
  134. 1 => 'color: #3f3fff;',
  135. 2 => 'color: #3f3fff;',
  136. 3 => 'color: #cc66cc;',
  137. 4 => 'color: #7f3f7f; font-style: italic;',
  138. ),
  139. 'SCRIPT' => array(
  140. )
  141. ),
  142. 'URLS' => array(
  143. 1 => '',
  144. 2 => '',
  145. 3 => '',
  146. 4 => '',
  147. 5 => '',
  148. 6 => ''
  149. ),
  150. 'OOLANG' => true,
  151. 'OBJECT_SPLITTERS' => array(
  152. 1 => '.'
  153. ),
  154. 'REGEXPS' => array(
  155. 1 => array(
  156. GESHI_SEARCH => '\b[a-zA-Z0-9_]+:', // package identifiers
  157. GESHI_REPLACE => '\\0',
  158. GESHI_MODIFIERS => '',
  159. GESHI_BEFORE => '',
  160. GESHI_AFTER => ''
  161. ),
  162. 2 => array(
  163. GESHI_SEARCH => ':(?:[a-zA-Z0-9!?_]+|(?:[<pipe>].*?[<pipe>]))*', //symbols
  164. GESHI_REPLACE => '\\0',
  165. GESHI_MODIFIERS => '',
  166. GESHI_BEFORE => '',
  167. GESHI_AFTER => ''
  168. ),
  169. 3 => array(
  170. GESHI_SEARCH => '%space|%tab|%newline|%.', //characters
  171. GESHI_REPLACE => '\\0',
  172. GESHI_MODIFIERS => '',
  173. GESHI_BEFORE => '',
  174. GESHI_AFTER => ''
  175. ),
  176. 4 => array(
  177. GESHI_SEARCH => '@(?:[a-zA-Z0-9!?_]+|(?:[<pipe>].*?[<pipe>]))*', //symbols
  178. GESHI_REPLACE => '\\0',
  179. GESHI_MODIFIERS => '',
  180. GESHI_BEFORE => '',
  181. GESHI_AFTER => ''
  182. ),
  183. ),
  184. 'STRICT_MODE_APPLIES' => GESHI_NEVER,
  185. 'SCRIPT_DELIMITERS' => array(
  186. ),
  187. 'HIGHLIGHT_STRICT_BLOCK' => array(
  188. ),
  189. 'TAB_WIDTH' => 4
  190. );
  191. ?>