# Define SciTE settings for AutoIt files.
#
# SciTE settings for AutoIt 3.3.14.2

# File filters, patterns, language, lexer and source
file.patterns.au3=*.au3
filter.au3=AutoIt (au3)|$(file.patterns.au3)|
lexer.$(file.patterns.au3)=au3

*filter.au3=$(filter.au3)
*language.au3=AutoIt|au3||
*source.patterns.au3=$(file.patterns.au3);

# Autocomplete and CallTip
autocomplete.au3.ignorecase=1
autocomplete.au3.start.characters=$(chars.alpha)$(chars.numeric)_@#$
calltip.au3.end.definition=)
calltip.au3.ignorecase=1
calltip.au3.use.escapes=1
calltip.au3.word.characters=$(chars.alpha)$(chars.numeric)_.
word.characters.$(file.patterns.au3)=$(chars.alpha)$(chars.numeric)$(chars.accented)_@#$.

# Indentation
indent.size.$(file.patterns.au3)=4
tab.size.$(file.patterns.au3)=4
use.tabs.$(file.patterns.au3)=1

block.start.$(file.patterns.au3)=5\
 case if do for func else elseif while select switch with\
 Case If Do For Func Else ElseIf While Select Switch With\
 CASE IF DO FOR FUNC ELSE ELSEIF WHILE SELECT SWITCH WITH

block.end.$(file.patterns.au3)=5\
 case else endif elseif endfunc endselect endswitch next until wend endwith\
 Case Else EndIf ElseIf EndFunc EndSelect EndSwitch Next Until WEnd EndWith Wend\
 CASE ELSE ENDIF ELSEIF ENDFUNC ENDSELECT ENDSWITCH NEXT UNTIL WEND ENDWITH

# Comment Block, Box and Stream
comment.block.au3=;~
comment.block.at.line.start.au3=1
comment.box.start.au3=#cs
comment.box.middle.au3=;
comment.box.end.au3=#ce
comment.stream.start.au3=#cs
comment.stream.end.au3=#ce

# Au3 keywords
# Imported Scite4AutoIt3 files may resolve i.e. $(au3.variables.used) as keyword values

# Keyword
keywords.$(file.patterns.au3)=and byref case const continuecase continueloop default dim\
 do else elseif endfunc endif endselect endswitch endwith enum exit exitloop false\
 for func global if in local next not null or redim return select static step switch\
 then to true until volatile wend while with

# Function
keywords2.$(file.patterns.au3)=abs acos adlibregister adlibunregister asc ascw asin assign\
 atan autoitsetoption autoitwingettitle autoitwinsettitle beep binary binarylen binarymid\
 binarytostring bitand bitnot bitor bitrotate bitshift bitxor blockinput break call\
 cdtray ceiling chr chrw clipget clipput consoleread consolewrite consolewriteerror\
 controlclick controlcommand controldisable controlenable controlfocus controlgetfocus\
 controlgethandle controlgetpos controlgettext controlhide controllistview controlmove\
 controlsend controlsettext controlshow controltreeview cos dec dircopy dircreate\
 dirgetsize dirmove dirremove dllcall dllcalladdress dllcallbackfree dllcallbackgetptr\
 dllcallbackregister dllclose dllopen dllstructcreate dllstructgetdata dllstructgetptr\
 dllstructgetsize dllstructsetdata drivegetdrive drivegetfilesystem drivegetlabel\
 drivegetserial drivegettype drivemapadd drivemapdel drivemapget drivesetlabel drivespacefree\
 drivespacetotal drivestatus envget envset envupdate eval execute exp filechangedir\
 fileclose filecopy filecreatentfslink filecreateshortcut filedelete fileexists filefindfirstfile\
 filefindnextfile fileflush filegetattrib filegetencoding filegetlongname filegetpos\
 filegetshortcut filegetshortname filegetsize filegettime filegetversion fileinstall\
 filemove fileopen fileopendialog fileread filereadline filereadtoarray filerecycle\
 filerecycleempty filesavedialog fileselectfolder filesetattrib filesetend filesetpos\
 filesettime filewrite filewriteline floor ftpsetproxy funcname guicreate guictrlcreateavi\
 guictrlcreatebutton guictrlcreatecheckbox guictrlcreatecombo guictrlcreatecontextmenu\
 guictrlcreatedate guictrlcreatedummy guictrlcreateedit guictrlcreategraphic guictrlcreategroup\
 guictrlcreateicon guictrlcreateinput guictrlcreatelabel guictrlcreatelist guictrlcreatelistview\
 guictrlcreatelistviewitem guictrlcreatemenu guictrlcreatemenuitem guictrlcreatemonthcal\
 guictrlcreateobj guictrlcreatepic guictrlcreateprogress guictrlcreateradio guictrlcreateslider\
 guictrlcreatetab guictrlcreatetabitem guictrlcreatetreeview guictrlcreatetreeviewitem\
 guictrlcreateupdown guictrldelete guictrlgethandle guictrlgetstate guictrlread guictrlrecvmsg\
 guictrlregisterlistviewsort guictrlsendmsg guictrlsendtodummy guictrlsetbkcolor guictrlsetcolor\
 guictrlsetcursor guictrlsetdata guictrlsetdefbkcolor guictrlsetdefcolor guictrlsetfont\
 guictrlsetgraphic guictrlsetimage guictrlsetlimit guictrlsetonevent guictrlsetpos\
 guictrlsetresizing guictrlsetstate guictrlsetstyle guictrlsettip guidelete guigetcursorinfo\
 guigetmsg guigetstyle guiregistermsg guisetaccelerators guisetbkcolor guisetcoord\
 guisetcursor guisetfont guisethelp guiseticon guisetonevent guisetstate guisetstyle\
 guistartgroup guiswitch hex hotkeyset httpsetproxy httpsetuseragent hwnd inetclose\
 inetget inetgetinfo inetgetsize inetread inidelete iniread inireadsection inireadsectionnames\
 inirenamesection iniwrite iniwritesection inputbox int isadmin isarray isbinary isbool\
 isdeclared isdllstruct isfloat isfunc ishwnd isint iskeyword isnumber isobj isptr\
 isstring log memgetstats mod mouseclick mouseclickdrag mousedown mousegetcursor mousegetpos\
 mousemove mouseup mousewheel msgbox number objcreate objcreateinterface objevent\
 objevent objget objname onautoitexitregister onautoitexitunregister opt ping pixelchecksum\
 pixelgetcolor pixelsearch processclose processexists processgetstats processlist\
 processsetpriority processwait processwaitclose progressoff progresson progressset\
 ptr random regdelete regenumkey regenumval regread regwrite round run runas runaswait\
 runwait send sendkeepactive seterror setextended shellexecute shellexecutewait shutdown\
 sin sleep soundplay soundsetwavevolume splashimageon splashoff splashtexton sqrt\
 srandom statusbargettext stderrread stdinwrite stdioclose stdoutread string stringaddcr\
 stringcompare stringformat stringfromasciiarray stringinstr stringisalnum stringisalpha\
 stringisascii stringisdigit stringisfloat stringisint stringislower stringisspace\
 stringisupper stringisxdigit stringleft stringlen stringlower stringmid stringregexp\
 stringregexpreplace stringreplace stringreverse stringright stringsplit stringstripcr\
 stringstripws stringtoasciiarray stringtobinary stringtrimleft stringtrimright stringupper\
 tan tcpaccept tcpclosesocket tcpconnect tcplisten tcpnametoip tcprecv tcpsend tcpshutdown\
 tcpstartup timerdiff timerinit tooltip traycreateitem traycreatemenu traygetmsg trayitemdelete\
 trayitemgethandle trayitemgetstate trayitemgettext trayitemsetonevent trayitemsetstate\
 trayitemsettext traysetclick trayseticon traysetonevent traysetpauseicon traysetstate\
 traysettooltip traytip ubound udpbind udpclosesocket udpopen udprecv udpsend udpshutdown\
 udpstartup vargettype winactivate winactive winclose winexists winflash wingetcaretpos\
 wingetclasslist wingetclientsize wingethandle wingetpos wingetprocess wingetstate\
 wingettext wingettitle winkill winlist winmenuselectitem winminimizeall winminimizeallundo\
 winmove winsetontop winsetstate winsettitle winsettrans winwait winwaitactive winwaitclose\
 winwaitnotactive

# Macro
keywords3.$(file.patterns.au3)=@appdatacommondir @appdatadir @autoitexe @autoitpid @autoitversion\
 @autoitx64 @com_eventobj @commonfilesdir @compiled @computername @comspec @cpuarch\
 @cr @crlf @desktopcommondir @desktopdepth @desktopdir @desktopheight @desktoprefresh\
 @desktopwidth @documentscommondir @error @exitcode @exitmethod @extended @favoritescommondir\
 @favoritesdir @gui_ctrlhandle @gui_ctrlid @gui_dragfile @gui_dragid @gui_dropid @gui_winhandle\
 @homedrive @homepath @homeshare @hotkeypressed @hour @ipaddress1 @ipaddress2 @ipaddress3\
 @ipaddress4 @kblayout @lf @localappdatadir @logondnsdomain @logondomain @logonserver\
 @mday @min @mon @msec @muilang @mydocumentsdir @numparams @osarch @osbuild @oslang\
 @osservicepack @ostype @osversion @programfilesdir @programscommondir @programsdir\
 @scriptdir @scriptfullpath @scriptlinenumber @scriptname @sec @startmenucommondir\
 @startmenudir @startupcommondir @startupdir @sw_disable @sw_enable @sw_hide @sw_lock\
 @sw_maximize @sw_minimize @sw_restore @sw_show @sw_showdefault @sw_showmaximized\
 @sw_showminimized @sw_showminnoactive @sw_showna @sw_shownoactivate @sw_shownormal\
 @sw_unlock @systemdir @tab @tempdir @tray_id @trayiconflashing @trayiconvisible @username\
 @userprofiledir @wday @windowsdir @workingdir @yday @year

# Send key
keywords4.$(file.patterns.au3)={!} {#} {^} {{} {}} {+} {alt} {altdown} {altup} {appskey}\
 {asc} {backspace} {break} {browser_back} {browser_favorites} {browser_forward} {browser_home}\
 {browser_refresh} {browser_search} {browser_stop} {bs} {capslock} {ctrldown} {ctrlup}\
 {del} {delete} {down} {end} {enter} {esc} {escape} {f1} {f10} {f11} {f12} {f2} {f3}\
 {f4} {f5} {f6} {f7} {f8} {f9} {home} {ins} {insert} {lalt} {launch_app1} {launch_app2}\
 {launch_mail} {launch_media} {lctrl} {left} {lshift} {lwin} {lwindown} {lwinup} {media_next}\
 {media_play_pause} {media_prev} {media_stop} {numlock} {numpad0} {numpad1} {numpad2}\
 {numpad3} {numpad4} {numpad5} {numpad6} {numpad7} {numpad8} {numpad9} {numpadadd}\
 {numpaddiv} {numpaddot} {numpadenter} {numpadmult} {numpadsub} {oem_102} {pause}\
 {pgdn} {pgup} {printscreen} {ralt} {rctrl} {right} {rshift} {rwin} {rwindown} {rwinup}\
 {scrolllock} {shiftdown} {shiftup} {sleep} {space} {tab} {up} {volume_down} {volume_mute}\
 {volume_up}

# Pre-Processor
keywords5.$(file.patterns.au3)=#ce #comments-end #comments-start #cs #include #include-once\
 #notrayicon #onautoitstartregister #requireadmin

# Special
keywords6.$(file.patterns.au3)=#endregion #forcedef #forceref #ignorefunc #pragma #region\
 $(autoit3wrapper.keywords.special)

# Abbrev-Expand
keywords7.$(file.patterns.au3)=$(au3.keywords.abbrev) $(au3.keywords.userabbrev)

# Standard UDF
keywords8.$(file.patterns.au3)=$(au3.keywords.udfs)

# Au3 styles

# White space
style.au3.0=fore:#000000
# Comment block
style.au3.1=$(colour.code.comment.line)
# Comment stream
style.au3.2=back:#F7F7F7,eolfilled,$(colour.code.comment.box)
# Number
style.au3.3=$(colour.number)
# Function
style.au3.4=$(colour.keyword)
# Keyword
style.au3.5=$(colour.keyword)
# Macro
style.au3.6=$(style.au3.9)
# String
style.au3.7=back:#FFF9FF,$(colour.string)
# Operator
style.au3.8=$(colour.operator)
# Variable
style.au3.9=fore:#800000
# Send key
style.au3.10=back:#FFF9FF,bold,$(colour.string)
# Pre-Processor
style.au3.11=back:#FFFFF8,$(colour.preproc)
# Special
style.au3.12=fore:#B00000,back:#FFFDFD
# Abbrev-Expand
style.au3.13=fore:#FF0000
# COM Object
style.au3.14=$(style.au3.9)
# Standard UDF
style.au3.15=fore:#0080FF

# Properties using paths

# Directory containing AutoIt program files
autoit3dir=$(SciteDefaultHome)\..

# API path
api.$(file.patterns.au3)=$(SciteDefaultHome)\api\au3.api;$(SciteDefaultHome)\api\au3.autoit3wrapper.api;$(SciteUserHome)\au3.user.calltips.api

# Commands for F1 Help
command.help.$(file.patterns.au3)=$(CurrentWord)!$(autoit3dir)\AutoIt.chm
command.help.subsystem.$(file.patterns.au3)=4

# Commands to Compile, Build and Go
command.compile.$(file.patterns.au3)="$(autoit3dir)\Aut2Exe\Aut2exe.exe" /in "$(FilePath)"
command.build.$(file.patterns.au3)="$(autoit3dir)\Aut2Exe\Aut2exe.exe" /in "$(FilePath)" /x64
command.go.$(file.patterns.au3)="$(autoit3dir)\AutoIt3.exe" /ErrorStdOut "$(FilePath)" $(1) $(2) $(3) $(4)

# Au3Check
command.0.$(file.patterns.au3)="$(autoit3dir)\Au3Check.exe" -q "$(FilePath)"
command.name.0.$(file.patterns.au3)=Syntax Check
command.shortcut.0.$(file.patterns.au3)=Ctrl+F5
command.save.before.0.$(file.patterns.au3)=1
