Home | History | Annotate | Download | only in geshi
      1 <?php
      2 /*************************************************************************************
      3  * mirc.php
      4  * -----
      5  * Author: Alberto 'Birckin' de Areba (Birckin (at) hotmail.com)
      6  * Copyright: (c) 2006 Alberto de Areba
      7  * Release Version: 1.0.8.3
      8  * Date Started: 2006/05/29
      9  *
     10  * mIRC Scripting language file for GeSHi.
     11  *
     12  * CHANGES
     13  * -------
     14  * 2008/05/23 (1.0.7.22)
     15  *   -  Added description of extra language features (SF#1970248)
     16  * 2006/05/29 (1.0.0)
     17  *   -  First Release
     18  *
     19  *************************************************************************************
     20  *
     21  *     This file is part of GeSHi.
     22  *
     23  *   GeSHi is free software; you can redistribute it and/or modify
     24  *   it under the terms of the GNU General Public License as published by
     25  *   the Free Software Foundation; either version 2 of the License, or
     26  *   (at your option) any later version.
     27  *
     28  *   GeSHi is distributed in the hope that it will be useful,
     29  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     30  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     31  *   GNU General Public License for more details.
     32  *
     33  *   You should have received a copy of the GNU General Public License
     34  *   along with GeSHi; if not, write to the Free Software
     35  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     36  *
     37  ************************************************************************************/
     38 
     39 $language_data = array (
     40     'LANG_NAME' => 'mIRC Scripting',
     41     'COMMENT_SINGLE' => array(1 => ';'),
     42     'COMMENT_MULTI' => array(),
     43     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     44     'QUOTEMARKS' => array(),
     45     'ESCAPE_CHAR' => '',
     46     'KEYWORDS' => array(
     47         1 => array(
     48             'alias', 'menu', 'dialog',
     49             ),
     50         2 => array(
     51             'if', 'elseif', 'else', 'while', 'return', 'goto','var'
     52             ),
     53         3 => array(
     54             'action','ajinvite','amsg','ame','anick','aop','auser',
     55             'avoice','auto','autojoin','away','background','ban','beep',
     56             'channel','clear','clearall','clipboard','close','closemsg','color',
     57             'copy','creq','ctcp','ctcpreply','ctcps','dcc','dde','ddeserver',
     58             'debug','describe','disable','disconnect','dlevel','dll','dns',
     59             'dqwindow','ebeeps','echo','editbox','emailaddr','enable','events',
     60             'exit','filter','findtext','finger','flash','flood','flush',
     61             'flushini','font','fsend','fserve','fullname','ghide','gload',
     62             'gmove','gopts','gplay','gpoint','gqreq','groups','gshow','gsize',
     63             'gstop','gtalk','gunload','guser','help','hop','ignore','invite',
     64             'join','kick','linesep','links','list','load','loadbuf','localinfo',
     65             'log','me','mdi','mkdir','mnick','mode','msg','names','nick','noop',
     66             'notice','notify','omsg','onotice','part','partall','pdcc',
     67             'perform','ping','play','pop','protect','pvoice','qmsg','qme',
     68             'query','queryrn','quit','raw','remini','remote','remove','rename',
     69             'enwin','resetidle','rlevel','rmdir','run','ruser','save','savebuf',
     70             'saveini','say','server','showmirc','sline','sound','speak','splay',
     71             'sreq','strip','time',
     72             //'timer[N/name]', //Handled as a regular expression below ...
     73             'timers','timestamp','titlebar','tnick','tokenize','topic','ulist',
     74             'unload','updatenl','url','uwho','window','winhelp','write',
     75             'writeini','who','whois','whowas'
     76             )
     77         ),
     78     'SYMBOLS' => array(
     79         '(', ')', '{', '}', '[', ']'
     80         ),
     81     'CASE_SENSITIVE' => array(
     82         GESHI_COMMENTS => false,
     83         1 => false,
     84         2 => false,
     85         3 => false,
     86         ),
     87     'STYLES' => array(
     88         'KEYWORDS' => array(
     89             1 => 'color: #994444;',
     90             2 => 'color: #000000; font-weight: bold;',
     91             3 => 'color: #990000; font-weight: bold;',
     92             ),
     93         'COMMENTS' => array(
     94             1 => 'color: #808080; font-style: italic;',
     95             ),
     96         'ESCAPE_CHAR' => array(
     97             ),
     98         'BRACKETS' => array(
     99             0 => 'color: #FF0000;',
    100             ),
    101         'STRINGS' => array(
    102             ),
    103         'NUMBERS' => array(
    104             0 => '',
    105             ),
    106         'METHODS' => array(
    107             0 => 'color: #008000;'
    108             ),
    109         'SYMBOLS' => array(
    110             0 => 'color: #FF0000;',
    111             ),
    112         'REGEXPS' => array(
    113             0 => 'color: #000099;',
    114             1 => 'color: #990000;',
    115             2 => 'color: #000099;',
    116             3 => 'color: #888800;',
    117             4 => 'color: #888800;',
    118             5 => 'color: #000099;',
    119             6 => 'color: #990000; font-weight: bold;',
    120             7 => 'color: #990000; font-weight: bold;'
    121             ),
    122         'SCRIPT' => array(
    123             )
    124         ),
    125     'URLS' => array(
    126         1 => '',
    127         2 => '',
    128         3 => 'http://www.mirc.com/{FNAMEL}'
    129         ),
    130     'OOLANG' => true,
    131     'OBJECT_SPLITTERS' => array('.'),
    132     'REGEXPS' => array(
    133         //Variable names
    134         0 => '\$[a-zA-Z0-9]+',
    135         //Variable names
    136         1 => '(%|&amp;)[a-zA-Z0-9]+',
    137         //Client to Client Protocol handling
    138         2 => '(on|ctcp) (!|@|&amp;)?(\d|\*):[a-zA-Z]+:',
    139         /*4 => array(
    140             GESHI_SEARCH => '((on|ctcp) (!|@|&)?(\d|\*):(Action|Active|Agent|AppActive|Ban|Chat|Close|Connect|Ctcp|CtcpReply|DccServer|DeHelp|DeOp|DeVoice|Dialog|Dns|Error|Exit|FileRcvd|FileSent|GetFail|Help|Hotlink|Input|Invite|Join|KeyDown|KeyUp|Kick|Load|Logon|MidiEnd|Mode|Mp3End|Nick|NoSound|Notice|Notify|Op|Open|Part|Ping|Pong|PlayEnd|Quit|Raw|RawMode|SendFail|Serv|ServerMode|ServerOp|Signal|Snotice|Start|Text|Topic|UnBan|Unload|Unotify|User|Mode|Voice|Wallops|WaveEnd):)',
    141             GESHI_REPLACE => '\\1',
    142             GESHI_MODIFIERS => 'i',
    143             GESHI_BEFORE => '',
    144             GESHI_AFTER => ''
    145             ),*/
    146         //Channel names
    147         3 => '(#|@)[a-zA-Z0-9]+',
    148         4 => '-[a-z\d]+',
    149         //Raw protocol handling
    150         5 => 'raw (\d|\*):',
    151         //Timer handling
    152         6 => '\/timer(?!s\b)[0-9a-zA-Z_]+',
    153         // /...
    154         7 => '\/[a-zA-Z0-9]+'
    155         ),
    156     'STRICT_MODE_APPLIES' => GESHI_NEVER,
    157     'SCRIPT_DELIMITERS' => array(
    158         ),
    159     'HIGHLIGHT_STRICT_BLOCK' => array(
    160         ),
    161     'PARSER_CONTROL' => array(
    162         'ENABLE_FLAGS' => array(
    163             'NUMBERS' => GESHI_NEVER
    164             ),
    165         'KEYWORDS' => array(
    166             2 => array(
    167                 'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#;>^&\/])'
    168             )
    169         )
    170     )
    171 );
    172 
    173 ?>
    174