comparison runtime/syntax/nsis.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:76efa0be13f1
1 " Vim syntax file
2 " Language: NSIS script, for version of NSIS 1.91 and later
3 " Maintainer: Alex Jakushev <Alex.Jakushev@kemek.lt>
4 " Last Change: 2004 May 12
5
6 " For version 5.x: Clear all syntax items
7 " For version 6.x: Quit when a syntax file was already loaded
8 if version < 600
9 syntax clear
10 elseif exists("b:current_syntax")
11 finish
12 endif
13
14 syn case ignore
15
16
17 "COMMENTS
18 syn keyword nsisTodo todo attention note fixme readme
19 syn region nsisComment start=";" end="$" contains=nsisTodo
20 syn region nsisComment start="#" end="$" contains=nsisTodo
21
22 "LABELS
23 syn match nsisLocalLabel "\a\S\{-}:"
24 syn match nsisGlobalLabel "\.\S\{-1,}:"
25
26 "PREPROCESSOR
27 syn match nsisPreprocSubst "${.\{-}}"
28 syn match nsisDefine "!define\>"
29 syn match nsisDefine "!undef\>"
30 syn match nsisPreCondit "!ifdef\>"
31 syn match nsisPreCondit "!ifndef\>"
32 syn match nsisPreCondit "!endif\>"
33 syn match nsisPreCondit "!else\>"
34 syn match nsisMacro "!macro\>"
35 syn match nsisMacro "!macroend\>"
36 syn match nsisMacro "!insertmacro\>"
37
38 "COMPILER UTILITY
39 syn match nsisInclude "!include\>"
40 syn match nsisSystem "!cd\>"
41 syn match nsisSystem "!system\>"
42 syn match nsisSystem "!packhdr\>"
43
44 "VARIABLES
45 syn match nsisUserVar "$\d"
46 syn match nsisUserVar "$R\d"
47 syn match nsisSysVar "$INSTDIR"
48 syn match nsisSysVar "$OUTDIR"
49 syn match nsisSysVar "$CMDLINE"
50 syn match nsisSysVar "$PROGRAMFILES"
51 syn match nsisSysVar "$DESKTOP"
52 syn match nsisSysVar "$EXEDIR"
53 syn match nsisSysVar "$WINDIR"
54 syn match nsisSysVar "$SYSDIR"
55 syn match nsisSysVar "$TEMP"
56 syn match nsisSysVar "$STARTMENU"
57 syn match nsisSysVar "$SMPROGRAMS"
58 syn match nsisSysVar "$SMSTARTUP"
59 syn match nsisSysVar "$QUICKLAUNCH"
60 syn match nsisSysVar "$HWNDPARENT"
61 syn match nsisSysVar "$\\r"
62 syn match nsisSysVar "$\\n"
63 syn match nsisSysVar "$\$"
64
65 "STRINGS
66 syn region nsisString start=/"/ skip=/'\|`/ end=/"/ contains=nsisPreprocSubst,nsisUserVar,nsisSysVar,nsisRegistry
67 syn region nsisString start=/'/ skip=/"\|`/ end=/'/ contains=nsisPreprocSubst,nsisUserVar,nsisSysVar,nsisRegistry
68 syn region nsisString start=/`/ skip=/"\|'/ end=/`/ contains=nsisPreprocSubst,nsisUserVar,nsisSysVar,nsisRegistry
69
70 "CONSTANTS
71 syn keyword nsisBoolean true false on off
72
73 syn keyword nsisAttribOptions hide show nevershow auto force try ifnewer normal silent silentlog
74 syn keyword nsisAttribOptions smooth colored SET CUR END RO none listonly textonly both current all
75 syn keyword nsisAttribOptions zlib bzip2 lzma
76
77 syn match nsisAttribOptions '\/NOCUSTOM'
78 syn match nsisAttribOptions '\/CUSTOMSTRING'
79 syn match nsisAttribOptions '\/COMPONENTSONLYONCUSTOM'
80 syn match nsisAttribOptions '\/windows'
81 syn match nsisAttribOptions '\/r'
82 syn match nsisAttribOptions '\/oname'
83 syn match nsisAttribOptions '\/REBOOTOK'
84 syn match nsisAttribOptions '\/SILENT'
85 syn match nsisAttribOptions '\/FILESONLY'
86 syn match nsisAttribOptions '\/SHORT'
87
88 syn keyword nsisExecShell SW_SHOWNORMAL SW_SHOWMAXIMIZED SW_SHOWMINIMIZED
89
90 syn keyword nsisRegistry HKCR HKLM HKCU HKU HKCC HKDD HKPD
91 syn keyword nsisRegistry HKEY_CLASSES_ROOT HKEY_LOCAL_MACHINE HKEY_CURRENT_USER HKEY_USERS
92 syn keyword nsisRegistry HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_PERFORMANCE_DATA
93
94 syn keyword nsisFileAttrib NORMAL ARCHIVE HIDDEN OFFLINE READONLY SYSTEM TEMPORARY
95 syn keyword nsisFileAttrib FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN
96 syn keyword nsisFileAttrib FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM
97 syn keyword nsisFileAttrib FILE_ATTRIBUTE_TEMPORARY
98
99 syn keyword nsisMessageBox MB_OK MB_OKCANCEL MB_ABORTRETRYIGNORE MB_RETRYCANCEL MB_YESNO MB_YESNOCANCEL
100 syn keyword nsisMessageBox MB_ICONEXCLAMATION MB_ICONINFORMATION MB_ICONQUESTION MB_ICONSTOP
101 syn keyword nsisMessageBox MB_TOPMOST MB_SETFOREGROUND MB_RIGHT
102 syn keyword nsisMessageBox MB_DEFBUTTON1 MB_DEFBUTTON2 MB_DEFBUTTON3 MB_DEFBUTTON4
103 syn keyword nsisMessageBox IDABORT IDCANCEL IDIGNORE IDNO IDOK IDRETRY IDYES
104
105 syn match nsisNumber "\<[^0]\d*\>"
106 syn match nsisNumber "\<0x\x\+\>"
107 syn match nsisNumber "\<0\o*\>"
108
109
110 "INSTALLER ATTRIBUTES - General installer configuration
111 syn keyword nsisAttribute OutFile Name Caption SubCaption BrandingText Icon
112 syn keyword nsisAttribute WindowIcon BGGradient SilentInstall SilentUnInstall
113 syn keyword nsisAttribute CRCCheck MiscButtonText InstallButtonText FileErrorText
114
115 "INSTALLER ATTRIBUTES - Install directory configuration
116 syn keyword nsisAttribute InstallDir InstallDirRegKey
117
118 "INSTALLER ATTRIBUTES - License page configuration
119 syn keyword nsisAttribute LicenseText LicenseData
120
121 "INSTALLER ATTRIBUTES - Component page configuration
122 syn keyword nsisAttribute ComponentText InstType EnabledBitmap DisabledBitmap SpaceTexts
123
124 "INSTALLER ATTRIBUTES - Directory page configuration
125 syn keyword nsisAttribute DirShow DirText AllowRootDirInstall
126
127 "INSTALLER ATTRIBUTES - Install page configuration
128 syn keyword nsisAttribute InstallColors InstProgressFlags AutoCloseWindow
129 syn keyword nsisAttribute ShowInstDetails DetailsButtonText CompletedText
130
131 "INSTALLER ATTRIBUTES - Uninstall configuration
132 syn keyword nsisAttribute UninstallText UninstallIcon UninstallCaption
133 syn keyword nsisAttribute UninstallSubCaption ShowUninstDetails UninstallButtonText
134
135 "COMPILER ATTRIBUTES
136 syn keyword nsisCompiler SetOverwrite SetCompress SetCompressor SetDatablockOptimize SetDateSave
137
138
139 "FUNCTIONS - general purpose
140 syn keyword nsisInstruction SetOutPath File Exec ExecWait ExecShell
141 syn keyword nsisInstruction Rename Delete RMDir
142
143 "FUNCTIONS - registry & ini
144 syn keyword nsisInstruction WriteRegStr WriteRegExpandStr WriteRegDWORD WriteRegBin
145 syn keyword nsisInstruction WriteINIStr ReadRegStr ReadRegDWORD ReadINIStr ReadEnvStr
146 syn keyword nsisInstruction ExpandEnvStrings DeleteRegValue DeleteRegKey EnumRegKey
147 syn keyword nsisInstruction EnumRegValue DeleteINISec DeleteINIStr
148
149 "FUNCTIONS - general purpose, advanced
150 syn keyword nsisInstruction CreateDirectory CopyFiles SetFileAttributes CreateShortCut
151 syn keyword nsisInstruction GetFullPathName SearchPath GetTempFileName CallInstDLL
152 syn keyword nsisInstruction RegDLL UnRegDLL GetDLLVersion GetDLLVersionLocal
153 syn keyword nsisInstruction GetFileTime GetFileTimeLocal
154
155 "FUNCTIONS - Branching, flow control, error checking, user interaction, etc instructions
156 syn keyword nsisInstruction Goto Call Return IfErrors ClearErrors SetErrors FindWindow
157 syn keyword nsisInstruction SendMessage IsWindow IfFileExists MessageBox StrCmp
158 syn keyword nsisInstruction IntCmp IntCmpU Abort Quit GetFunctionAddress GetLabelAddress
159 syn keyword nsisInstruction GetCurrentAddress
160
161 "FUNCTIONS - File and directory i/o instructions
162 syn keyword nsisInstruction FindFirst FindNext FindClose FileOpen FileClose FileRead
163 syn keyword nsisInstruction FileWrite FileReadByte FileWriteByte FileSeek
164
165 "FUNCTIONS - Misc instructions
166 syn keyword nsisInstruction SetDetailsView SetDetailsPrint SetAutoClose DetailPrint
167 syn keyword nsisInstruction Sleep BringToFront HideWindow SetShellVarContext
168
169 "FUNCTIONS - String manipulation support
170 syn keyword nsisInstruction StrCpy StrLen
171
172 "FUNCTIONS - Stack support
173 syn keyword nsisInstruction Push Pop Exch
174
175 "FUNCTIONS - Integer manipulation support
176 syn keyword nsisInstruction IntOp IntFmt
177
178 "FUNCTIONS - Rebooting support
179 syn keyword nsisInstruction Reboot IfRebootFlag SetRebootFlag
180
181 "FUNCTIONS - Uninstaller instructions
182 syn keyword nsisInstruction WriteUninstaller
183
184 "FUNCTIONS - Install logging instructions
185 syn keyword nsisInstruction LogSet LogText
186
187 "FUNCTIONS - Section management instructions
188 syn keyword nsisInstruction SectionSetFlags SectionGetFlags SectionSetText
189 syn keyword nsisInstruction SectionGetText
190
191
192 "SPECIAL FUNCTIONS - install
193 syn match nsisCallback "\.onInit"
194 syn match nsisCallback "\.onUserAbort"
195 syn match nsisCallback "\.onInstSuccess"
196 syn match nsisCallback "\.onInstFailed"
197 syn match nsisCallback "\.onVerifyInstDir"
198 syn match nsisCallback "\.onNextPage"
199 syn match nsisCallback "\.onPrevPage"
200 syn match nsisCallback "\.onSelChange"
201
202 "SPECIAL FUNCTIONS - uninstall
203 syn match nsisCallback "un\.onInit"
204 syn match nsisCallback "un\.onUserAbort"
205 syn match nsisCallback "un\.onInstSuccess"
206 syn match nsisCallback "un\.onInstFailed"
207 syn match nsisCallback "un\.onVerifyInstDir"
208 syn match nsisCallback "un\.onNextPage"
209
210
211 "STATEMENTS - sections
212 syn keyword nsisStatement Section SectionIn SectionEnd SectionDivider
213 syn keyword nsisStatement AddSize
214
215 "STATEMENTS - functions
216 syn keyword nsisStatement Function FunctionEnd
217
218 "STATEMENTS - pages
219 syn keyword nsisStatement Page UninstPage PageEx PageExEnc PageCallbacks
220
221
222 "ERROR
223 syn keyword nsisError UninstallExeName
224
225
226 " Define the default highlighting.
227 " For version 5.7 and earlier: only when not done already
228 " For version 5.8 and later: only when an item doesn't have highlighting yet
229 if version >= 508 || !exists("did_nsis_syn_inits")
230
231 if version < 508
232 let did_nsys_syn_inits = 1
233 command -nargs=+ HiLink hi link <args>
234 else
235 command -nargs=+ HiLink hi def link <args>
236 endif
237
238
239 HiLink nsisInstruction Function
240 HiLink nsisComment Comment
241 HiLink nsisLocalLabel Label
242 HiLink nsisGlobalLabel Label
243 HiLink nsisStatement Statement
244 HiLink nsisString String
245 HiLink nsisBoolean Boolean
246 HiLink nsisAttribOptions Constant
247 HiLink nsisExecShell Constant
248 HiLink nsisFileAttrib Constant
249 HiLink nsisMessageBox Constant
250 HiLink nsisRegistry Identifier
251 HiLink nsisNumber Number
252 HiLink nsisError Error
253 HiLink nsisUserVar Identifier
254 HiLink nsisSysVar Identifier
255 HiLink nsisAttribute Type
256 HiLink nsisCompiler Type
257 HiLink nsisTodo Todo
258 HiLink nsisCallback Operator
259 " preprocessor commands
260 HiLink nsisPreprocSubst PreProc
261 HiLink nsisDefine Define
262 HiLink nsisMacro Macro
263 HiLink nsisPreCondit PreCondit
264 HiLink nsisInclude Include
265 HiLink nsisSystem PreProc
266
267 delcommand HiLink
268 endif
269
270 let b:current_syntax = "nsis"
271