plugins/geshi/geshi/mirc.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
     2 /*************************************************************************************
     2 /*************************************************************************************
     3  * mirc.php
     3  * mirc.php
     4  * -----
     4  * -----
     5  * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com)
     5  * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com)
     6  * Copyright: (c) 2006 Alberto de Areba
     6  * Copyright: (c) 2006 Alberto de Areba
     7  * Release Version: 1.0.7.20
     7  * Release Version: 1.0.8.2
     8  * Date Started: 2006/05/29
     8  * Date Started: 2006/05/29
     9  *
     9  *
    10  * mIRC Scripting language file for GeSHi.
    10  * mIRC Scripting language file for GeSHi.
    11  *
    11  *
    12  * CHANGES
    12  * CHANGES
    13  * -------
    13  * -------
       
    14  * 2008/05/23 (1.0.7.22)
       
    15  *   -  Added description of extra language features (SF#1970248)
    14  * 2006/05/29 (1.0.0)
    16  * 2006/05/29 (1.0.0)
    15  *   -  First Release
    17  *   -  First Release
    16  *
    18  *
    17  *************************************************************************************
    19  *************************************************************************************
    18  *
    20  *
    33  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    35  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    34  *
    36  *
    35  ************************************************************************************/
    37  ************************************************************************************/
    36 
    38 
    37 $language_data = array (
    39 $language_data = array (
    38 	'LANG_NAME' => 'mIRC Scripting',
    40     'LANG_NAME' => 'mIRC Scripting',
    39 	'COMMENT_SINGLE' => array(1 => ';'),
    41     'COMMENT_SINGLE' => array(1 => ';'),
    40   	'COMMENT_MULTI' => array(),
    42     'COMMENT_MULTI' => array(),
    41 	'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    43     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    42 	'QUOTEMARKS' => array(),
    44     'QUOTEMARKS' => array(),
    43 	'ESCAPE_CHAR' => '',
    45     'ESCAPE_CHAR' => '',
    44 	'KEYWORDS' => array(
    46     'KEYWORDS' => array(
    45 		1 => array(
    47         1 => array(
    46         	'alias', 'menu', 'dialog',
    48             'alias', 'menu', 'dialog',
    47 			),
    49             ),
    48 		2 => array(
    50         2 => array(
    49 			'if', 'elseif', 'else', 'while', 'return', 'goto',
    51             'if', 'elseif', 'else', 'while', 'return', 'goto','var'
    50 			),
    52             ),
    51 		3 => array(
    53         3 => array(
    52 			'/action','/ajinvite','/alias','/amsg','/ame','/anick','/aop',
    54             'action','ajinvite','amsg','ame','anick','aop','auser',
    53 			'/auser','/avoice','/auto','/autojoin','/away','/background','/ban',
    55             'avoice','auto','autojoin','away','background','ban','beep',
    54 			'/beep','/channel','/clear','/clearall','/clipboard','/close',
    56             'channel','clear','clearall','clipboard','close','closemsg','color',
    55 			'/closemsg','/color','/copy','/creq','/ctcp','/ctcpreply','/ctcps',
    57             'copy','creq','ctcp','ctcpreply','ctcps','dcc','dde','ddeserver',
    56 			'/dcc','/dde','/ddeserver','/debug','/describe','/disable',
    58             'debug','describe','disable','disconnect','dlevel','dll','dns',
    57 			'/disconnect','/dlevel','/dll','/dns','/dqwindow','/ebeeps','/echo',
    59             'dqwindow','ebeeps','echo','editbox','emailaddr','enable','events',
    58 			'/editbox','/emailaddr','/enable','/events','/exit','/filter',
    60             'exit','filter','findtext','finger','flash','flood','flush',
    59 			'/findtext','/finger','/flash','/flood','/flush','/flushini',
    61             'flushini','font','fsend','fserve','fullname','ghide','gload',
    60 			'/font','/fsend','/fserve','/fullname','/ghide','/gload','/gmove',
    62             'gmove','gopts','gplay','gpoint','gqreq','groups','gshow','gsize',
    61 			'/gopts','/gplay','/gpoint','/gqreq','/groups','/gshow','/gsize',
    63             'gstop','gtalk','gunload','guser','help','hop','ignore','invite',
    62 			'/gstop','/gtalk','/gunload','/guser','/help','/hop','/ignore',
    64             'join','kick','linesep','links','list','load','loadbuf','localinfo',
    63 			'/invite','/join','/kick','/linesep','/links','/list','/load',
    65             'log','me','mdi','mkdir','mnick','mode','msg','names','nick','noop',
    64 			'/loadbuf','/localinfo','/log','/me','/mdi','/mkdir','/mnick',
    66             'notice','notify','omsg','onotice','part','partall','pdcc',
    65 			'/mode','/msg','/names','/nick','/noop','/notice','/notify',
    67             'perform','ping','play','pop','protect','pvoice','qmsg','qme',
    66 			'/omsg','/onotice','/part','/partall','/pdcc','/perform','/ping',
    68             'query','queryrn','quit','raw','remini','remote','remove','rename',
    67 			'/play','/pop','/protect','/pvoice','/qmsg','/qme','/query',
    69             'enwin','resetidle','rlevel','rmdir','run','ruser','save','savebuf',
    68 			'/queryrn','/quit','/raw','/remini','/remote','/remove','/rename',
    70             'saveini','say','server','showmirc','sline','sound','speak','splay',
    69 			'renwin','/resetidle','/rlevel','/rmdir','/run','/ruser','/save',
    71             'sreq','strip','time',
    70 			'/savebuf','/save','/saveini','/say','/server','/showmirc','/sline',
    72             //'timer[N/name]', //Handled as a regular expression below ...
    71 			'/sound','/speak','/splay','/sreq','/strip','/time',
    73             'timers','timestamp','titlebar','tnick','tokenize','topic','ulist',
    72 			//'/timer[N/name]', //Handled as a regular expression below ...
    74             'unload','updatenl','url','uwho','window','winhelp','write',
    73 			'/timers','/timestamp','/titlebar','/tnick','/tokenize','/topic',
    75             'writeini','who','whois','whowas'
    74 			'/ulist','/unload','/updatenl','/url','/uwho','window','/winhelp',
    76             )
    75 			'/write','/writeini','/who','/whois','/whowas'
    77         ),
    76 			)
    78     'SYMBOLS' => array(
    77 		),
    79         '(', ')', '{', '}', '[', ']'
    78 	'SYMBOLS' => array(
    80         ),
    79 		'(', ')', '{', '}', '[', ']', '|',
    81     'CASE_SENSITIVE' => array(
    80 		),
    82         GESHI_COMMENTS => false,
    81 	'CASE_SENSITIVE' => array(
    83         1 => false,
    82 		GESHI_COMMENTS => true,
    84         2 => false,
    83 		1 => false,
    85         3 => false,
    84 		2 => false,
    86         ),
    85 		),
    87     'STYLES' => array(
    86 	'STYLES' => array(
    88         'KEYWORDS' => array(
    87 		'KEYWORDS' => array(
    89             1 => 'color: #994444;',
    88 			1 => 'color: #994444;',
    90             2 => 'color: #000000; font-weight: bold;',
    89 			2 => 'color: #000000; font-weight: bold;',
    91             3 => 'color: #990000; font-weight: bold;',
    90 			3 => 'color: #990000; font-weight: bold;',
    92             ),
    91 			),
    93         'COMMENTS' => array(
    92 		'COMMENTS' => array(
    94             1 => 'color: #808080; font-style: italic;',
    93 			1 => 'color: #808080; font-style: italic;',
    95             ),
    94 			),
    96         'ESCAPE_CHAR' => array(
    95 		'ESCAPE_CHAR' => array(
    97             ),
    96 			),
    98         'BRACKETS' => array(
    97 		'BRACKETS' => array(
    99             0 => 'color: #FF0000;',
    98 			0 => 'color: #FF0000;',
   100             ),
    99 			),
   101         'STRINGS' => array(
   100 		'STRINGS' => array(
   102             ),
   101 			),
       
   102         'NUMBERS' => array(
   103         'NUMBERS' => array(
   103             0 => '',
   104             0 => '',
   104 			),
   105             ),
   105 		'METHODS' => array(
   106         'METHODS' => array(
   106 			),
   107             0 => 'color: #008000;'
   107 		'SYMBOLS' => array(
   108             ),
   108 			0 => 'color: #FF0000;',
   109         'SYMBOLS' => array(
   109 			),
   110             0 => 'color: #FF0000;',
   110 		'REGEXPS' => array(
   111             ),
   111 			0 => 'color: #000099;',
   112         'REGEXPS' => array(
   112 			1 => 'color: #990000;',
   113             0 => 'color: #000099;',
   113 			2 => 'color: #888800;',
   114             1 => 'color: #990000;',
   114 			3 => 'color: #888800;',
   115             2 => 'color: #000099;',
   115 			4 => 'color: #000099;',
   116             3 => 'color: #888800;',
   116 			5 => 'color: #000099;',
   117             4 => 'color: #888800;',
   117 			6 => 'color: #990000; font-weight: bold;',
   118             5 => 'color: #000099;',
   118 			),
   119             6 => 'color: #990000; font-weight: bold;',
   119 		'SCRIPT' => array(
   120             7 => 'color: #990000; font-weight: bold;'
   120 			)
   121             ),
   121 		),
   122         'SCRIPT' => array(
   122 	'URLS' => array(
   123             )
   123 		1 => '',
   124         ),
   124 		2 => '',
   125     'URLS' => array(
   125 		3 => 'http://www.mirc.com/{FNAME}',
   126         1 => '',
   126 		4 => ''
   127         2 => '',
   127 		),
   128         3 => 'http://www.mirc.com/{FNAMEL}'
   128 	'OOLANG' => false,
   129         ),
   129 	'OBJECT_SPLITTERS' => array(
   130     'OOLANG' => true,
   130 		),
   131     'OBJECT_SPLITTERS' => array('.'),
   131 	'REGEXPS' => array(
   132     'REGEXPS' => array(
   132 		0 => '\$[^$][^ ,\(\)]*',
   133         //Variable names
   133 		1 => '(%|&).+?[^ ,\)]*',
   134         0 => '\$[a-zA-Z0-9]+',
   134 		2 => '(#|@).+?[^ ,\)]*',
   135         //Variable names
   135 		3 => '-[a-z\d]+',
   136         1 => '(%|&)[a-zA-Z0-9äöü]+',
   136 		4 => '(on|ctcp) (!|@|&)?(\d|\*):[a-zA-Z]+:',
   137         //Client to Client Protocol handling
   137 		/*4 => array(
   138         2 => '(on|ctcp) (!|@|&)?(\d|\*):[a-zA-Z]+:',
   138 			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):)',
   139         /*4 => array(
   139 			GESHI_REPLACE => '\\1',
   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):)',
   140 			GESHI_MODIFIERS => 'i',
   141             GESHI_REPLACE => '\\1',
   141 			GESHI_BEFORE => '',
   142             GESHI_MODIFIERS => 'i',
   142 			GESHI_AFTER => ''
   143             GESHI_BEFORE => '',
   143 			),*/
   144             GESHI_AFTER => ''
       
   145             ),*/
       
   146         //Channel names
       
   147         3 => '(#|@)[a-zA-Z0-9]+',
       
   148         4 => '-[a-z\d]+',
       
   149         //Raw protocol handling
   144         5 => 'raw (\d|\*):',
   150         5 => 'raw (\d|\*):',
   145 		6 => '\/timer(?!s\b)[0-9a-zA-Z_]+',
   151         //Timer handling
   146 		),
   152         6 => '\/timer(?!s\b)[0-9a-zA-Z_]+',
   147 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
   153         // /...
   148 	'SCRIPT_DELIMITERS' => array(
   154         7 => '\/[a-zA-Z0-9]+'
   149 		),
   155         ),
   150 	'HIGHLIGHT_STRICT_BLOCK' => array(
   156     'STRICT_MODE_APPLIES' => GESHI_NEVER,
   151 		)
   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     )
   152 );
   171 );
   153 
   172 
   154 ?>
   173 ?>