1b6799acdSBram Moolenaar" Vim syntax file
2b6799acdSBram Moolenaar" Language:         AutoHotkey script file
3690afe1fSBram Moolenaar" Maintainer:       Michael Wong
4690afe1fSBram Moolenaar"                   https://github.com/mmikeww/autohotkey.vim
5*cd5c8f82SBram Moolenaar" Latest Revision:  2017-04-03
6690afe1fSBram Moolenaar" Previous Maintainers:       SungHyun Nam <[email protected]>
7690afe1fSBram Moolenaar"                             Nikolai Weibull <[email protected]>
8b6799acdSBram Moolenaar
9b6799acdSBram Moolenaarif exists("b:current_syntax")
10b6799acdSBram Moolenaar  finish
11b6799acdSBram Moolenaarendif
12b6799acdSBram Moolenaar
13b6799acdSBram Moolenaarlet s:cpo_save = &cpo
14b6799acdSBram Moolenaarset cpo&vim
15b6799acdSBram Moolenaar
16b6799acdSBram Moolenaarsyn case ignore
17b6799acdSBram Moolenaar
18b6799acdSBram Moolenaarsyn keyword autohotkeyTodo
19b6799acdSBram Moolenaar      \ contained
20b6799acdSBram Moolenaar      \ TODO FIXME XXX NOTE
21b6799acdSBram Moolenaar
22690afe1fSBram Moolenaar" only these chars are valid as escape sequences:   ,%`;nrbtvaf
23690afe1fSBram Moolenaar" https://autohotkey.com/docs/commands/_EscapeChar.htm
24b6799acdSBram Moolenaarsyn match   autohotkeyEscape
25b6799acdSBram Moolenaar      \ display
26690afe1fSBram Moolenaar      \ '`[,%`;nrbtvaf]'
27b6799acdSBram Moolenaar
28b6799acdSBram Moolenaarsyn region autohotkeyString
29b6799acdSBram Moolenaar      \ display
30b6799acdSBram Moolenaar      \ oneline
31b6799acdSBram Moolenaar      \ matchgroup=autohotkeyStringDelimiter
32b6799acdSBram Moolenaar      \ start=+"+
33b6799acdSBram Moolenaar      \ end=+"+
34b6799acdSBram Moolenaar      \ contains=autohotkeyEscape
35b6799acdSBram Moolenaar
36690afe1fSBram Moolenaarsyn match autohotkeyVariable
37b6799acdSBram Moolenaar      \ display
38b6799acdSBram Moolenaar      \ oneline
39b6799acdSBram Moolenaar      \ contains=autohotkeyBuiltinVariable
40b6799acdSBram Moolenaar      \ keepend
41690afe1fSBram Moolenaar      \ '%\S\{-}%'
42b6799acdSBram Moolenaar
43b6799acdSBram Moolenaarsyn keyword autohotkeyBuiltinVariable
44b6799acdSBram Moolenaar      \ A_Space A_Tab
45690afe1fSBram Moolenaar      \ A_WorkingDir A_ScriptDir A_ScriptName A_ScriptFullPath A_ScriptHwnd A_LineNumber
46690afe1fSBram Moolenaar      \ A_LineFile A_ThisFunc A_ThisLabel A_AhkVersion A_AhkPath A_IsUnicode A_IsCompiled A_ExitReason
47690afe1fSBram Moolenaar      \ A_YYYY A_MM A_DD A_MMMM A_MMM A_DDDD A_DDD A_WDay A_YDay A_YWeek A_Hour A_Min
48690afe1fSBram Moolenaar      \ A_Mon A_Year A_MDay A_NumBatchLines
49b6799acdSBram Moolenaar      \ A_Sec A_MSec A_Now A_NowUTC A_TickCount
50690afe1fSBram Moolenaar      \ A_IsSuspended A_IsPaused A_IsCritical A_BatchLines A_TitleMatchMode A_TitleMatchModeSpeed
51690afe1fSBram Moolenaar      \ A_DetectHiddenWindows A_DetectHiddenText A_AutoTrim A_StringCaseSense
52690afe1fSBram Moolenaar      \ A_FileEncoding A_FormatInteger A_FormatFloat A_KeyDelay A_WinDelay A_ControlDelay
53690afe1fSBram Moolenaar      \ A_SendMode A_SendLevel A_StoreCapsLockMode A_KeyDelay A_KeyDelayDuration
54690afe1fSBram Moolenaar      \ A_KeyDelayPlay A_KeyDelayPlayDuration A_MouseDelayPlay
55690afe1fSBram Moolenaar      \ A_MouseDelay A_DefaultMouseSpeed A_RegView A_IconHidden A_IconTip A_IconFile
56690afe1fSBram Moolenaar      \ A_CoordModeToolTip A_CoordModePixel A_CoordModeMouse A_CoordModeCaret A_CoordModeMenu
57b6799acdSBram Moolenaar      \ A_IconNumber
58690afe1fSBram Moolenaar      \ A_TimeIdle A_TimeIdlePhysical A_DefaultGui A_DefaultListView A_DefaultTreeView
59b6799acdSBram Moolenaar      \ A_Gui A_GuiControl A_GuiWidth A_GuiHeight A_GuiX A_GuiY A_GuiEvent
60b6799acdSBram Moolenaar      \ A_GuiControlEvent A_EventInfo
61b6799acdSBram Moolenaar      \ A_ThisMenuItem A_ThisMenu A_ThisMenuItemPos A_ThisHotkey A_PriorHotkey
62690afe1fSBram Moolenaar      \ A_PriorKey A_TimeSinceThisHotkey A_TimeSincePriorHotkey A_EndChar
63b6799acdSBram Moolenaar      \ ComSpec A_Temp A_OSType A_OSVersion A_Language A_ComputerName A_UserName
64690afe1fSBram Moolenaar      \ A_Is64BitOS A_PtrSize
65b6799acdSBram Moolenaar      \ A_WinDir A_ProgramFiles ProgramFiles A_AppData A_AppDataCommon A_Desktop
66b6799acdSBram Moolenaar      \ A_DesktopCommon A_StartMenu A_StartMenuCommon A_Programs
67b6799acdSBram Moolenaar      \ A_ProgramsCommon A_Startup A_StartupCommon A_MyDocuments A_IsAdmin
68690afe1fSBram Moolenaar      \ A_ScreenWidth A_ScreenHeight A_ScreenDPI A_IPAddress1 A_IPAddress2 A_IPAddress3
69b6799acdSBram Moolenaar      \ A_IPAddress4
70b6799acdSBram Moolenaar      \ A_Cursor A_CaretX A_CaretY Clipboard ClipboardAll ErrorLevel A_LastError
71b6799acdSBram Moolenaar      \ A_Index A_LoopFileName A_LoopRegName A_LoopReadLine A_LoopField
72690afe1fSBram Moolenaar      \ A_LoopFileExt A_LoopFileFullPath A_LoopFileLongPath A_LoopFileShortPath
73690afe1fSBram Moolenaar      \ A_LoopFileShortName A_LoopFileDir A_LoopFileTimeModified A_LoopFileTimeCreated
74690afe1fSBram Moolenaar      \ A_LoopFileTimeAccessed A_LoopFileAttrib A_LoopFileSize A_LoopFileSizeKB A_LoopFileSizeMB
75690afe1fSBram Moolenaar      \ A_LoopRegType A_LoopRegKey A_LoopRegSubKey A_LoopRegTimeModified
76b6799acdSBram Moolenaar
77b6799acdSBram Moolenaarsyn match   autohotkeyBuiltinVariable
78b6799acdSBram Moolenaar      \ contained
79b6799acdSBram Moolenaar      \ display
80b6799acdSBram Moolenaar      \ '%\d\+%'
81b6799acdSBram Moolenaar
82b6799acdSBram Moolenaarsyn keyword autohotkeyCommand
83b6799acdSBram Moolenaar      \ ClipWait EnvGet EnvSet EnvUpdate
84b6799acdSBram Moolenaar      \ Drive DriveGet DriveSpaceFree FileAppend FileCopy FileCopyDir
85690afe1fSBram Moolenaar      \ FileCreateDir FileCreateShortcut FileDelete FileGetAttrib FileEncoding
86b6799acdSBram Moolenaar      \ FileGetShortcut FileGetSize FileGetTime FileGetVersion FileInstall
87b6799acdSBram Moolenaar      \ FileMove FileMoveDir FileReadLine FileRead FileRecycle FileRecycleEmpty
88b6799acdSBram Moolenaar      \ FileRemoveDir FileSelectFolder FileSelectFile FileSetAttrib FileSetTime
89b6799acdSBram Moolenaar      \ IniDelete IniRead IniWrite SetWorkingDir
90b6799acdSBram Moolenaar      \ SplitPath
91b6799acdSBram Moolenaar      \ Gui GuiControl GuiControlGet IfMsgBox InputBox MsgBox Progress
92b6799acdSBram Moolenaar      \ SplashImage SplashTextOn SplashTextOff ToolTip TrayTip
93b6799acdSBram Moolenaar      \ Hotkey ListHotkeys BlockInput ControlSend ControlSendRaw GetKeyState
94b6799acdSBram Moolenaar      \ KeyHistory KeyWait Input Send SendRaw SendInput SendPlay SendEvent
95b6799acdSBram Moolenaar      \ SendMode SetKeyDelay SetNumScrollCapsLockState SetStoreCapslockMode
96b6799acdSBram Moolenaar      \ EnvAdd EnvDiv EnvMult EnvSub Random SetFormat Transform
97b6799acdSBram Moolenaar      \ AutoTrim BlockInput CoordMode Critical Edit ImageSearch
98b6799acdSBram Moolenaar      \ ListLines ListVars Menu OutputDebug PixelGetColor PixelSearch
99b6799acdSBram Moolenaar      \ SetBatchLines SetEnv SetTimer SysGet Thread Transform URLDownloadToFile
100b6799acdSBram Moolenaar      \ Click ControlClick MouseClick MouseClickDrag MouseGetPos MouseMove
101b6799acdSBram Moolenaar      \ SetDefaultMouseSpeed SetMouseDelay
102b6799acdSBram Moolenaar      \ Process Run RunWait RunAs Shutdown Sleep
103b6799acdSBram Moolenaar      \ RegDelete RegRead RegWrite
104b6799acdSBram Moolenaar      \ SoundBeep SoundGet SoundGetWaveVolume SoundPlay SoundSet
105b6799acdSBram Moolenaar      \ SoundSetWaveVolume
106b6799acdSBram Moolenaar      \ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos
107b6799acdSBram Moolenaar      \ StringLeft StringRight StringLower StringUpper StringMid StringReplace
108690afe1fSBram Moolenaar      \ StringSplit StringTrimLeft StringTrimRight StringLen
109*cd5c8f82SBram Moolenaar      \ StrSplit StrReplace Throw
110b6799acdSBram Moolenaar      \ Control ControlClick ControlFocus ControlGet ControlGetFocus
111b6799acdSBram Moolenaar      \ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw
112b6799acdSBram Moolenaar      \ ControlSetText Menu PostMessage SendMessage SetControlDelay
113b6799acdSBram Moolenaar      \ WinMenuSelectItem GroupActivate GroupAdd GroupClose GroupDeactivate
114b6799acdSBram Moolenaar      \ DetectHiddenText DetectHiddenWindows SetTitleMatchMode SetWinDelay
115b6799acdSBram Moolenaar      \ StatusBarGetText StatusBarWait WinActivate WinActivateBottom WinClose
116b6799acdSBram Moolenaar      \ WinGet WinGetActiveStats WinGetActiveTitle WinGetClass WinGetPos
117b6799acdSBram Moolenaar      \ WinGetText WinGetTitle WinHide WinKill WinMaximize WinMinimize
118b6799acdSBram Moolenaar      \ WinMinimizeAll WinMinimizeAllUndo WinMove WinRestore WinSet
119b6799acdSBram Moolenaar      \ WinSetTitle WinShow WinWait WinWaitActive WinWaitNotActive WinWaitClose
120690afe1fSBram Moolenaar      \ SetCapsLockState SetNumLockState SetScrollLockState
121b6799acdSBram Moolenaar
122b6799acdSBram Moolenaarsyn keyword autohotkeyFunction
123*cd5c8f82SBram Moolenaar      \ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr Func
124b6799acdSBram Moolenaar      \ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage
125b6799acdSBram Moolenaar      \ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan
126690afe1fSBram Moolenaar      \ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback
127690afe1fSBram Moolenaar      \ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen
128690afe1fSBram Moolenaar      \ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet
129690afe1fSBram Moolenaar      \ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject
130*cd5c8f82SBram Moolenaar      \ Format Exception
131b6799acdSBram Moolenaar
132b6799acdSBram Moolenaarsyn keyword autohotkeyStatement
133b6799acdSBram Moolenaar      \ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return
134*cd5c8f82SBram Moolenaar      \ Suspend Reload new class extends
135b6799acdSBram Moolenaar
136b6799acdSBram Moolenaarsyn keyword autohotkeyRepeat
137b6799acdSBram Moolenaar      \ Loop
138b6799acdSBram Moolenaar
139b6799acdSBram Moolenaarsyn keyword autohotkeyConditional
140b6799acdSBram Moolenaar      \ IfExist IfNotExist If IfEqual IfLess IfGreater Else
141690afe1fSBram Moolenaar      \ IfWinExist IfWinNotExist IfWinActive IfWinNotActive
142690afe1fSBram Moolenaar      \ IfNotEqual IfLessOrEqual IfGreaterOrEqual
143*cd5c8f82SBram Moolenaar      \ while until for in try catch finally
144b6799acdSBram Moolenaar
145b6799acdSBram Moolenaarsyn match   autohotkeyPreProcStart
146b6799acdSBram Moolenaar      \ nextgroup=
147b6799acdSBram Moolenaar      \   autohotkeyInclude,
148b6799acdSBram Moolenaar      \   autohotkeyPreProc
149b6799acdSBram Moolenaar      \ skipwhite
150b6799acdSBram Moolenaar      \ display
151b6799acdSBram Moolenaar      \ '^\s*\zs#'
152b6799acdSBram Moolenaar
153b6799acdSBram Moolenaarsyn keyword autohotkeyInclude
154b6799acdSBram Moolenaar      \ contained
155b6799acdSBram Moolenaar      \ Include
156b6799acdSBram Moolenaar      \ IncludeAgain
157b6799acdSBram Moolenaar
158b6799acdSBram Moolenaarsyn keyword autohotkeyPreProc
159b6799acdSBram Moolenaar      \ contained
160b6799acdSBram Moolenaar      \ HotkeyInterval HotKeyModifierTimeout
161b6799acdSBram Moolenaar      \ Hotstring
162b6799acdSBram Moolenaar      \ IfWinActive IfWinNotActive IfWinExist IfWinNotExist
163690afe1fSBram Moolenaar      \ If IfTimeout
164b6799acdSBram Moolenaar      \ MaxHotkeysPerInterval MaxThreads MaxThreadsBuffer MaxThreadsPerHotkey
165b6799acdSBram Moolenaar      \ UseHook InstallKeybdHook InstallMouseHook
166b6799acdSBram Moolenaar      \ KeyHistory
167b6799acdSBram Moolenaar      \ NoTrayIcon SingleInstance
168b6799acdSBram Moolenaar      \ WinActivateForce
169b6799acdSBram Moolenaar      \ AllowSameLineComments
170b6799acdSBram Moolenaar      \ ClipboardTimeout
171b6799acdSBram Moolenaar      \ CommentFlag
172b6799acdSBram Moolenaar      \ ErrorStdOut
173b6799acdSBram Moolenaar      \ EscapeChar
174b6799acdSBram Moolenaar      \ MaxMem
175b6799acdSBram Moolenaar      \ NoEnv
176b6799acdSBram Moolenaar      \ Persistent
177690afe1fSBram Moolenaar      \ LTrim
178690afe1fSBram Moolenaar      \ InputLevel
179690afe1fSBram Moolenaar      \ MenuMaskKey
180690afe1fSBram Moolenaar      \ Warn
181b6799acdSBram Moolenaar
182b6799acdSBram Moolenaarsyn keyword autohotkeyMatchClass
183*cd5c8f82SBram Moolenaar      \ ahk_group ahk_class ahk_id ahk_pid ahk_exe
184b6799acdSBram Moolenaar
185b6799acdSBram Moolenaarsyn match   autohotkeyNumbers
186b6799acdSBram Moolenaar      \ display
187b6799acdSBram Moolenaar      \ transparent
188b6799acdSBram Moolenaar      \ contains=
189b6799acdSBram Moolenaar      \   autohotkeyInteger,
190b6799acdSBram Moolenaar      \   autohotkeyFloat
191b6799acdSBram Moolenaar      \ '\<\d\|\.\d'
192b6799acdSBram Moolenaar
193b6799acdSBram Moolenaarsyn match   autohotkeyInteger
194b6799acdSBram Moolenaar      \ contained
195b6799acdSBram Moolenaar      \ display
196b6799acdSBram Moolenaar      \ '\d\+\>'
197b6799acdSBram Moolenaar
198b6799acdSBram Moolenaarsyn match   autohotkeyInteger
199b6799acdSBram Moolenaar      \ contained
200b6799acdSBram Moolenaar      \ display
201b6799acdSBram Moolenaar      \ '0x\x\+\>'
202b6799acdSBram Moolenaar
203b6799acdSBram Moolenaarsyn match   autohotkeyFloat
204b6799acdSBram Moolenaar      \ contained
205b6799acdSBram Moolenaar      \ display
206b6799acdSBram Moolenaar      \ '\d\+\.\d*\|\.\d\+\>'
207b6799acdSBram Moolenaar
208b6799acdSBram Moolenaarsyn keyword autohotkeyType
209b6799acdSBram Moolenaar      \ local
210b6799acdSBram Moolenaar      \ global
211690afe1fSBram Moolenaar      \ static
212690afe1fSBram Moolenaar      \ byref
213b6799acdSBram Moolenaar
214f233048aSBram Moolenaarsyn keyword autohotkeyBoolean
215f233048aSBram Moolenaar      \ true
216f233048aSBram Moolenaar      \ false
217f233048aSBram Moolenaar
218690afe1fSBram Moolenaarsyn match   autohotkeyHotkey
219690afe1fSBram Moolenaar      \ contains=autohotkeyKey,
220690afe1fSBram Moolenaar      \   autohotkeyHotkeyDelimiter
221690afe1fSBram Moolenaar      \ display
222*cd5c8f82SBram Moolenaar      \ '^\s*\S*\%( Up\)\?::'
223690afe1fSBram Moolenaar
224690afe1fSBram Moolenaarsyn match   autohotkeyKey
225690afe1fSBram Moolenaar      \ contained
226690afe1fSBram Moolenaar      \ display
227690afe1fSBram Moolenaar      \ '^.\{-}'
228690afe1fSBram Moolenaar
229690afe1fSBram Moolenaarsyn match   autohotkeyDelimiter
230690afe1fSBram Moolenaar      \ contained
231690afe1fSBram Moolenaar      \ display
232690afe1fSBram Moolenaar      \ '::'
233690afe1fSBram Moolenaar
234690afe1fSBram Moolenaar" allowable hotstring options:
235690afe1fSBram Moolenaar" https://autohotkey.com/docs/Hotstrings.htm
236690afe1fSBram Moolenaarsyn match   autohotkeyHotstringDefinition
237690afe1fSBram Moolenaar      \ contains=autohotkeyHotstring,
238690afe1fSBram Moolenaar      \   autohotkeyHotstringDelimiter
239690afe1fSBram Moolenaar      \ display
240690afe1fSBram Moolenaar      \ '^\s*:\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:.\{-}::'
241690afe1fSBram Moolenaar
242690afe1fSBram Moolenaarsyn match   autohotkeyHotstring
243690afe1fSBram Moolenaar      \ contained
244690afe1fSBram Moolenaar      \ display
245690afe1fSBram Moolenaar      \ '.\{-}'
246690afe1fSBram Moolenaar
247690afe1fSBram Moolenaarsyn match   autohotkeyHotstringDelimiter
248690afe1fSBram Moolenaar      \ contained
249690afe1fSBram Moolenaar      \ display
250690afe1fSBram Moolenaar      \ '::'
251690afe1fSBram Moolenaar
252690afe1fSBram Moolenaarsyn match   autohotkeyHotstringDelimiter
253690afe1fSBram Moolenaar      \ contains=autohotkeyHotstringOptions
254690afe1fSBram Moolenaar      \ contained
255690afe1fSBram Moolenaar      \ display
256690afe1fSBram Moolenaar      \ ':\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:'
257690afe1fSBram Moolenaar
258690afe1fSBram Moolenaarsyn match   autohotkeyHotstringOptions
259690afe1fSBram Moolenaar      \ contained
260690afe1fSBram Moolenaar      \ display
261690afe1fSBram Moolenaar      \ '\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*'
262690afe1fSBram Moolenaar
263690afe1fSBram Moolenaarsyn cluster autohotkeyCommentGroup
264690afe1fSBram Moolenaar      \ contains=
265690afe1fSBram Moolenaar      \   autohotkeyTodo,
266690afe1fSBram Moolenaar      \   @Spell
267690afe1fSBram Moolenaar
268690afe1fSBram Moolenaarsyn match   autohotkeyComment
269690afe1fSBram Moolenaar      \ display
270690afe1fSBram Moolenaar      \ contains=@autohotkeyCommentGroup
271690afe1fSBram Moolenaar      \ '\%(^;\|\s\+;\).*$'
272690afe1fSBram Moolenaar
273690afe1fSBram Moolenaarsyn region  autohotkeyComment
274690afe1fSBram Moolenaar      \ contains=@autohotkeyCommentGroup
275690afe1fSBram Moolenaar      \ matchgroup=autohotkeyCommentStart
276690afe1fSBram Moolenaar      \ start='^\s*/\*'
277690afe1fSBram Moolenaar      \ end='^\s*\*/'
278690afe1fSBram Moolenaar
279e37d50a5SBram Moolenaar" TODO: Shouldn't we look for g:, b:,  variables before defaulting to
280e37d50a5SBram Moolenaar" something?
281e37d50a5SBram Moolenaarif exists("g:autohotkey_syntax_sync_minlines")
282e37d50a5SBram Moolenaar  let b:autohotkey_syntax_sync_minlines = g:autohotkey_syntax_sync_minlines
283e37d50a5SBram Moolenaarelse
284e37d50a5SBram Moolenaar  let b:autohotkey_syntax_sync_minlines = 50
285e37d50a5SBram Moolenaarendif
286e37d50a5SBram Moolenaarexec "syn sync ccomment autohotkeyComment minlines=" . b:autohotkey_syntax_sync_minlines
287e37d50a5SBram Moolenaar
288b6799acdSBram Moolenaarhi def link autohotkeyTodo                Todo
289b6799acdSBram Moolenaarhi def link autohotkeyComment             Comment
290b6799acdSBram Moolenaarhi def link autohotkeyCommentStart        autohotkeyComment
291b6799acdSBram Moolenaarhi def link autohotkeyEscape              Special
292b6799acdSBram Moolenaarhi def link autohotkeyHotkey              Type
293b6799acdSBram Moolenaarhi def link autohotkeyKey                 Type
294b6799acdSBram Moolenaarhi def link autohotkeyDelimiter           Delimiter
295b6799acdSBram Moolenaarhi def link autohotkeyHotstringDefinition Type
296b6799acdSBram Moolenaarhi def link autohotkeyHotstring           Type
297b6799acdSBram Moolenaarhi def link autohotkeyHotstringDelimiter  autohotkeyDelimiter
298b6799acdSBram Moolenaarhi def link autohotkeyHotstringOptions    Special
299b6799acdSBram Moolenaarhi def link autohotkeyString              String
300b6799acdSBram Moolenaarhi def link autohotkeyStringDelimiter     autohotkeyString
301b6799acdSBram Moolenaarhi def link autohotkeyVariable            Identifier
302b6799acdSBram Moolenaarhi def link autohotkeyVariableDelimiter   autohotkeyVariable
303b6799acdSBram Moolenaarhi def link autohotkeyBuiltinVariable     Macro
304b6799acdSBram Moolenaarhi def link autohotkeyCommand             Keyword
305b6799acdSBram Moolenaarhi def link autohotkeyFunction            Function
306b6799acdSBram Moolenaarhi def link autohotkeyStatement           autohotkeyCommand
307b6799acdSBram Moolenaarhi def link autohotkeyRepeat              Repeat
308b6799acdSBram Moolenaarhi def link autohotkeyConditional         Conditional
309b6799acdSBram Moolenaarhi def link autohotkeyPreProcStart        PreProc
310b6799acdSBram Moolenaarhi def link autohotkeyInclude             Include
311b6799acdSBram Moolenaarhi def link autohotkeyPreProc             PreProc
312b6799acdSBram Moolenaarhi def link autohotkeyMatchClass          Typedef
313b6799acdSBram Moolenaarhi def link autohotkeyNumber              Number
314b6799acdSBram Moolenaarhi def link autohotkeyInteger             autohotkeyNumber
315b6799acdSBram Moolenaarhi def link autohotkeyFloat               autohotkeyNumber
316b6799acdSBram Moolenaarhi def link autohotkeyType                Type
317f233048aSBram Moolenaarhi def link autohotkeyBoolean             Boolean
318b6799acdSBram Moolenaar
319b6799acdSBram Moolenaarlet b:current_syntax = "autohotkey"
320b6799acdSBram Moolenaar
321b6799acdSBram Moolenaarlet &cpo = s:cpo_save
322b6799acdSBram Moolenaarunlet s:cpo_save
323