2
|
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.2
|
|
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 |
),
|
|
117 |
4 => array(
|
|
118 |
// Nomads Variables
|
|
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$'
|
|
163 |
),
|
|
164 |
5 => array(
|
|
165 |
// Mnemonics
|
|
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'"
|
|
199 |
),
|
|
200 |
),
|
|
201 |
'SYMBOLS' => array(
|
|
202 |
0 => array('+', '-', '*', '/', '^', '|'),
|
|
203 |
1 => array('++', '--', '+=', '-=', '*=', '/=', '^=', '|='),
|
|
204 |
2 => array('<', '>', '='),
|
|
205 |
3 => array('(', ')', '[', ']', '{', '}'),
|
|
206 |
4 => array(',', '@', ';', '\\')
|
|
207 |
),
|
|
208 |
'CASE_SENSITIVE' => array(
|
|
209 |
GESHI_COMMENTS => false,
|
|
210 |
1 => false,
|
|
211 |
2 => false,
|
|
212 |
3 => false,
|
|
213 |
4 => false,
|
|
214 |
5 => false,
|
|
215 |
),
|
|
216 |
'STYLES' => array(
|
|
217 |
'KEYWORDS' => array(
|
|
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
|
|
223 |
),
|
|
224 |
'COMMENTS' => array(
|
|
225 |
1 => 'color: #008080; font-style: italic;',
|
|
226 |
2 => 'color: #008080;',
|
|
227 |
'MULTI' => 'color: #008080; font-style: italic;'
|
|
228 |
),
|
|
229 |
'BRACKETS' => array(
|
|
230 |
0 => 'color: #000066;'
|
|
231 |
),
|
|
232 |
'STRINGS' => array(
|
|
233 |
0 => 'color: green;'
|
|
234 |
),
|
|
235 |
'NUMBERS' => array(
|
|
236 |
0 => 'color: #00008B;'
|
|
237 |
),
|
|
238 |
'METHODS' => array(
|
|
239 |
),
|
|
240 |
'SYMBOLS' => array(
|
|
241 |
0 => 'color: #008000;',
|
|
242 |
1 => 'color: #000099;',
|
|
243 |
2 => 'color: #000099;',
|
|
244 |
3 => 'color: #0000C9;',
|
|
245 |
4 => 'color: #000099;'
|
|
246 |
),
|
|
247 |
'ESCAPE_CHAR' => array(
|
|
248 |
0 => 'color: #000099;'
|
|
249 |
),
|
|
250 |
'SCRIPT' => array(
|
|
251 |
),
|
|
252 |
'REGEXPS' => array(
|
|
253 |
1 => 'color: #006400; font-weight: bold',
|
|
254 |
2 => 'color: #6A5ACD;'
|
|
255 |
)
|
|
256 |
),
|
|
257 |
'URLS' => array(
|
|
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}'
|
|
263 |
),
|
|
264 |
'OOLANG' => true,
|
|
265 |
'OBJECT_SPLITTERS' => array(
|
|
266 |
1 => "'"
|
|
267 |
),
|
|
268 |
'REGEXPS' => array(
|
|
269 |
1 => array(
|
|
270 |
// Line Labels
|
|
271 |
GESHI_SEARCH => '([[:space:]])([a-zA-Z_][a-zA-Z0-9_]+)(:)',
|
|
272 |
GESHI_REPLACE => '\\2',
|
|
273 |
GESHI_MODIFIERS => '',
|
|
274 |
GESHI_BEFORE => '\\1',
|
|
275 |
GESHI_AFTER => '\\3'
|
|
276 |
),
|
|
277 |
2 => array(
|
|
278 |
// Global String Variables
|
|
279 |
GESHI_SEARCH => '(\%)([a-zA-Z_][a-zA-Z0-9_]+)(\$)',
|
|
280 |
GESHI_REPLACE => '\\1\\2\\3',
|
|
281 |
GESHI_MODIFIERS => '',
|
|
282 |
GESHI_BEFORE => '',
|
|
283 |
GESHI_AFTER => ''
|
|
284 |
)
|
|
285 |
),
|
|
286 |
'STRICT_MODE_APPLIES' => GESHI_NEVER,
|
|
287 |
'SCRIPT_DELIMITERS' => array(
|
|
288 |
),
|
|
289 |
'HIGHLIGHT_STRICT_BLOCK' => array(
|
|
290 |
),
|
|
291 |
'PARSER_CONTROL' => array(
|
|
292 |
'ENABLE_FLAGS' => array(
|
|
293 |
'NUMBERS' => GESHI_NEVER
|
|
294 |
)
|
|
295 |
),
|
|
296 |
'TAB_WIDTH' => 4
|
|
297 |
);
|
|
298 |
|
|
299 |
?>
|