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.

providex.php 14KB

11 years ago
11 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. <?php
  2. /******************************************************************************
  3. * providex.php
  4. * ----------
  5. * Author: Jeff Wilder (jeff@coastallogix.com)
  6. * Copyright: (c) 2008 Coastal Logix (http://www.coastallogix.com)
  7. * Release Version: 1.0.8.11
  8. * Date Started: 2008/10/18
  9. *
  10. * ProvideX language file for GeSHi.
  11. *
  12. * CHANGES
  13. * -------
  14. * 2008/10/21 (1.0.0)
  15. * - First Release
  16. *
  17. * TODO
  18. * -------------------------
  19. * 1. Create a regexp for numeric global variables (ex: %VarName = 3)
  20. * 2. Add standard object control properties
  21. *
  22. ******************************************************************************
  23. *
  24. * This file is part of GeSHi.
  25. *
  26. * GeSHi is free software; you can redistribute it and/or modify
  27. * it under the terms of the GNU General Public License as published by
  28. * the Free Software Foundation; either version 2 of the License, or
  29. * (at your option) any later version.
  30. *
  31. * GeSHi is distributed in the hope that it will be useful,
  32. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  33. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  34. * GNU General Public License for more details.
  35. *
  36. * You should have received a copy of the GNU General Public License
  37. * along with GeSHi; if not, write to the Free Software
  38. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  39. *
  40. *****************************************************************************/
  41. $language_data = array (
  42. 'LANG_NAME' => 'ProvideX',
  43. 'COMMENT_SINGLE' => array(1 => '!'),
  44. 'COMMENT_MULTI' => array('/*' => '*/'),
  45. 'COMMENT_REGEXP' => array(
  46. // Single-Line Comments using REM command
  47. 2 => "/\bREM\b.*?$/i"
  48. ),
  49. 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
  50. 'QUOTEMARKS' => array('"'),
  51. 'ESCAPE_CHAR' => '',
  52. 'KEYWORDS' => array(
  53. 1 => array(
  54. // Directives
  55. '*break', '*continue', '*end', '*escape', '*next', '*proceed',
  56. '*retry', '*return', '*same', 'accept', 'add index', 'addr',
  57. 'auto', 'begin', 'break', 'button', 'bye', 'call', 'case',
  58. 'chart', 'check_box', 'class', 'clear', 'clip_board', 'close',
  59. 'continue', 'control', 'create required', 'create table',
  60. 'cwdir', 'data', 'day_format', 'def', 'default', 'defctl',
  61. 'defprt', 'deftty', 'delete required', 'dictionary', 'dim', 'direct',
  62. 'directory', 'disable', 'drop', 'drop_box', 'dump', 'edit',
  63. 'else', 'enable', 'end switch', 'end', 'end_if', 'endtrace',
  64. 'enter', 'erase', 'error_handler', 'escape', 'event', 'execute',
  65. 'exit', 'exitto', 'extract', 'file', 'find', 'floating point',
  66. 'for', 'function', 'get_file_box', 'gosub', 'goto', 'grid',
  67. 'h_scrollbar', 'hide', 'if', 'index', 'indexed', 'input',
  68. 'insert', 'invoke', 'iolist', 'keyed', 'let', 'like',
  69. 'line_switch', 'list', 'list_box', 'load', 'local', 'lock',
  70. 'long_form', 'menu_bar', 'merge', 'message_lib', 'mnemonic',
  71. 'msgbox', 'multi_line', 'multi_media', 'next', 'object', 'obtain',
  72. 'on', 'open', 'password', 'perform', 'pop', 'popup_menu',
  73. 'precision', 'prefix', 'preinput', 'print', 'process', 'program',
  74. 'property', 'purge', 'quit', 'radio_button', 'randomize',
  75. 'read', 'record', 'redim', 'refile', 'release', 'rem', 'remove',
  76. 'rename', 'renumber', 'repeat', 'reset', 'restore', 'retry',
  77. 'return', 'round', 'run', 'save', 'select', 'serial', 'server',
  78. 'set_focus', 'set_nbf', 'set_param', 'setctl', 'setday', 'setdev',
  79. 'setdrive', 'seterr', 'setesc', 'setfid', 'setmouse', 'settime',
  80. 'settrace', 'short_form', 'show', 'sort', 'start', 'static',
  81. 'step', 'stop', 'switch', 'system_help', 'system_jrnl', 'table',
  82. 'then', 'to', 'translate', 'tristate_box', 'unlock', 'until',
  83. 'update', 'user_lex', 'v_scrollbar', 'vardrop_box', 'varlist_box',
  84. 'via', 'video_palette', 'wait', 'wend', 'while', 'winprt_setup',
  85. 'with', 'write'
  86. ),
  87. 2 => array(
  88. // System Functions
  89. '@x', '@y', 'abs', 'acs', 'and', 'arg', 'asc', 'asn', 'ath',
  90. 'atn', 'bin', 'bsz', 'chg', 'chr', 'cmp', 'cos', 'cpl',
  91. 'crc', 'cse', 'ctl', 'cvs', 'dec', 'dir', 'dll', 'dsk',
  92. 'dte', 'env', 'ept', 'err', 'evn', 'evs', 'exp', 'ffn',
  93. 'fib', 'fid', 'fin', 'fpt', 'gap', 'gbl', 'gep', 'hsa',
  94. 'hsh', 'hta', 'hwn', 'i3e', 'ind', 'int', 'iol', 'ior',
  95. 'jul', 'jst', 'kec', 'kef', 'kel', 'ken', 'kep', 'key',
  96. 'kgn', 'lcs', 'len', 'lno', 'log', 'lrc', 'lst', 'max',
  97. 'mem', 'mid', 'min', 'mnm', 'mod', 'msg', 'msk', 'mxc',
  98. 'mxl', 'new', 'not', 'nul', 'num', 'obj', 'opt', 'pad',
  99. 'pck', 'pfx', 'pgm', 'pos', 'prc', 'prm', 'pth', 'pub',
  100. 'rcd', 'rdx', 'rec', 'ref', 'rnd', 'rno', 'sep', 'sgn',
  101. 'sin', 'sqr', 'srt', 'ssz', 'stk', 'stp', 'str', 'sub',
  102. 'swp', 'sys', 'tan', 'tbl', 'tcb', 'tmr', 'trx', 'tsk',
  103. 'txh', 'txw', 'ucp', 'ucs', 'upk', 'vin', 'vis', 'xeq',
  104. 'xfa', 'xor', '_obj'
  105. ),
  106. 3 => array(
  107. // System Variables
  108. // Vars that are duplicates of functions
  109. // 'ctl', 'err', 'pfx', 'prm', 'rnd', 'sep', 'sys',
  110. 'bkg', 'chn', 'day', 'dlm', 'dsz', 'eom', 'ers', 'esc',
  111. 'gfn', 'gid', 'hfn', 'hlp', 'hwd', 'lfa', 'lfo', 'lip',
  112. 'lpg', 'lwd', 'mse', 'msl', 'nar', 'nid', 'pgn', 'psz',
  113. 'quo', 'ret', 'sid', 'ssn', 'tim', 'tme', 'tms', 'tsm',
  114. 'uid', 'unt', 'who'
  115. ),
  116. 4 => array(
  117. // Nomads Variables
  118. '%Flmaint_Lib$', '%Flmaint_Msg$', '%Nomads_Activation_Ok',
  119. '%Nomads_Auto_Qry', '%Nomads_Disable_Debug',
  120. '%Nomads_Disable_Trace', '%Nomads_Fkey_Handler$',
  121. '%Nomads_Fkey_Tbl$', '%Nomads_Notest', '%Nomads_Onexit$',
  122. '%Nomads_Post_Display', '%Nomads_Pre_Display$',
  123. '%Nomads_Process$', '%Nomads_Trace_File$',
  124. '%Nomad_Actv_Folder_Colors$', '%Nomad_Automation_Enabled',
  125. '%Nomad_Auto_Close', '%Nomad_Center_Wdw', '%Nomad_Concurrent_Wdw',
  126. '%Nomad_Custom_Define', '%Nomad_Custom_Dir$',
  127. '%Nomad_Custom_Genmtc', '%Nomad_Custom_Skip_Definition',
  128. '%Nomad_Def_Sfx$', '%Nomad_Enter_Tab', '%Nomad_Esc_Sel',
  129. '%Nomad_Isjavx', '%Nomad_Iswindx', '%Nomad_Iswindx$',
  130. '%Nomad_Menu$', '%Nomad_Menu_Leftedge_Clr$',
  131. '%Nomad_Menu_Textbackground_Clr$', '%Nomad_Mln_Sep$',
  132. '%Nomad_Msgmnt$', '%Nomad_Noplusw', '%Nomad_No_Customize',
  133. '%Nomad_Object_Persistence', '%Nomad_Object_Resize',
  134. '%Nomad_Open_Load', '%Nomad_Override_Font$',
  135. '%Nomad_Palette_Loaded', '%Nomad_Panel_Info_Force',
  136. '%Nomad_Panel_Info_Prog$', '%Nomad_Pnl_Def_Colour$',
  137. '%Nomad_Pnl_Def_Font$', '%Nomad_Prg_Cache', '%Nomad_Qry_Attr$',
  138. '%Nomad_Qry_Btn$', '%Nomad_Qry_Clear_Start', '%Nomad_Qry_Tip$',
  139. '%Nomad_Qry_Wide', '%Nomad_Query_Clear_Status', '%Nomad_Query_Kno',
  140. '%Nomad_Query_No_Gray', '%Nomad_Query_Odb_Ignore',
  141. '%Nomad_Query_Retkno', '%Nomad_Query_Sbar_Max',
  142. '%Nomad_Relative_Wdw', '%Nomad_Save_Qry_Path', '%Nomad_Script_Fn',
  143. '%Nomad_Script_Log', '%Nomad_Script_Wdw',
  144. '%Nomad_Skip_Change_Logic', '%Nomad_Skip_Onselect_Logic',
  145. '%Nomad_Stk$', '%Nomad_Tab_Dir', '%Nomad_Timeout',
  146. '%Nomad_Turbo_Off', '%Nomad_Visual_Effect',
  147. '%Nomad_Visual_Override', '%Nomad_Win_Ver', '%Nomad_Xchar',
  148. '%Nomad_Xmax', '%Nomad_Ychar', '%Nomad_Ymax', '%Scr_Def_Attr$',
  149. '%Scr_Def_H_Fl$', '%Scr_Def_H_Id$', '%Scr_Lib', '%Scr_Lib$',
  150. '%Z__Usr_Sec$', 'Alternate_Panel$', 'Alternate_Panel_Type$',
  151. 'Arg_1$', 'Arg_10$', 'Arg_11$', 'Arg_12$', 'Arg_13$', 'Arg_14$',
  152. 'Arg_15$', 'Arg_16$', 'Arg_17$', 'Arg_18$', 'Arg_19$', 'Arg_2$',
  153. 'Arg_20$', 'Arg_3$', 'Arg_4$', 'Arg_5$', 'Arg_6$', 'Arg_7$',
  154. 'Arg_8$', 'Arg_9$', 'Change_Flg', 'Cmd_Str$', 'Default_Prog$',
  155. 'Disp_Cmd$', 'Entire_Record$', 'Exit_Cmd$', 'Fldr_Default_Prog$',
  156. 'Folder_Id$', 'Id', 'Id$', 'Ignore_Exit', 'Initialize_Flg',
  157. 'Init_Text$', 'Init_Val$', 'Main_Scrn_K$', 'Mnu_Ln$',
  158. 'Next_Folder', 'Next_Id', 'Next_Id$', 'No_Flush', 'Prime_Key$',
  159. 'Prior_Val', 'Prior_Val$', 'Qry_Val$', 'Refresh_Flg',
  160. 'Replacement_Folder$', 'Replacement_Lib$', 'Replacement_Scrn$',
  161. 'Scrn_Id$', 'Scrn_K$', 'Scrn_Lib$', 'Tab_Table$', '_Eom$'
  162. ),
  163. 5 => array(
  164. // Mnemonics
  165. "'!w'", "'*c'", "'*h'", "'*i'", "'*o'", "'*r'", "'*x'",
  166. "'+b'", "'+d'", "'+e'", "'+f'", "'+i'", "'+n'",
  167. "'+p'", "'+s'", "'+t'", "'+u'", "'+v'", "'+w'", "'+x'",
  168. "'+z'", "'-b'", "'-d'", "'-e'", "'-f'", "'-i'",
  169. "'-n'", "'-p'", "'-s'", "'-t'", "'-u'", "'-v'", "'-w'",
  170. "'-x'", "'-z'", "'2d'", "'3d'", "'4d'", "'@@'", "'ab'",
  171. "'arc'", "'at'", "'backgr'", "'bb'", "'be'", "'beep'",
  172. "'bg'", "'bi'", "'bj'", "'bk'", "'black'", "'blue'",
  173. "'bm'", "'bo'", "'box'", "'br'", "'bs'", "'bt'", "'bu'",
  174. "'bw'", "'bx'", "'caption'", "'ce'", "'cf'", "'ch'",
  175. "'ci'", "'circle'", "'cl'", "'colour'", "'cp'", "'cpi'",
  176. "'cr'", "'cs'", "'cursor'", "'cyan''_cyan'", "'dc'",
  177. "'default'", "'df'", "'dialogue'", "'dn'", "'do'",
  178. "'drop'", "'eb'", "'ee'", "'ef'", "'eg'", "'ei'", "'ej'",
  179. "'el'", "'em'", "'eo'", "'ep'", "'er'", "'es'", "'et'",
  180. "'eu'", "'ew'", "'ff'", "'fill'", "'fl'", "'font'",
  181. "'frame'", "'gd'", "'ge'", "'gf'", "'goto'", "'green'",
  182. "'gs'", "'hide'", "'ic'", "'image'", "'jc'",
  183. "'jd'", "'jl'", "'jn'", "'jr'", "'js'", "'l6'", "'l8'",
  184. "'lc'", "'ld'", "'lf'", "'li'", "'line'", "'lm'",
  185. "'lpi'", "'lt'", "'magenta'", "'maxsize'", "'me'",
  186. "'message'", "'minsize'", "'mn'", "'mode'",
  187. "'move'", "'mp'", "'ms'", "'ni'", "'offset'", "'option'",
  188. "'pe'", "'pen'", "'picture'", "'pie'", "'pm'", "'polygon'",
  189. "'pop'", "'ps'", "'push'", "'rb'", "'rc'", "'rectangle'",
  190. "'red'", "'rl'", "'rm'", "'rp'", "'rs'", "'rt'", "'sb'",
  191. "'scroll'", "'sd'", "'se'", "'sf'", "'show'", "'size'",
  192. "'sl'", "'sn'", "'sp'", "'sr'", "'swap'", "'sx'", "'text'",
  193. "'textwdw'", "'tr'", "'tw'", "'uc'", "'up'", "'vt'", "'wa'",
  194. "'wc'", "'wd'", "'wg'", "'white'", "'window'", "'wm'",
  195. "'wp'", "'wr'", "'wrap'", "'ws'", "'wx'", "'xp'", "'yellow'",
  196. "'zx'", "'_black'", "'_blue'", "'_colour'", "'_green'",
  197. "'_magenta'", "'_red'", "'_white'", "'_yellow'"
  198. ),
  199. ),
  200. 'SYMBOLS' => array(
  201. 0 => array('+', '-', '*', '/', '^', '|'),
  202. 1 => array('++', '--', '+=', '-=', '*=', '/=', '^=', '|='),
  203. 2 => array('&lt;', '&gt;', '='),
  204. 3 => array('(', ')', '[', ']', '{', '}'),
  205. 4 => array(',', '@', ';', '\\')
  206. ),
  207. 'CASE_SENSITIVE' => array(
  208. GESHI_COMMENTS => false,
  209. 1 => false,
  210. 2 => false,
  211. 3 => false,
  212. 4 => false,
  213. 5 => false,
  214. ),
  215. 'STYLES' => array(
  216. 'KEYWORDS' => array(
  217. 1 => 'color: navy;', // Directives
  218. 2 => 'color: blue;', // System Functions
  219. 3 => 'color: blue;', // System Variables
  220. 4 => 'color: #6A5ACD; font-style: italic;', // Nomads Global Variables
  221. 5 => 'color: #BDB76B;', // Mnemonics
  222. ),
  223. 'COMMENTS' => array(
  224. 1 => 'color: #008080; font-style: italic;',
  225. 2 => 'color: #008080;',
  226. 'MULTI' => 'color: #008080; font-style: italic;'
  227. ),
  228. 'BRACKETS' => array(
  229. 0 => 'color: #000066;'
  230. ),
  231. 'STRINGS' => array(
  232. 0 => 'color: green;'
  233. ),
  234. 'NUMBERS' => array(
  235. 0 => 'color: #00008B;'
  236. ),
  237. 'METHODS' => array(
  238. ),
  239. 'SYMBOLS' => array(
  240. 0 => 'color: #008000;',
  241. 1 => 'color: #000099;',
  242. 2 => 'color: #000099;',
  243. 3 => 'color: #0000C9;',
  244. 4 => 'color: #000099;'
  245. ),
  246. 'ESCAPE_CHAR' => array(
  247. 0 => 'color: #000099;'
  248. ),
  249. 'SCRIPT' => array(
  250. ),
  251. 'REGEXPS' => array(
  252. 1 => 'color: #006400; font-weight: bold',
  253. 2 => 'color: #6A5ACD;'
  254. )
  255. ),
  256. 'URLS' => array(
  257. 1 => 'http://www.allbasic.info./wiki/index.php/PX:Directive_{FNAME}',
  258. 2 => 'http://www.allbasic.info./wiki/index.php/PX:System_function_{FNAME}',
  259. 3 => 'http://www.allbasic.info./wiki/index.php/PX:System_variable_{FNAME}',
  260. 4 => 'http://www.allbasic.info./wiki/index.php/PX:Nomads_{FNAME}',
  261. 5 => 'http://www.allbasic.info./wiki/index.php/PX:Mnemonic_{FNAMEU}'
  262. ),
  263. 'OOLANG' => true,
  264. 'OBJECT_SPLITTERS' => array(
  265. 1 => "'"
  266. ),
  267. 'REGEXPS' => array(
  268. 1 => array(
  269. // Line Labels
  270. GESHI_SEARCH => '([[:space:]])([a-zA-Z_][a-zA-Z0-9_]+)(:)',
  271. GESHI_REPLACE => '\\2',
  272. GESHI_MODIFIERS => '',
  273. GESHI_BEFORE => '\\1',
  274. GESHI_AFTER => '\\3'
  275. ),
  276. 2 => array(
  277. // Global String Variables
  278. GESHI_SEARCH => '(\%)([a-zA-Z_][a-zA-Z0-9_]+)(\$)',
  279. GESHI_REPLACE => '\\1\\2\\3',
  280. GESHI_MODIFIERS => '',
  281. GESHI_BEFORE => '',
  282. GESHI_AFTER => ''
  283. )
  284. ),
  285. 'STRICT_MODE_APPLIES' => GESHI_NEVER,
  286. 'SCRIPT_DELIMITERS' => array(
  287. ),
  288. 'HIGHLIGHT_STRICT_BLOCK' => array(
  289. ),
  290. 'PARSER_CONTROL' => array(
  291. 'ENABLE_FLAGS' => array(
  292. 'NUMBERS' => GESHI_NEVER
  293. )
  294. ),
  295. 'TAB_WIDTH' => 4
  296. );
  297. ?>