2 /******************************************************************************
5 * Author: Jeff Wilder (jeff@coastallogix.com)
6 * Copyright: (c) 2008 Coastal Logix (http://www.coastallogix.com)
7 * Release Version: 1.0.8.3
8 * Date Started: 2008/10/18
10 * ProvideX language file for GeSHi.
18 * -------------------------
19 * 1. Create a regexp for numeric global variables (ex: %VarName = 3)
20 * 2. Add standard object control properties
22 ******************************************************************************
24 * This file is part of GeSHi.
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.
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.
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
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
49 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
50 'QUOTEMARKS' => array('"'),
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',
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',
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',
119 '%Flmaint_Lib$', '%Flmaint_Msg$', '%Nomads_Activation_Ok',
120 '%Nomads_Auto_Qry', '%Nomads_Disable_Debug',
121 '%Nomads_Disable_Trace', '%Nomads_Fkey_Handler$',
122 '%Nomads_Fkey_Tbl$', '%Nomads_Notest', '%Nomads_Onexit$',
123 '%Nomads_Post_Display', '%Nomads_Pre_Display$',
124 '%Nomads_Process$', '%Nomads_Trace_File$',
125 '%Nomad_Actv_Folder_Colors$', '%Nomad_Automation_Enabled',
126 '%Nomad_Auto_Close', '%Nomad_Center_Wdw', '%Nomad_Concurrent_Wdw',
127 '%Nomad_Custom_Define', '%Nomad_Custom_Dir$',
128 '%Nomad_Custom_Genmtc', '%Nomad_Custom_Skip_Definition',
129 '%Nomad_Def_Sfx$', '%Nomad_Enter_Tab', '%Nomad_Esc_Sel',
130 '%Nomad_Isjavx', '%Nomad_Iswindx', '%Nomad_Iswindx$',
131 '%Nomad_Menu$', '%Nomad_Menu_Leftedge_Clr$',
132 '%Nomad_Menu_Textbackground_Clr$', '%Nomad_Mln_Sep$',
133 '%Nomad_Msgmnt$', '%Nomad_Noplusw', '%Nomad_No_Customize',
134 '%Nomad_Object_Persistence', '%Nomad_Object_Resize',
135 '%Nomad_Open_Load', '%Nomad_Override_Font$',
136 '%Nomad_Palette_Loaded', '%Nomad_Panel_Info_Force',
137 '%Nomad_Panel_Info_Prog$', '%Nomad_Pnl_Def_Colour$',
138 '%Nomad_Pnl_Def_Font$', '%Nomad_Prg_Cache', '%Nomad_Qry_Attr$',
139 '%Nomad_Qry_Btn$', '%Nomad_Qry_Clear_Start', '%Nomad_Qry_Tip$',
140 '%Nomad_Qry_Wide', '%Nomad_Query_Clear_Status', '%Nomad_Query_Kno',
141 '%Nomad_Query_No_Gray', '%Nomad_Query_Odb_Ignore',
142 '%Nomad_Query_Retkno', '%Nomad_Query_Sbar_Max',
143 '%Nomad_Relative_Wdw', '%Nomad_Save_Qry_Path', '%Nomad_Script_Fn',
144 '%Nomad_Script_Log', '%Nomad_Script_Wdw',
145 '%Nomad_Skip_Change_Logic', '%Nomad_Skip_Onselect_Logic',
146 '%Nomad_Stk$', '%Nomad_Tab_Dir', '%Nomad_Timeout',
147 '%Nomad_Turbo_Off', '%Nomad_Visual_Effect',
148 '%Nomad_Visual_Override', '%Nomad_Win_Ver', '%Nomad_Xchar',
149 '%Nomad_Xmax', '%Nomad_Ychar', '%Nomad_Ymax', '%Scr_Def_Attr$',
150 '%Scr_Def_H_Fl$', '%Scr_Def_H_Id$', '%Scr_Lib', '%Scr_Lib$',
151 '%Z__Usr_Sec$', 'Alternate_Panel$', 'Alternate_Panel_Type$',
152 'Arg_1$', 'Arg_10$', 'Arg_11$', 'Arg_12$', 'Arg_13$', 'Arg_14$',
153 'Arg_15$', 'Arg_16$', 'Arg_17$', 'Arg_18$', 'Arg_19$', 'Arg_2$',
154 'Arg_20$', 'Arg_3$', 'Arg_4$', 'Arg_5$', 'Arg_6$', 'Arg_7$',
155 'Arg_8$', 'Arg_9$', 'Change_Flg', 'Cmd_Str$', 'Default_Prog$',
156 'Disp_Cmd$', 'Entire_Record$', 'Exit_Cmd$', 'Fldr_Default_Prog$',
157 'Folder_Id$', 'Id', 'Id$', 'Ignore_Exit', 'Initialize_Flg',
158 'Init_Text$', 'Init_Val$', 'Main_Scrn_K$', 'Mnu_Ln$',
159 'Next_Folder', 'Next_Id', 'Next_Id$', 'No_Flush', 'Prime_Key$',
160 'Prior_Val', 'Prior_Val$', 'Qry_Val$', 'Refresh_Flg',
161 'Replacement_Folder$', 'Replacement_Lib$', 'Replacement_Scrn$',
162 'Scrn_Id$', 'Scrn_K$', 'Scrn_Lib$', 'Tab_Table$', '_Eom$'
166 "'!w'", "'*c'", "'*h'", "'*i'", "'*o'", "'*r'", "'*x'",
167 "'+b'", "'+d'", "'+e'", "'+f'", "'+i'", "'+n'",
168 "'+p'", "'+s'", "'+t'", "'+u'", "'+v'", "'+w'", "'+x'",
169 "'+z'", "'-b'", "'-d'", "'-e'", "'-f'", "'-i'",
170 "'-n'", "'-p'", "'-s'", "'-t'", "'-u'", "'-v'", "'-w'",
171 "'-x'", "'-z'", "'2d'", "'3d'", "'4d'", "'@@'", "'ab'",
172 "'arc'", "'at'", "'backgr'", "'bb'", "'be'", "'beep'",
173 "'bg'", "'bi'", "'bj'", "'bk'", "'black'", "'blue'",
174 "'bm'", "'bo'", "'box'", "'br'", "'bs'", "'bt'", "'bu'",
175 "'bw'", "'bx'", "'caption'", "'ce'", "'cf'", "'ch'",
176 "'ci'", "'circle'", "'cl'", "'colour'", "'cp'", "'cpi'",
177 "'cr'", "'cs'", "'cursor'", "'cyan''_cyan'", "'dc'",
178 "'default'", "'df'", "'dialogue'", "'dn'", "'do'",
179 "'drop'", "'eb'", "'ee'", "'ef'", "'eg'", "'ei'", "'ej'",
180 "'el'", "'em'", "'eo'", "'ep'", "'er'", "'es'", "'et'",
181 "'eu'", "'ew'", "'ff'", "'fill'", "'fl'", "'font'",
182 "'frame'", "'gd'", "'ge'", "'gf'", "'goto'", "'green'",
183 "'gs'", "'hide'", "'ic'", "'image'", "'jc'",
184 "'jd'", "'jl'", "'jn'", "'jr'", "'js'", "'l6'", "'l8'",
185 "'lc'", "'ld'", "'lf'", "'li'", "'line'", "'lm'",
186 "'lpi'", "'lt'", "'magenta'", "'maxsize'", "'me'",
187 "'message'", "'minsize'", "'mn'", "'mode'",
188 "'move'", "'mp'", "'ms'", "'ni'", "'offset'", "'option'",
189 "'pe'", "'pen'", "'picture'", "'pie'", "'pm'", "'polygon'",
190 "'pop'", "'ps'", "'push'", "'rb'", "'rc'", "'rectangle'",
191 "'red'", "'rl'", "'rm'", "'rp'", "'rs'", "'rt'", "'sb'",
192 "'scroll'", "'sd'", "'se'", "'sf'", "'show'", "'size'",
193 "'sl'", "'sn'", "'sp'", "'sr'", "'swap'", "'sx'", "'text'",
194 "'textwdw'", "'tr'", "'tw'", "'uc'", "'up'", "'vt'", "'wa'",
195 "'wc'", "'wd'", "'wg'", "'white'", "'window'", "'wm'",
196 "'wp'", "'wr'", "'wrap'", "'ws'", "'wx'", "'xp'", "'yellow'",
197 "'zx'", "'_black'", "'_blue'", "'_colour'", "'_green'",
198 "'_magenta'", "'_red'", "'_white'", "'_yellow'"
202 0 => array('+', '-', '*', '/', '^', '|'),
203 1 => array('++', '--', '+=', '-=', '*=', '/=', '^=', '|='),
204 2 => array('<', '>', '='),
205 3 => array('(', ')', '[', ']', '{', '}'),
206 4 => array(',', '@', ';', '\\')
208 'CASE_SENSITIVE' => array(
209 GESHI_COMMENTS => false,
218 1 => 'color: navy;', // Directives
219 2 => 'color: blue;', // System Functions
220 3 => 'color: blue;', // System Variables
221 4 => 'color: #6A5ACD; font-style: italic;', // Nomads Global Variables
222 5 => 'color: #BDB76B;', // Mnemonics
225 1 => 'color: #008080; font-style: italic;',
226 2 => 'color: #008080;',
227 'MULTI' => 'color: #008080; font-style: italic;'
230 0 => 'color: #000066;'
236 0 => 'color: #00008B;'
241 0 => 'color: #008000;',
242 1 => 'color: #000099;',
243 2 => 'color: #000099;',
244 3 => 'color: #0000C9;',
245 4 => 'color: #000099;'
247 'ESCAPE_CHAR' => array(
248 0 => 'color: #000099;'
253 1 => 'color: #006400; font-weight: bold',
254 2 => 'color: #6A5ACD;'
258 1 => 'http://www.allbasic.info./wiki/index.php/PX:Directive_{FNAME}',
259 2 => 'http://www.allbasic.info./wiki/index.php/PX:System_function_{FNAME}',
260 3 => 'http://www.allbasic.info./wiki/index.php/PX:System_variable_{FNAME}',
261 4 => 'http://www.allbasic.info./wiki/index.php/PX:Nomads_{FNAME}',
262 5 => 'http://www.allbasic.info./wiki/index.php/PX:Mnemonic_{FNAMEU}'
265 'OBJECT_SPLITTERS' => array(
271 GESHI_SEARCH => '([[:space:]])([a-zA-Z_][a-zA-Z0-9_]+)(:)',
272 GESHI_REPLACE => '\\2',
273 GESHI_MODIFIERS => '',
274 GESHI_BEFORE => '\\1',
278 // Global String Variables
279 GESHI_SEARCH => '(\%)([a-zA-Z_][a-zA-Z0-9_]+)(\$)',
280 GESHI_REPLACE => '\\1\\2\\3',
281 GESHI_MODIFIERS => '',
286 'STRICT_MODE_APPLIES' => GESHI_NEVER,
287 'SCRIPT_DELIMITERS' => array(
289 'HIGHLIGHT_STRICT_BLOCK' => array(
291 'PARSER_CONTROL' => array(
292 'ENABLE_FLAGS' => array(
293 'NUMBERS' => GESHI_NEVER