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.

210 lines
8.6KB

  1. <?php
  2. /*************************************************************************************
  3. * unicon.php
  4. * --------
  5. * Author: Matt Oates (mattoates@gmail.com)
  6. * Copyright: (c) 2010 Matt Oates (http://mattoates.co.uk)
  7. * Release Version: 1.0.8.11
  8. * Date Started: 2010/04/20
  9. *
  10. * Unicon the Unified Extended Dialect of Icon language file for GeSHi.
  11. *
  12. * CHANGES
  13. * -------
  14. * 2010/04/24 (0.0.0.2)
  15. * - Validated with Geshi langcheck.php FAILED due to preprocessor keywords looking like symbols
  16. * - Hard wrapped to improve readability
  17. * 2010/04/20 (0.0.0.1)
  18. * - First Release
  19. *
  20. * TODO (updated 2010/04/20)
  21. * -------------------------
  22. * - Do the &amp; need replacing with &?
  23. *
  24. *************************************************************************************
  25. *
  26. * This file is part of GeSHi.
  27. *
  28. * GeSHi is free software; you can redistribute it and/or modify
  29. * it under the terms of the GNU General Public License as published by
  30. * the Free Software Foundation; either version 2 of the License, or
  31. * (at your option) any later version.
  32. *
  33. * GeSHi is distributed in the hope that it will be useful,
  34. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  35. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  36. * GNU General Public License for more details.
  37. *
  38. * You should have received a copy of the GNU General Public License
  39. * along with GeSHi; if not, write to the Free Software
  40. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  41. *
  42. ************************************************************************************/
  43. $language_data = array(
  44. 'LANG_NAME' => 'Unicon (Unified Extended Dialect of Icon)',
  45. 'COMMENT_SINGLE' => array(1 => '#'),
  46. 'COMMENT_MULTI' => array(),
  47. 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  48. 'QUOTEMARKS' => array('"', '\''),
  49. 'ESCAPE_CHAR' => '\\',
  50. 'KEYWORDS' => array(
  51. 1 => array(
  52. 'break', 'case', 'class', 'continue', 'create', 'default', 'do',
  53. 'else', 'end', 'every', 'fail', 'for', 'if', 'import', 'initial', 'initially',
  54. 'invocable', 'link', 'method', 'next', 'not', 'of', 'package', 'procedure', 'record',
  55. 'repeat', 'return', 'switch', 'suspend', 'then', 'to', 'until', 'while'
  56. ),
  57. 2 => array(
  58. 'global', 'local', 'static'
  59. ),
  60. 3 => array(
  61. 'allocated', 'ascii', 'clock', 'collections',
  62. 'column', 'cset', 'current', 'date', 'dateline', 'digits',
  63. 'dump', 'e', 'error', 'errornumber', 'errortext',
  64. 'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue',
  65. 'fail', 'features', 'file', 'host', 'input', 'lcase',
  66. 'letters', 'level', 'line', 'main', 'now', 'null',
  67. 'output', 'phi', 'pi', 'pos', 'progname', 'random',
  68. 'regions', 'source', 'storage', 'subject', 'syserr', 'time',
  69. 'trace', 'ucase', 'version', 'col', 'control', 'interval',
  70. 'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress',
  71. 'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease',
  72. 'shift', 'window', 'x', 'y'
  73. ),
  74. 4 => array(
  75. 'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char',
  76. 'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'dbcolumns',
  77. 'dbdriver', 'dbkeys', 'dblimits', 'dbproduction', 'dbtables', 'delay', 'delete', 'detab',
  78. 'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit', 'exp',
  79. 'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch', 'getche',
  80. 'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image', 'insert',
  81. 'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc',
  82. 'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric',
  83. 'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull',
  84. 'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse',
  85. 'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set',
  86. 'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'staticnames', 'stop', 'string', 'system', 'tab',
  87. 'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where',
  88. 'write', 'writes'
  89. ),
  90. 5 => array(
  91. 'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue',
  92. 'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk',
  93. 'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment',
  94. 'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc',
  95. 'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY',
  96. 'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor',
  97. 'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate',
  98. 'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate',
  99. 'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib',
  100. 'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync'
  101. ),
  102. 6 => array(
  103. 'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error',
  104. 'line', 'undef'
  105. ),
  106. 7 => array(
  107. '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386',
  108. '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM',
  109. '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING',
  110. '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS',
  111. '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS',
  112. '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS',
  113. '_DOS_FUNCTIONS'
  114. ),
  115. 8 => array(
  116. 'line')
  117. ),
  118. 'SYMBOLS' => array(
  119. 1 => array(
  120. '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^',
  121. '&', '|', '?', ':', ';', ',', '.', '~', '@'
  122. ),
  123. 2 => array(
  124. '$(', '$)', '$<', '$>'
  125. )
  126. ),
  127. 'CASE_SENSITIVE' => array(
  128. GESHI_COMMENTS => false,
  129. 1 => true,
  130. 2 => true,
  131. 3 => true,
  132. 4 => true,
  133. 5 => true,
  134. 6 => true,
  135. 7 => true,
  136. 8 => true
  137. ),
  138. 'STYLES' => array(
  139. 'KEYWORDS' => array(
  140. 1 => 'color: #b1b100;',
  141. 2 => 'color: #b1b100;',
  142. 3 => 'color: #b1b100;',
  143. 4 => 'color: #b1b100;',
  144. 5 => 'color: #b1b100;',
  145. 6 => 'color: #b1b100;',
  146. 7 => 'color: #b1b100;',
  147. 8 => 'color: #b1b100;'
  148. ),
  149. 'COMMENTS' => array(
  150. 1 => 'color: #666666; font-style: italic;',
  151. 'MULTI' => 'color: #666666; font-style: italic;'
  152. ),
  153. 'ESCAPE_CHAR' => array(
  154. 0 => 'color: #000099; font-weight: bold;'
  155. ),
  156. 'BRACKETS' => array(
  157. 0 => 'color: #009900;'
  158. ),
  159. 'STRINGS' => array(
  160. 0 => 'color: #0000ff;'
  161. ),
  162. 'NUMBERS' => array(
  163. 0 => 'color: #cc66cc;',
  164. ),
  165. 'METHODS' => array(
  166. 0 => 'color: #004000;'
  167. ),
  168. 'SYMBOLS' => array(
  169. 1 => 'color: #339933;'
  170. ),
  171. 'REGEXPS' => array(),
  172. 'SCRIPT' => array()
  173. ),
  174. 'URLS' => array(
  175. 1 => '',
  176. 2 => '',
  177. 3 => '',
  178. 4 => '',
  179. 5 => '',
  180. 6 => '',
  181. 7 => '',
  182. 8 => ''
  183. ),
  184. 'OOLANG' => true,
  185. 'OBJECT_SPLITTERS' => array(1 => '.'),
  186. 'REGEXPS' => array(),
  187. 'STRICT_MODE_APPLIES' => GESHI_NEVER,
  188. 'SCRIPT_DELIMITERS' => array(),
  189. 'HIGHLIGHT_STRICT_BLOCK' => array(),
  190. 'PARSER_CONTROL' => array(
  191. 'KEYWORDS' => array(
  192. 3 => array(
  193. 'DISALLOWED_BEFORE' => '(?<=&amp;)'
  194. ),
  195. 4 => array(
  196. 'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9_\"\'])",
  197. 'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\"\'])"
  198. ),
  199. 6 => array(
  200. 'DISALLOWED_BEFORE' => '(?<=\$)'
  201. ),
  202. 8 => array(
  203. 'DISALLOWED_BEFORE' => '(?<=#)'
  204. )
  205. )
  206. )
  207. );
  208. ?>