# AutoIt 3 language definition file
#
# Author: Andre Simon
#   Mail: andre.simon1@gmx.de
#   Date: 28.05.06
# ------------------------------------------
# This file is a part of highlight, a free source code converter released under the GPL.
#
# The file is used to describe keywords and special symbols of programming languages.
# See README in the highlight directory for details.
#
# New definition files for future releases of highlight are always appreciated ;)
#
# ----------
# andre.simon1@gmx.de
# http:/www.andre-simon.de/

$DESCRIPTION=AutoIt

$KEYWORDS(kwa)=continueloop dim global local const do until exit exitloop for next
func return endfunc if then elseif else endif redim select case endselect while wend

#include-once
#include
#NoTrayIcon

$KEYWORDS(kwb)=abs acos adlibdisable adlibenable asc asin assign atan autoitsetoption autoitwingettitle autoitwinsettitle bitand bitnot bitor bitshift bitxor 
blockinput break call cdtray chr clipget clipput consolewrite controlclick controlcommand controldisable controlenable controlfocus controlgetfocus 
controlgethandle controlgetpos controlgettext controlhide controllistview controlmove controlsend controlsettext controlshow cos dec dircopy 
dircreate dirgetsize dirmove dirremove dllcall dllclose dllopen drivegetdrive drivegetfilesystem drivegetlabel drivegetserial drivegettype 
drivemapadd drivemapdel drivemapget drivesetlabel drivespacefree drivespacetotal drivestatus envget envset envupdate eval exp filechangedir 
fileclose filecopy filecreateshortcut filedelete fileexists filefindfirstfile filefindnextfile filegetattrib filegetlongname filegetshortcut 
filegetshortname filegetsize filegettime filegetversion fileinstall filemove fileopen fileopendialog fileread filereadline filerecycle 
filerecycleempty filesavedialog fileselectfolder filesetattrib filesettime filewrite filewriteline ftpsetproxy guicreate guictrlcreateavi 
guictrlcreatebutton guictrlcreatecheckbox guictrlcreatecombo guictrlcreatecontextmenu guictrlcreatedate guictrlcreatedummy guictrlcreateedit 
guictrlcreategroup guictrlcreateicon guictrlcreateinput guictrlcreatelabel guictrlcreatelist guictrlcreatelistview guictrlcreatelistviewitem 
guictrlcreatemenu guictrlcreatemenuitem guictrlcreatepic guictrlcreateprogress guictrlcreateradio guictrlcreateslider guictrlcreatetab 
guictrlcreatetabitem guictrlcreatetreeview guictrlcreatetreeviewitem guictrlcreateupdown guictrldelete guictrlgetstate guictrlread guictrlrecvmsg 
guictrlsendmsg guictrlsendtodummy guictrlsetbkcolor guictrlsetcolor guictrlsetcursor guictrlsetdata guictrlsetfont guictrlsetimage guictrlsetlimit 
guictrlsetonevent guictrlsetpos guictrlsetresizing guictrlsetstate guictrlsetstyle guictrlsettip guidelete guigetcursorinfo guigetmsg guisetbkcolor 
guisetcoord guisetcursor guisetfont guisethelp guiseticon guisetonevent guisetstate guistartgroup guiswitch hex hotkeyset httpsetproxy inetget 
inetgetsize inidelete iniread inireadsection inireadsectionnames iniwrite inputbox int isadmin isarray isdeclared isfloat isint isnumber isstring 
log memgetstats mod mouseclick mouseclickdrag mousedown mousegetcursor mousegetpos mousemove mouseup mousewheel msgbox number ping pixelchecksum 
pixelgetcolor pixelsearch processclose processexists processlist processsetpriority processwait processwaitclose progressoff progresson progressset 
random regdelete regenumkey regenumval regread regwrite round run runasset runwait send seterror setextended shutdown sin sleep soundplay 
soundsetwavevolume splashimageon splashoff splashtexton sqrt statusbargettext string stringaddcr stringformat stringinstr stringisalnum 
stringisalpha stringisascii stringisdigit stringisfloat stringisint stringislower stringisspace stringisupper stringisxdigit stringleft stringlen 
stringlower stringmid stringreplace stringright stringsplit stringstripcr stringstripws stringtrimleft stringtrimright stringupper tan timerdiff 
timerinit tooltip traytip ubound winactivate winactive winclose winexists wingetcaretpos wingetclasslist wingetclientsize wingethandle
wingetpos wingetprocess wingetstate wingettext wingettitle winkill winlist winmenuselectitem winminimizeall winminimizeallundo winmove winsetontop winsetstate winsettitle winsettrans winwait winwaitactive winwaitclose winwaitnotactive

$KEYWORDS(kwc)=regex([@$]\w+)

$KEYWORDS(kwd)=regex((\w+)\s*\()

$STRINGDELIMITERS=" '

$ML_COMMENT=#comments-start #comments-end #cs #ce

$SL_COMMENT=;

$DIRECTIVE=regex(#(?!cs|ce|comments\-start|comments\-end).*$, 0)

$IGNORECASE=true

$SYMBOLS= ( ) [ ] { } , . : & | < > !  = / *  %  + - ~

