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 => '(%|&)[a-zA-Z0-9]+', 137 //Client to Client Protocol handling 138 2 => '(on|ctcp) (!|@|&)?(\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