blob: 764f94b11a9cef88983bf480cbcedba0e99526b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
|
" Vim syntax file
" Language: AutoHotkey script file
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2015-10-29
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case ignore
syn keyword autohotkeyTodo
\ contained
\ TODO FIXME XXX NOTE
syn cluster autohotkeyCommentGroup
\ contains=
\ autohotkeyTodo,
\ @Spell
syn match autohotkeyComment
\ display
\ contains=@autohotkeyCommentGroup
\ '`\@<!;.*$'
syn region autohotkeyComment
\ contains=@autohotkeyCommentGroup
\ matchgroup=autohotkeyCommentStart
\ start='/\*'
\ end='\*/'
syn match autohotkeyEscape
\ display
\ '`.'
syn match autohotkeyHotkey
\ contains=autohotkeyKey,
\ autohotkeyHotkeyDelimiter
\ display
\ '^.\{-}::'
syn match autohotkeyKey
\ contained
\ display
\ '^.\{-}'
syn match autohotkeyDelimiter
\ contained
\ display
\ '::'
syn match autohotkeyHotstringDefinition
\ contains=autohotkeyHotstring,
\ autohotkeyHotstringDelimiter
\ display
\ '^:\%(B0\|C1\|K\d\+\|P\d\+\|S[IPE]\|Z\d\=\|[*?COR]\)*:.\{-}::'
syn match autohotkeyHotstring
\ contained
\ display
\ '.\{-}'
syn match autohotkeyHotstringDelimiter
\ contained
\ display
\ '::'
syn match autohotkeyHotstringDelimiter
\ contains=autohotkeyHotstringOptions
\ contained
\ display
\ ':\%(B0\|C1\|K\d\+\|P\d\+\|S[IPE]\|Z\d\=\|[*?COR]\):'
syn match autohotkeyHotstringOptions
\ contained
\ display
\ '\%(B0\|C1\|K\d\+\|P\d\+\|S[IPE]\|Z\d\=\|[*?COR]\)'
syn region autohotkeyString
\ display
\ oneline
\ matchgroup=autohotkeyStringDelimiter
\ start=+"+
\ end=+"+
\ contains=autohotkeyEscape
syn region autohotkeyVariable
\ display
\ oneline
\ contains=autohotkeyBuiltinVariable
\ matchgroup=autohotkeyVariableDelimiter
\ start="%"
\ end="%"
\ keepend
syn keyword autohotkeyBuiltinVariable
\ A_Space A_Tab
\ A_WorkingDir A_ScriptDir A_ScriptName A_ScriptFullPath A_LineNumber
\ A_LineFile A_AhkVersion A_AhkPAth A_IsCompiled A_ExitReason
\ A_YYYY A_MM A_DD A_MMMM A_MMM A_DDDD A_DDD A_WDay A_YWeek A_Hour A_Min
\ A_Sec A_MSec A_Now A_NowUTC A_TickCount
\ A_IsSuspended A_BatchLines A_TitleMatchMode A_TitleMatchModeSpeed
\ A_DetectHiddenWindows A_DetectHiddenText A_AutoTrim A_STringCaseSense
\ A_FormatInteger A_FormatFloat A_KeyDelay A_WinDelay A_ControlDelay
\ A_MouseDelay A_DefaultMouseSpeed A_IconHidden A_IconTip A_IconFile
\ A_IconNumber
\ A_TimeIdle A_TimeIdlePhysical
\ A_Gui A_GuiControl A_GuiWidth A_GuiHeight A_GuiX A_GuiY A_GuiEvent
\ A_GuiControlEvent A_EventInfo
\ A_ThisMenuItem A_ThisMenu A_ThisMenuItemPos A_ThisHotkey A_PriorHotkey
\ A_TimeSinceThisHotkey A_TimeSincePriorHotkey A_EndChar
\ ComSpec A_Temp A_OSType A_OSVersion A_Language A_ComputerName A_UserName
\ A_WinDir A_ProgramFiles ProgramFiles A_AppData A_AppDataCommon A_Desktop
\ A_DesktopCommon A_StartMenu A_StartMenuCommon A_Programs
\ A_ProgramsCommon A_Startup A_StartupCommon A_MyDocuments A_IsAdmin
\ A_ScreenWidth A_ScreenHeight A_IPAddress1 A_IPAddress2 A_IPAddress3
\ A_IPAddress4
\ A_Cursor A_CaretX A_CaretY Clipboard ClipboardAll ErrorLevel A_LastError
\ A_Index A_LoopFileName A_LoopRegName A_LoopReadLine A_LoopField
syn match autohotkeyBuiltinVariable
\ contained
\ display
\ '%\d\+%'
syn keyword autohotkeyCommand
\ ClipWait EnvGet EnvSet EnvUpdate
\ Drive DriveGet DriveSpaceFree FileAppend FileCopy FileCopyDir
\ FileCreateDir FileCreateShortcut FileDelete FileGetAttrib
\ FileGetShortcut FileGetSize FileGetTime FileGetVersion FileInstall
\ FileMove FileMoveDir FileReadLine FileRead FileRecycle FileRecycleEmpty
\ FileRemoveDir FileSelectFolder FileSelectFile FileSetAttrib FileSetTime
\ IniDelete IniRead IniWrite SetWorkingDir
\ SplitPath
\ Gui GuiControl GuiControlGet IfMsgBox InputBox MsgBox Progress
\ SplashImage SplashTextOn SplashTextOff ToolTip TrayTip
\ Hotkey ListHotkeys BlockInput ControlSend ControlSendRaw GetKeyState
\ KeyHistory KeyWait Input Send SendRaw SendInput SendPlay SendEvent
\ SendMode SetKeyDelay SetNumScrollCapsLockState SetStoreCapslockMode
\ EnvAdd EnvDiv EnvMult EnvSub Random SetFormat Transform
\ AutoTrim BlockInput CoordMode Critical Edit ImageSearch
\ ListLines ListVars Menu OutputDebug PixelGetColor PixelSearch
\ SetBatchLines SetEnv SetTimer SysGet Thread Transform URLDownloadToFile
\ Click ControlClick MouseClick MouseClickDrag MouseGetPos MouseMove
\ SetDefaultMouseSpeed SetMouseDelay
\ Process Run RunWait RunAs Shutdown Sleep
\ RegDelete RegRead RegWrite
\ SoundBeep SoundGet SoundGetWaveVolume SoundPlay SoundSet
\ SoundSetWaveVolume
\ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos
\ StringLeft StringRight StringLower StringUpper StringMid StringReplace
\ StringSplit StringTrimLeft StringTrimRight
\ Control ControlClick ControlFocus ControlGet ControlGetFocus
\ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw
\ ControlSetText Menu PostMessage SendMessage SetControlDelay
\ WinMenuSelectItem GroupActivate GroupAdd GroupClose GroupDeactivate
\ DetectHiddenText DetectHiddenWindows SetTitleMatchMode SetWinDelay
\ StatusBarGetText StatusBarWait WinActivate WinActivateBottom WinClose
\ WinGet WinGetActiveStats WinGetActiveTitle WinGetClass WinGetPos
\ WinGetText WinGetTitle WinHide WinKill WinMaximize WinMinimize
\ WinMinimizeAll WinMinimizeAllUndo WinMove WinRestore WinSet
\ WinSetTitle WinShow WinWait WinWaitActive WinWaitNotActive WinWaitClose
syn keyword autohotkeyFunction
\ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr
\ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage
\ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan
\ FileExist GetKeyState
syn keyword autohotkeyStatement
\ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return
\ Suspend Reload
syn keyword autohotkeyRepeat
\ Loop
syn keyword autohotkeyConditional
\ IfExist IfNotExist If IfEqual IfLess IfGreater Else
\ IfWinExist IfWinNotExist
syn match autohotkeyPreProcStart
\ nextgroup=
\ autohotkeyInclude,
\ autohotkeyPreProc
\ skipwhite
\ display
\ '^\s*\zs#'
syn keyword autohotkeyInclude
\ contained
\ Include
\ IncludeAgain
syn keyword autohotkeyPreProc
\ contained
\ HotkeyInterval HotKeyModifierTimeout
\ Hotstring
\ IfWinActive IfWinNotActive IfWinExist IfWinNotExist
\ MaxHotkeysPerInterval MaxThreads MaxThreadsBuffer MaxThreadsPerHotkey
\ UseHook InstallKeybdHook InstallMouseHook
\ KeyHistory
\ NoTrayIcon SingleInstance
\ WinActivateForce
\ AllowSameLineComments
\ ClipboardTimeout
\ CommentFlag
\ ErrorStdOut
\ EscapeChar
\ MaxMem
\ NoEnv
\ Persistent
syn keyword autohotkeyMatchClass
\ ahk_group ahk_class ahk_id ahk_pid
syn match autohotkeyNumbers
\ display
\ transparent
\ contains=
\ autohotkeyInteger,
\ autohotkeyFloat
\ '\<\d\|\.\d'
syn match autohotkeyInteger
\ contained
\ display
\ '\d\+\>'
syn match autohotkeyInteger
\ contained
\ display
\ '0x\x\+\>'
syn match autohotkeyFloat
\ contained
\ display
\ '\d\+\.\d*\|\.\d\+\>'
syn keyword autohotkeyType
\ local
\ global
syn keyword autohotkeyBoolean
\ true
\ false
" TODO: Shouldn't we look for g:, b:, variables before defaulting to
" something?
if exists("g:autohotkey_syntax_sync_minlines")
let b:autohotkey_syntax_sync_minlines = g:autohotkey_syntax_sync_minlines
else
let b:autohotkey_syntax_sync_minlines = 50
endif
exec "syn sync ccomment autohotkeyComment minlines=" . b:autohotkey_syntax_sync_minlines
hi def link autohotkeyTodo Todo
hi def link autohotkeyComment Comment
hi def link autohotkeyCommentStart autohotkeyComment
hi def link autohotkeyEscape Special
hi def link autohotkeyHotkey Type
hi def link autohotkeyKey Type
hi def link autohotkeyDelimiter Delimiter
hi def link autohotkeyHotstringDefinition Type
hi def link autohotkeyHotstring Type
hi def link autohotkeyHotstringDelimiter autohotkeyDelimiter
hi def link autohotkeyHotstringOptions Special
hi def link autohotkeyString String
hi def link autohotkeyStringDelimiter autohotkeyString
hi def link autohotkeyVariable Identifier
hi def link autohotkeyVariableDelimiter autohotkeyVariable
hi def link autohotkeyBuiltinVariable Macro
hi def link autohotkeyCommand Keyword
hi def link autohotkeyFunction Function
hi def link autohotkeyStatement autohotkeyCommand
hi def link autohotkeyRepeat Repeat
hi def link autohotkeyConditional Conditional
hi def link autohotkeyPreProcStart PreProc
hi def link autohotkeyInclude Include
hi def link autohotkeyPreProc PreProc
hi def link autohotkeyMatchClass Typedef
hi def link autohotkeyNumber Number
hi def link autohotkeyInteger autohotkeyNumber
hi def link autohotkeyFloat autohotkeyNumber
hi def link autohotkeyType Type
hi def link autohotkeyBoolean Boolean
let b:current_syntax = "autohotkey"
let &cpo = s:cpo_save
unlet s:cpo_save
|