# AutoHotKey language definition file
#
# Author: Andre Simon
#   Mail: andre.simon1@gmx.de
#   Date: 24.03.2010
# ------------------------------------------
# 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=AutoHotKey

# commands
$KEYWORDS(kwa)=autotrim blockinput break click clipwait continue control controlclick 
controlfocus controlget controlgetfocus controlgetpos controlgettext 
controlmove controlsend controlsettext coordmode critical 
detecthiddentext detecthiddenwindows dllcall drive driveget 
drivespacefree edit else envadd envdiv envget envmult envset envsub 
envupdate exit exitapp fileappend filecopy filecopydir filecreatedir 
filecreateshortcut filedelete fileinstall filegetattrib filegetshortcut 
filegetsize filegettime filegetversion filemove filemovedir fileread 
filereadline filerecycle filerecycleempty fileremovedir fileselectfile 
fileselectfolder displays filesetattrib filesettime formattime 
getkeystate gosub goto groupactivate groupadd groupclose groupdeactivate 
gui guicontrol guicontrolget hideautoitwin, hotkey if ifequal/ifnotequal 
ifexist ifgreater ifgreaterorequal ifinstring ifless/iflessorequal 
ifmsgbox ifwinactive ifwinexist imagesearch inidelete iniread iniwrite 
input inputbox keyhistory keywait leftclick leftclickdrag listhotkeys 
listlines listvars loop loop loop loop loop menu mouseclick 
mouseclickdrag mousegetpos mousemove msgbox onexit onmessage
outputdebug pause pixelgetcolor pixelsearch postmessage process progress 
random regexmatch regexreplace regdelete regread regwrite 
registercallback reload repeat endrepeat return rightclick 
rightclickdrag run runas runwait send sendmessage sendmode setbatchlines 
setcapslockstate setcontroldelay setdefaultmousespeed setenv setformat 
setkeydelay setmousedelay setnumlockstate setscrolllockstate 
setstorecapslockmode settimer settitlematchmode setwindelay 
setworkingdir shutdown sleep sort soundbeep soundget soundgetwavevolume 
soundplay soundset soundsetwavevolume splashimage splashtexton 
splashtextoff splitpath statusbargettext statusbarwait stringcasesense 
stringgetpos stringleft stringlen stringlower stringmid stringreplace 
stringright stringsplit stringtrimleft stringtrimright stringupper 
suspend sysget thread tooltip transform traytip urldownloadtofile var 
var varsetcapacity while-loop winactivate winactivatebottom winclose 
wingetactivestats wingetactivetitle wingetclass winget wingetpos 
wingettext wingettitle winhide winkill winmaximize winmenuselectitem 
winminimize winminimizeall winminimizeallundo winmove winrestore winset 
winsettitle winshow winwait winwaitactive winwaitclose winwaitnotactive 

# if :: follows, # is part of a hotkey
$KEYWORDS(kwa)=regex(\#\w+(?!\:\:))

# hotkeys
$KEYWORDS(kwb)=regex([\#\!\^\+\&\<\>\*\~\$]*[\w\&\s]+?\:\:)

# hotstrings
$KEYWORDS(kwd)=regex(\:.+?\:\:)

# variables
$KEYWORDS(kwc)=regex(%\w+?%)

$STRINGDELIMITERS="

$SL_COMMENT=;

$IGNORECASE=true

$SYMBOLS= ( ) [ ] { } , ; : & | < > !  = / *  \ `
