Merging updated GeSHi code for 1.0.7.9 updates
[viewsvn.git] / includes / geshi / geshi / autoit.php
1 <?php
2 /*************************************************************************************
3 * autoit.php
4 * --------
5 * Author: mastrboy
6 * Copyright: (c) 2006 and to GESHi ;)
7 * Release Version: 1.0.7.9
8 * Date Started: 26.01.2006
9 *
10 * Current bugs & todo:
11 * ----------
12 * - can't get #cs and #ce to work as multiple comments while still #comments-start/end working
13 * - dosn't highlight symbols (Please note that in 1.0.X these are not used. Hopefully they will be used in 1.2.X.)
14 * - not sure how to get sendkeys to work " {!}, {SPACE} etc... "
15 * - jut copyied the regexp for variable from php so this HAVE to be checked and fixed to a better one ;)
16 *
17 * Reference: http://www.autoitscript.com/autoit3/docs/
18 *************************************************************************************
19 *
20 * This file is part of GeSHi.
21 *
22 * GeSHi is free software; you can redistribute it and/or modify
23 * it under the terms of the GNU General Public License as published by
24 * the Free Software Foundation; either version 2 of the License, or
25 * (at your option) any later version.
26 *
27 * GeSHi is distributed in the hope that it will be useful,
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 * GNU General Public License for more details.
31 *
32 * You should have received a copy of the GNU General Public License
33 * along with GeSHi; if not, write to the Free Software
34 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
35 *
36 ************************************************************************************/
37
38 $language_data = array (
39 'LANG_NAME' => 'AUTOIT',
40 'COMMENT_SINGLE' => array(';'),
41 'COMMENT_MULTI' => array('#comments-start' => '#comments-end'),
42 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
43 'QUOTEMARKS' => array("'", '"'),
44 'ESCAPE_CHAR' => '',
45 'KEYWORDS' => array(
46 1 => array(
47 'continueloop', 'and', 'byref', 'case', 'const', 'dim', 'do', 'else',
48 'elseif', 'endfunc', 'endif', 'endselect', 'exit', 'exitloop', 'for',
49 'func', 'global', 'if', 'local', 'next', 'not', 'or', 'redim', 'return',
50 'select', 'step', 'then', 'to', 'until', 'wend', 'while'
51 ),
52 2 => array(
53 '@appdatacommondir','@appdatadir','@autoitexe','@autoitversion','@commonfilesdir',
54 '@compiled','@computername','@comspec','@cr','@crlf','@desktopcommondir','@desktopdepth','@desktopdir',
55 '@desktopheight','@desktoprefresh','@desktopwidth','@documentscommondir','@error','@extended',
56 '@favoritescommondir','@favoritesdir','@gui_ctrlhandle','@gui_ctrlid','@gui_winhandle','@homedrive',
57 '@homepath','@homeshare','@hour','@inetgetactive','@inetgetbytesread','@ipaddress1','@ipaddress2',
58 '@ipaddress3','@ipaddress4','@lf','@logondnsdomain','@logondomain','@logonserver','@mday','@min',
59 '@mon','@mydocumentsdir','@numparams','@osbuild','@oslang','@osservicepack','@ostype','@osversion',
60 '@programfilesdir','@programscommondir','@programsdir','@scriptdir','@scriptfullpath','@scriptname',
61 '@sec','@startmenucommondir','@startmenudir','@startupcommondir','@startupdir','@sw_disable',
62 '@sw_enable','@sw_hide','@sw_maximize','@sw_minimize','@sw_restore','@sw_show','@sw_showdefault',
63 '@sw_showmaximized','@sw_showminimized','@sw_showminnoactive','@sw_showna','@sw_shownoactivate',
64 '@sw_shownormal','@systemdir','@tab','@tempdir','@username','@userprofiledir','@wday','@windowsdir',
65 '@workingdir','@yday','@year'
66 ),
67 3 => array(
68 'abs','acos','adlibdisable','adlibenable','asc','asin','assign','atan','autoitsetoption',
69 'autoitwingettitle','autoitwinsettitle','bitand','bitnot','bitor','bitshift','bitxor','blockinput',
70 'break','call','cdtray','chr','clipget','clipput','consolewrite','controlclick','controlcommand','controldisable',
71 'controlenable','controlfocus','controlgetfocus','controlgethandle','controlgetpos','controlgettext',
72 'controlhide','controllistview','controlmove','controlsend','controlsettext','controlshow','cos',
73 'dec','dircopy','dircreate','dirgetsize','dirmove','dirremove','dllcall','dllclose','dllopen','drivegetdrive',
74 'drivegetfilesystem','drivegetlabel','drivegetserial','drivegettype','drivemapadd','drivemapdel',
75 'drivemapget','drivesetlabel','drivespacefree','drivespacetotal','drivestatus','envget','envset',
76 'envupdate','eval','exp','filechangedir','fileclose','filecopy','filecreateshortcut','filedelete',
77 'fileexists','filefindfirstfile','filefindnextfile','filegetattrib','filegetlongname','filegetshortcut',
78 'filegetshortname','filegetsize','filegettime','filegetversion','fileinstall','filemove','fileopen',
79 'fileopendialog','fileread','filereadline','filerecycle','filerecycleempty','filesavedialog',
80 'fileselectfolder','filesetattrib','filesettime','filewrite','filewriteline','ftpsetproxy','guicreate',
81 'guictrlcreateavi','guictrlcreatebutton','guictrlcreatecheckbox','guictrlcreatecombo','guictrlcreatecontextmenu',
82 'guictrlcreatedate','guictrlcreatedummy','guictrlcreateedit','guictrlcreategroup','guictrlcreateicon',
83 'guictrlcreateinput','guictrlcreatelabel','guictrlcreatelist','guictrlcreatelistview','guictrlcreatelistviewitem',
84 'guictrlcreatemenu','guictrlcreatemenuitem','guictrlcreatepic','guictrlcreateprogress','guictrlcreateradio',
85 'guictrlcreateslider','guictrlcreatetab','guictrlcreatetabitem','guictrlcreatetreeview','guictrlcreatetreeviewitem',
86 'guictrlcreateupdown','guictrldelete','guictrlgetstate','guictrlread','guictrlrecvmsg','guictrlsendmsg',
87 'guictrlsendtodummy','guictrlsetbkcolor','guictrlsetcolor','guictrlsetcursor','guictrlsetdata',
88 'guictrlsetfont','guictrlsetimage','guictrlsetlimit','guictrlsetonevent','guictrlsetpos','guictrlsetresizing',
89 'guictrlsetstate','guictrlsetstyle','guictrlsettip','guidelete','guigetcursorinfo','guigetmsg',
90 'guisetbkcolor','guisetcoord','guisetcursor','guisetfont','guisethelp','guiseticon','guisetonevent',
91 'guisetstate','guistartgroup','guiswitch','hex','hotkeyset','httpsetproxy','inetget','inetgetsize',
92 'inidelete','iniread','inireadsection','inireadsectionnames','iniwrite','inputbox','int','isadmin',
93 'isarray','isdeclared','isfloat','isint','isnumber','isstring','log','memgetstats','mod','mouseclick',
94 'mouseclickdrag','mousedown','mousegetcursor','mousegetpos','mousemove','mouseup','mousewheel',
95 'msgbox','number','opt','ping','pixelchecksum','pixelgetcolor','pixelsearch','processclose','processexists',
96 'processlist','processsetpriority','processwait','processwaitclose','progressoff','progresson',
97 'progressset','random','regdelete','regenumkey','regenumval','regread','regwrite','round','run','runasset',
98 'runwait','send','seterror','setextended','shutdown','sin','sleep','soundplay','soundsetwavevolume',
99 'splashimageon','splashoff','splashtexton','sqrt','statusbargettext','string','stringaddcr','stringformat',
100 'stringinstr','stringisalnum','stringisalpha','stringisascii','stringisdigit','stringisfloat',
101 'stringisint','stringislower','stringisspace','stringisupper','stringisxdigit','stringleft','stringlen',
102 'stringlower','stringmid','stringregexp','stringregexpreplace','stringreplace','stringright',
103 'stringsplit','stringstripcr','stringstripws','stringtrimleft','stringtrimright','stringupper',
104 'tan','timerdiff','timerinit','timerstart','timerstop','tooltip','traytip','ubound','winactivate','winactive',
105 'winclose','winexists','wingetcaretpos','wingetclasslist','wingetclientsize','wingethandle','wingetpos',
106 'wingetprocess','wingetstate','wingettext','wingettitle','winkill','winlist','winmenuselectitem',
107 'winminimizeall','winminimizeallundo','winmove','winsetontop','winsetstate','winsettitle','winsettrans',
108 'winshow','winwait','winwaitactive','winwaitclose','winwaitnotactive'
109 )
110 ),
111 'SYMBOLS' => array(
112 '(', ')', '[', ']', '&', '*', '/', '<', '>', '+', '-', '^', '='
113 ),
114 'CASE_SENSITIVE' => array(
115 GESHI_COMMENTS => false,
116 1 => false,
117 2 => false,
118 3 => false,
119 ),
120 'STYLES' => array(
121 'KEYWORDS' => array(
122 1 => 'color: #0000FF; font-weight: bold;',
123 2 => 'color: #FF33FF; font-weight: bold;',
124 3 => 'color: #000090; font-style: italic; font-weight: bold;',
125 ),
126 'COMMENTS' => array(
127 0 => 'font-style: italic; color: #669900;', 'MULTI' => 'font-style: italic; color: #669900;'
128 ),
129 'ESCAPE_CHAR' => array(
130 0 => ''
131 ),
132 'BRACKETS' => array(
133 0 => 'color: #FF0000; font-weight: bold;'
134 ),
135 'STRINGS' => array(
136 0 => 'font-weight: bold; color: #9999CC;'
137 ),
138 'NUMBERS' => array(
139 0 => 'font-style: italic; font-weight: bold; color: #AC00A9;'
140 ),
141 'METHODS' => array(
142 1 => 'color: #006600;',
143 2 => 'color: #006600;'
144 ),
145 'SYMBOLS' => array(
146 0 => 'color: #FF0000; font-weight: bold;'
147 ),
148 'REGEXPS' => array(
149 0 => 'font-weight: bold; color: #AA0000;'
150 ),
151 'SCRIPT' => array(
152 0 => '',
153 1 => '',
154 2 => '',
155 3 => ''
156 )
157 ),
158 'URLS' => array(
159 1 => 'http://www.autoitscript.com/autoit3/docs/keywords.htm',
160 2 => 'http://www.autoitscript.com/autoit3/docs/macros.htm',
161 3 => 'http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm',
162 4 => ''
163 ),
164
165 'OOLANG' => false,
166 'OBJECT_SPLITTERS' => array(
167 ),
168 'REGEXPS' => array(
169 0 => "[\\$]{1,2}[a-zA-Z_][a-zA-Z0-9_]*",
170 ),
171 'STRICT_MODE_APPLIES' => GESHI_MAYBE,
172 /* 'SCRIPT_DELIMITERS' => array(
173 0 => array(
174 '<?php' => '?>'
175 ),
176 1 => array(
177 '<?' => '?>'
178 ),
179 2 => array(
180 '<%' => '%>'
181 ),
182 3 => array(
183 '<script language="php">' => '</script>'
184 )
185 ),*/
186
187 'HIGHLIGHT_STRICT_BLOCK' => array(
188 0 => true,
189 1 => true,
190 2 => true,
191 3 => true
192 )
193 );
194
195 ?>
196