plugins/geshi/geshi/providex.php
changeset 2 9e3258dfae15
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
       
     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('&lt;', '&gt;', '='),
       
   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 ?>