1" Vim syntax file 2" Language: NSIS script, for version of NSIS 3.03 and later 3" Maintainer: Ken Takata 4" URL: https://github.com/k-takata/vim-nsis 5" Previous Maintainer: Alex Jakushev <[email protected]> 6" Last Change: 2018-02-07 7 8" quit when a syntax file was already loaded 9if exists("b:current_syntax") 10 finish 11endif 12 13let s:cpo_save = &cpo 14set cpo&vim 15 16syn case ignore 17 18 19"Pseudo definitions 20syn match nsisLine nextgroup=@nsisPseudoStatement skipwhite "^" 21syn cluster nsisPseudoStatement contains=nsisFirstComment,nsisLocalLabel,nsisGlobalLabel 22syn cluster nsisPseudoStatement add=nsisDefine,nsisPreCondit,nsisMacro,nsisInclude,nsisSystem 23syn cluster nsisPseudoStatement add=nsisAttribute,nsisCompiler,nsisVersionInfo,nsisInstruction,nsisStatement 24 25"COMMENTS (4.1) 26syn keyword nsisTodo todo attention note fixme readme 27syn region nsisComment start="[;#]" end="$" contains=nsisTodo,nsisLineContinuation,@Spell oneline 28syn region nsisComment start=".\@1<=/\*" end="\*/" contains=nsisTodo,@Spell 29syn region nsisFirstComment start="/\*" end="\*/" contained contains=nsisTodo,@Spell skipwhite 30 \ nextgroup=@nsisPseudoStatement 31 32syn match nsisLineContinuation "\\$" 33 34"STRINGS (4.1) 35syn region nsisString start=/"/ end=/"/ contains=@nsisStringItems,@Spell 36syn region nsisString start=/'/ end=/'/ contains=@nsisStringItems,@Spell 37syn region nsisString start=/`/ end=/`/ contains=@nsisStringItems,@Spell 38 39syn cluster nsisStringItems contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar,nsisUserVar,nsisSysVar,nsisRegistry,nsisLineContinuation 40 41"NUMBERS (4.1) 42syn match nsisNumber "\<[1-9]\d*\>" 43syn match nsisNumber "\<0x\x\+\>" 44syn match nsisNumber "\<0\o*\>" 45 46"STRING REPLACEMENT (5.4, 4.9.15.2, 5.3.1) 47syn region nsisPreprocSubst start="\${" end="}" contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar 48syn region nsisPreprocLangStr start="\$(" end=")" contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar 49syn region nsisPreprocEnvVar start="\$%" end="%" contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar 50 51"VARIABLES (4.2.2) 52syn match nsisUserVar "$\d" 53syn match nsisUserVar "$R\d" 54syn match nsisSysVar "$INSTDIR" 55syn match nsisSysVar "$OUTDIR" 56syn match nsisSysVar "$CMDLINE" 57syn match nsisSysVar "$LANGUAGE" 58"CONSTANTS (4.2.3) 59syn match nsisSysVar "$PROGRAMFILES" 60syn match nsisSysVar "$PROGRAMFILES32" 61syn match nsisSysVar "$PROGRAMFILES64" 62syn match nsisSysVar "$COMMONFILES" 63syn match nsisSysVar "$COMMONFILES32" 64syn match nsisSysVar "$COMMONFILES64" 65syn match nsisSysVar "$DESKTOP" 66syn match nsisSysVar "$EXEDIR" 67syn match nsisSysVar "$EXEFILE" 68syn match nsisSysVar "$EXEPATH" 69syn match nsisSysVar "${NSISDIR}" 70syn match nsisSysVar "$WINDIR" 71syn match nsisSysVar "$SYSDIR" 72syn match nsisSysVar "$TEMP" 73syn match nsisSysVar "$STARTMENU" 74syn match nsisSysVar "$SMPROGRAMS" 75syn match nsisSysVar "$SMSTARTUP" 76syn match nsisSysVar "$QUICKLAUNCH" 77syn match nsisSysVar "$DOCUMENTS" 78syn match nsisSysVar "$SENDTO" 79syn match nsisSysVar "$RECENT" 80syn match nsisSysVar "$FAVORITES" 81syn match nsisSysVar "$MUSIC" 82syn match nsisSysVar "$PICTURES" 83syn match nsisSysVar "$VIDEOS" 84syn match nsisSysVar "$NETHOOD" 85syn match nsisSysVar "$FONTS" 86syn match nsisSysVar "$TEMPLATES" 87syn match nsisSysVar "$APPDATA" 88syn match nsisSysVar "$LOCALAPPDATA" 89syn match nsisSysVar "$PRINTHOOD" 90syn match nsisSysVar "$INTERNET_CACHE" 91syn match nsisSysVar "$COOKIES" 92syn match nsisSysVar "$HISTORY" 93syn match nsisSysVar "$PROFILE" 94syn match nsisSysVar "$ADMINTOOLS" 95syn match nsisSysVar "$RESOURCES" 96syn match nsisSysVar "$RESOURCES_LOCALIZED" 97syn match nsisSysVar "$CDBURN_AREA" 98syn match nsisSysVar "$HWNDPARENT" 99syn match nsisSysVar "$PLUGINSDIR" 100syn match nsisSysVar "$\\r" 101syn match nsisSysVar "$\\n" 102syn match nsisSysVar "$\\t" 103syn match nsisSysVar "$\$" 104syn match nsisSysVar "$\\["'`]" 105 106"LABELS (4.3) 107syn match nsisLocalLabel contained "[^-+!$0-9;#. \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)" 108syn match nsisGlobalLabel contained "\.[^-+!$0-9;# \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)" 109 110"CONSTANTS 111syn keyword nsisBoolean contained true false 112syn keyword nsisOnOff contained on off 113 114syn keyword nsisRegistry contained HKCR HKLM HKCU HKU HKCC HKDD HKPD SHCTX 115syn keyword nsisRegistry contained HKCR32 HKCR64 HKCU32 HKCU64 HKLM32 HKLM64 116syn keyword nsisRegistry contained HKEY_CLASSES_ROOT HKEY_LOCAL_MACHINE HKEY_CURRENT_USER HKEY_USERS 117syn keyword nsisRegistry contained HKEY_CLASSES_ROOT32 HKEY_CLASSES_ROOT64 118syn keyword nsisRegistry contained HKEY_CURRENT_USER32 HKEY_CURRENT_USER64 119syn keyword nsisRegistry contained HKEY_LOCAL_MACHINE32 HKEY_LOCAL_MACHINE64 120syn keyword nsisRegistry contained HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_PERFORMANCE_DATA 121syn keyword nsisRegistry contained SHELL_CONTEXT 122 123 124" common options 125syn cluster nsisAnyOpt contains=nsisComment,nsisLineContinuation,nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar,nsisUserVar,nsisSysVar,nsisString,nsisNumber 126syn region nsisBooleanOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBoolean 127syn region nsisOnOffOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisOnOff 128syn region nsisLangOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLangKwd 129syn match nsisLangKwd contained "/LANG\>" 130syn region nsisFontOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFontKwd 131syn match nsisFontKwd contained "/\%(ITALIC\|UNDERLINE\|STRIKE\)\>" 132 133"STATEMENTS - pages (4.5) 134syn keyword nsisStatement contained Page UninstPage nextgroup=nsisPageOpt skipwhite 135syn region nsisPageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPageKwd 136syn keyword nsisPageKwd contained custom license components directory instfiles uninstConfirm 137syn match nsisPageKwd contained "/ENABLECANCEL\>" 138 139syn keyword nsisStatement contained PageEx nextgroup=nsisPageExOpt skipwhite 140syn region nsisPageExOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPageExKwd 141syn match nsisPageExKwd contained "\<\%(un\.\)\?\%(custom\|license\|components\|directory\|instfiles\|uninstConfirm\)\>" 142 143syn keyword nsisStatement contained PageExEnd PageCallbacks 144 145"STATEMENTS - sections (4.6.1) 146syn keyword nsisStatement contained AddSize SectionEnd SectionGroupEnd 147 148syn keyword nsisStatement contained Section nextgroup=nsisSectionOpt skipwhite 149syn region nsisSectionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionKwd 150syn match nsisSectionKwd contained "/o\>" 151 152syn keyword nsisStatement contained SectionIn nextgroup=nsisSectionInOpt skipwhite 153syn region nsisSectionInOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionInKwd 154syn keyword nsisSectionInKwd contained RO 155 156syn keyword nsisStatement contained SectionGroup nextgroup=nsisSectionGroupOpt skipwhite 157syn region nsisSectionGroupOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionGroupKwd 158syn match nsisSectionGroupKwd contained "/e\>" 159 160"STATEMENTS - functions (4.7.1) 161syn keyword nsisStatement contained Function FunctionEnd 162 163 164"STATEMENTS - LogicLib.nsh 165syn match nsisStatement "${If}" 166syn match nsisStatement "${IfNot}" 167syn match nsisStatement "${Unless}" 168syn match nsisStatement "${ElseIf}" 169syn match nsisStatement "${ElseIfNot}" 170syn match nsisStatement "${ElseUnless}" 171syn match nsisStatement "${Else}" 172syn match nsisStatement "${EndIf}" 173syn match nsisStatement "${EndUnless}" 174syn match nsisStatement "${AndIf}" 175syn match nsisStatement "${AndIfNot}" 176syn match nsisStatement "${AndUnless}" 177syn match nsisStatement "${OrIf}" 178syn match nsisStatement "${OrIfNot}" 179syn match nsisStatement "${OrUnless}" 180syn match nsisStatement "${IfThen}" 181syn match nsisStatement "${IfNotThen}" 182syn match nsisStatement "${||\?}" nextgroup=@nsisPseudoStatement skipwhite 183syn match nsisStatement "${IfCmd}" nextgroup=@nsisPseudoStatement skipwhite 184syn match nsisStatement "${Select}" 185syn match nsisStatement "${Case}" 186syn match nsisStatement "${Case[2-5]}" 187syn match nsisStatement "${CaseElse}" 188syn match nsisStatement "${Default}" 189syn match nsisStatement "${EndSelect}" 190syn match nsisStatement "${Switch}" 191syn match nsisStatement "${EndSwitch}" 192syn match nsisStatement "${Break}" 193syn match nsisStatement "${Do}" 194syn match nsisStatement "${DoWhile}" 195syn match nsisStatement "${DoUntil}" 196syn match nsisStatement "${ExitDo}" 197syn match nsisStatement "${Continue}" 198syn match nsisStatement "${Loop}" 199syn match nsisStatement "${LoopWhile}" 200syn match nsisStatement "${LoopUntil}" 201syn match nsisStatement "${For}" 202syn match nsisStatement "${ForEach}" 203syn match nsisStatement "${ExitFor}" 204syn match nsisStatement "${Next}" 205"STATEMENTS - Memento.nsh 206syn match nsisStatement "${MementoSection}" 207syn match nsisStatement "${MementoSectionEnd}" 208 209 210"USER VARIABLES (4.2.1) 211syn keyword nsisInstruction contained Var nextgroup=nsisVarOpt skipwhite 212syn region nsisVarOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisVarKwd 213syn match nsisVarKwd contained "/GLOBAL\>" 214 215"INSTALLER ATTRIBUTES (4.8.1) 216syn keyword nsisAttribute contained Caption ChangeUI CheckBitmap CompletedText ComponentText 217syn keyword nsisAttribute contained DetailsButtonText DirText DirVar 218syn keyword nsisAttribute contained FileErrorText Icon InstallButtonText 219syn keyword nsisAttribute contained InstallDir InstProgressFlags 220syn keyword nsisAttribute contained LicenseData LicenseText 221syn keyword nsisAttribute contained MiscButtonText Name OutFile 222syn keyword nsisAttribute contained SpaceTexts SubCaption UninstallButtonText UninstallCaption 223syn keyword nsisAttribute contained UninstallIcon UninstallSubCaption UninstallText 224 225syn keyword nsisAttribute contained AddBrandingImage nextgroup=nsisAddBrandingImageOpt skipwhite 226syn region nsisAddBrandingImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAddBrandingImageKwd 227syn keyword nsisAddBrandingImageKwd contained left right top bottom width height 228 229syn keyword nsisAttribute contained nextgroup=nsisBooleanOpt skipwhite 230 \ AllowRootDirInstall AutoCloseWindow 231 232syn keyword nsisAttribute contained BGFont nextgroup=nsisFontOpt skipwhite 233 234syn keyword nsisAttribute contained BGGradient nextgroup=nsisBGGradientOpt skipwhite 235syn region nsisBGGradientOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBGGradientKwd 236syn keyword nsisBGGradientKwd contained off 237 238syn keyword nsisAttribute contained BrandingText nextgroup=nsisBrandingTextOpt skipwhite 239syn region nsisBrandingTextOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBrandingTextKwd 240syn match nsisBrandingTextKwd contained "/TRIM\%(LEFT\|RIGHT\|CENTER\)\>" 241 242syn keyword nsisAttribute contained CRCCheck nextgroup=nsisCRCCheckOpt skipwhite 243syn region nsisCRCCheckOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCRCCheckKwd 244syn keyword nsisCRCCheckKwd contained on off force 245 246syn keyword nsisAttribute contained DirVerify nextgroup=nsisDirVerifyOpt skipwhite 247syn region nsisDirVerifyOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDirVerifyKwd 248syn keyword nsisDirVerifyKwd contained auto leave 249 250syn keyword nsisAttribute contained InstallColors nextgroup=nsisInstallColorsOpt skipwhite 251syn region nsisInstallColorsOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisInstallColorsKwd 252syn match nsisInstallColorsKwd contained "/windows\>" 253 254syn keyword nsisAttribute contained InstallDirRegKey nextgroup=nsisRegistryOpt skipwhite 255 256syn keyword nsisAttribute contained InstType nextgroup=nsisInstTypeOpt skipwhite 257syn region nsisInstTypeOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisInstTypeKwd 258syn match nsisInstTypeKwd contained "/\%(NOCUSTOM\|CUSTOMSTRING\|COMPONENTSONLYONCUSTOM\)\>" 259 260syn keyword nsisAttribute contained LicenseBkColor nextgroup=nsisLicenseBkColorOpt skipwhite 261syn region nsisLicenseBkColorOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLicenseBkColorKwd 262syn match nsisLicenseBkColorKwd contained "/\%(gray\|windows\)\>" 263 264syn keyword nsisAttribute contained LicenseForceSelection nextgroup=nsisLicenseForceSelectionOpt skipwhite 265syn region nsisLicenseForceSelectionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLicenseForceSelectionKwd 266syn keyword nsisLicenseForceSelectionKwd contained checkbox radiobuttons off 267 268syn keyword nsisAttribute contained ManifestDPIAware nextgroup=nsisManifestDPIAwareOpt skipwhite 269syn region nsisManifestDPIAwareOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestDPIAwareKwd 270syn keyword nsisManifestDPIAwareKwd contained notset true false 271 272syn keyword nsisAttribute contained ManifestSupportedOS nextgroup=nsisManifestSupportedOSOpt skipwhite 273syn region nsisManifestSupportedOSOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestSupportedOSKwd 274syn match nsisManifestSupportedOSKwd contained "\<\%(none\|all\|WinVista\|Win7\|Win8\|Win8\.1\|Win10\)\>" 275 276syn keyword nsisAttribute contained RequestExecutionLevel nextgroup=nsisRequestExecutionLevelOpt skipwhite 277syn region nsisRequestExecutionLevelOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRequestExecutionLevelKwd 278syn keyword nsisRequestExecutionLevelKwd contained none user highest admin 279 280syn keyword nsisAttribute contained SetFont nextgroup=nsisLangOpt skipwhite 281 282syn keyword nsisAttribute contained nextgroup=nsisShowInstDetailsOpt skipwhite 283 \ ShowInstDetails ShowUninstDetails 284syn region nsisShowInstDetailsOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisShowInstDetailsKwd 285syn keyword nsisShowInstDetailsKwd contained hide show nevershow 286 287syn keyword nsisAttribute contained SilentInstall nextgroup=nsisSilentInstallOpt skipwhite 288syn region nsisSilentInstallOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSilentInstallKwd 289syn keyword nsisSilentInstallKwd contained normal silent silentlog 290 291syn keyword nsisAttribute contained SilentUnInstall nextgroup=nsisSilentUnInstallOpt skipwhite 292syn region nsisSilentUnInstallOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSilentUnInstallKwd 293syn keyword nsisSilentUnInstallKwd contained normal silent 294 295syn keyword nsisAttribute contained nextgroup=nsisOnOffOpt skipwhite 296 \ WindowIcon XPStyle 297 298"COMPILER FLAGS (4.8.2) 299syn keyword nsisCompiler contained nextgroup=nsisOnOffOpt skipwhite 300 \ AllowSkipFiles SetDatablockOptimize SetDateSave 301 302syn keyword nsisCompiler contained FileBufSize SetCompressorDictSize 303 304syn keyword nsisCompiler contained SetCompress nextgroup=nsisSetCompressOpt skipwhite 305syn region nsisSetCompressOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCompressKwd 306syn keyword nsisSetCompressKwd contained auto force off 307 308syn keyword nsisCompiler contained SetCompressor nextgroup=nsisSetCompressorOpt skipwhite 309syn region nsisSetCompressorOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCompressorKwd 310syn keyword nsisSetCompressorKwd contained zlib bzip2 lzma 311syn match nsisSetCompressorKwd contained "/\%(SOLID\|FINAL\)" 312 313syn keyword nsisCompiler contained SetOverwrite nextgroup=nsisSetOverwriteOpt skipwhite 314syn region nsisSetOverwriteOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetOverwriteKwd 315syn keyword nsisSetOverwriteKwd contained on off try ifnewer ifdiff lastused 316 317syn keyword nsisCompiler contained Unicode nextgroup=nsisBooleanOpt skipwhite 318 319"VERSION INFORMATION (4.8.3) 320syn keyword nsisVersionInfo contained VIAddVersionKey nextgroup=nsisLangOpt skipwhite 321 322syn keyword nsisVersionInfo contained VIProductVersion VIFileVersion 323 324 325"FUNCTIONS - basic (4.9.1) 326syn keyword nsisInstruction contained Delete Rename nextgroup=nsisDeleteOpt skipwhite 327syn region nsisDeleteOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDeleteKwd 328syn match nsisDeleteKwd contained "/REBOOTOK\>" 329 330syn keyword nsisInstruction contained Exec ExecWait SetOutPath 331 332syn keyword nsisInstruction contained ExecShell ExecShellWait nextgroup=nsisExecShellOpt skipwhite 333syn region nsisExecShellOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisExecShellKwd 334syn keyword nsisExecShellKwd contained SW_SHOWDEFAULT SW_SHOWNORMAL SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_HIDE 335syn match nsisExecShellKwd contained "/INVOKEIDLIST\>" 336 337syn keyword nsisInstruction contained File nextgroup=nsisFileOpt skipwhite 338syn region nsisFileOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileKwd 339syn match nsisFileKwd contained "/\%(nonfatal\|[arx]\|oname\)\>" 340 341syn keyword nsisInstruction contained ReserveFile nextgroup=nsisReserveFileOpt skipwhite 342syn region nsisReserveFileOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisReserveFileKwd 343syn match nsisReserveFileKwd contained "/\%(nonfatal\|[rx]\|plugin\)\>" 344 345syn keyword nsisInstruction contained RMDir nextgroup=nsisRMDirOpt skipwhite 346syn region nsisRMDirOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRMDirKwd 347syn match nsisRMDirKwd contained "/\%(REBOOTOK\|r\)\>" 348 349 350"FUNCTIONS - registry & ini (4.9.2) 351syn keyword nsisInstruction contained DeleteINISec DeleteINIStr FlushINI ReadINIStr WriteINIStr 352syn keyword nsisInstruction contained ExpandEnvStrings ReadEnvStr 353 354syn keyword nsisInstruction contained DeleteRegKey nextgroup=nsisDeleteRegKeyOpt skipwhite 355syn region nsisDeleteRegKeyOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDeleteRegKeyKwd,nsisRegistry 356syn match nsisDeleteRegKeyKwd contained "/ifempty\>" 357 358syn keyword nsisInstruction contained nextgroup=nsisRegistryOpt skipwhite 359 \ DeleteRegValue EnumRegKey EnumRegValue ReadRegDWORD ReadRegStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr 360syn region nsisRegistryOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRegistry 361 362syn keyword nsisInstruction contained WriteRegMultiStr nextgroup=nsisWriteRegMultiStrOpt skipwhite 363syn region nsisWriteRegMultiStrOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRegistry,nsisWriteRegMultiStrKwd 364syn match nsisWriteRegMultiStrKwd contained "/REGEDIT5\>" 365 366syn keyword nsisInstruction contained SetRegView nextgroup=nsisSetRegViewOpt skipwhite 367syn region nsisSetRegViewOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetRegViewKwd 368syn keyword nsisSetRegViewKwd contained default lastused 369 370"FUNCTIONS - general purpose (4.9.3) 371syn keyword nsisInstruction contained CallInstDLL CreateDirectory GetDLLVersion 372syn keyword nsisInstruction contained GetDLLVersionLocal GetFileTime GetFileTimeLocal 373syn keyword nsisInstruction contained GetTempFileName SearchPath RegDLL UnRegDLL 374 375syn keyword nsisInstruction contained CopyFiles nextgroup=nsisCopyFilesOpt skipwhite 376syn region nsisCopyFilesOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCopyFilesKwd 377syn match nsisCopyFilesKwd contained "/\%(SILENT\|FILESONLY\)\>" 378 379syn keyword nsisInstruction contained CreateShortcut nextgroup=nsisCreateShortcutOpt skipwhite 380syn region nsisCreateShortcutOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCreateShortcutKwd 381syn match nsisCreateShortcutKwd contained "/NoWorkingDir\>" 382 383syn keyword nsisInstruction contained GetFullPathName nextgroup=nsisGetFullPathNameOpt skipwhite 384syn region nsisGetFullPathNameOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetFullPathNameKwd 385syn match nsisGetFullPathNameKwd contained "/SHORT\>" 386 387syn keyword nsisInstruction contained SetFileAttributes nextgroup=nsisSetFileAttributesOpt skipwhite 388syn region nsisSetFileAttributesOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileAttrib 389syn keyword nsisFileAttrib contained NORMAL ARCHIVE HIDDEN OFFLINE READONLY SYSTEM TEMPORARY 390syn keyword nsisFileAttrib contained FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN 391syn keyword nsisFileAttrib contained FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM 392syn keyword nsisFileAttrib contained FILE_ATTRIBUTE_TEMPORARY 393 394"FUNCTIONS - Flow Control (4.9.4) 395syn keyword nsisInstruction contained Abort Call ClearErrors GetCurrentAddress 396syn keyword nsisInstruction contained GetFunctionAddress GetLabelAddress Goto 397syn keyword nsisInstruction contained IfAbort IfErrors IfFileExists IfRebootFlag IfSilent 398syn keyword nsisInstruction contained IntCmp IntCmpU Int64Cmp Int64CmpU IntPtrCmp IntPtrCmpU 399syn keyword nsisInstruction contained Return Quit SetErrors StrCmp StrCmpS 400 401syn keyword nsisInstruction contained MessageBox nextgroup=nsisMessageBoxOpt skipwhite 402syn region nsisMessageBoxOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisMessageBox 403syn keyword nsisMessageBox contained MB_OK MB_OKCANCEL MB_ABORTRETRYIGNORE MB_RETRYCANCEL MB_YESNO MB_YESNOCANCEL 404syn keyword nsisMessageBox contained MB_ICONEXCLAMATION MB_ICONINFORMATION MB_ICONQUESTION MB_ICONSTOP MB_USERICON 405syn keyword nsisMessageBox contained MB_TOPMOST MB_SETFOREGROUND MB_RIGHT MB_RTLREADING 406syn keyword nsisMessageBox contained MB_DEFBUTTON1 MB_DEFBUTTON2 MB_DEFBUTTON3 MB_DEFBUTTON4 407syn keyword nsisMessageBox contained IDABORT IDCANCEL IDIGNORE IDNO IDOK IDRETRY IDYES 408syn match nsisMessageBox contained "/SD\>" 409 410"FUNCTIONS - File and directory i/o instructions (4.9.5) 411syn keyword nsisInstruction contained FileClose FileOpen FileRead FileReadUTF16LE 412syn keyword nsisInstruction contained FileReadByte FileReadWord FileSeek FileWrite 413syn keyword nsisInstruction contained FileWriteByte FileWriteWord 414syn keyword nsisInstruction contained FindClose FindFirst FindNext 415 416syn keyword nsisInstruction contained FileWriteUTF16LE nextgroup=nsisFileWriteUTF16LEOpt skipwhite 417syn region nsisFileWriteUTF16LEOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileWriteUTF16LEKwd 418syn match nsisFileWriteUTF16LEKwd contained "/BOM\>" 419 420"FUNCTIONS - Uninstaller instructions (4.9.6) 421syn keyword nsisInstruction contained WriteUninstaller 422 423"FUNCTIONS - Misc instructions (4.9.7) 424syn keyword nsisInstruction contained GetErrorLevel GetInstDirError InitPluginsDir Nop 425syn keyword nsisInstruction contained SetErrorLevel Sleep 426 427syn keyword nsisInstruction contained SetShellVarContext nextgroup=nsisSetShellVarContextOpt skipwhite 428syn region nsisSetShellVarContextOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetShellVarContextKwd 429syn keyword nsisSetShellVarContextKwd contained current all 430 431"FUNCTIONS - String manipulation support (4.9.8) 432syn keyword nsisInstruction contained StrCpy StrLen 433 434"FUNCTIONS - Stack support (4.9.9) 435syn keyword nsisInstruction contained Exch Push Pop 436 437"FUNCTIONS - Integer manipulation support (4.9.10) 438syn keyword nsisInstruction contained IntFmt Int64Fmt IntOp IntPtrOp 439 440"FUNCTIONS - Rebooting support (4.9.11) 441syn keyword nsisInstruction contained Reboot SetRebootFlag 442 443"FUNCTIONS - Install logging instructions (4.9.12) 444syn keyword nsisInstruction contained LogSet nextgroup=nsisOnOffOpt skipwhite 445syn keyword nsisInstruction contained LogText 446 447"FUNCTIONS - Section management instructions (4.9.13) 448syn keyword nsisInstruction contained SectionSetFlags SectionGetFlags SectionSetText 449syn keyword nsisInstruction contained SectionGetText SectionSetInstTypes SectionGetInstTypes 450syn keyword nsisInstruction contained SectionSetSize SectionGetSize SetCurInstType GetCurInstType 451syn keyword nsisInstruction contained InstTypeSetText InstTypeGetText 452 453"FUNCTIONS - User Interface Instructions (4.9.14) 454syn keyword nsisInstruction contained BringToFront DetailPrint EnableWindow 455syn keyword nsisInstruction contained FindWindow GetDlgItem HideWindow IsWindow 456syn keyword nsisInstruction contained ShowWindow 457 458syn keyword nsisInstruction contained CreateFont nextgroup=nsisFontOpt skipwhite 459 460syn keyword nsisInstruction contained nextgroup=nsisBooleanOpt skipwhite 461 \ LockWindow SetAutoClose 462 463syn keyword nsisInstruction contained SendMessage nextgroup=nsisSendMessageOpt skipwhite 464syn region nsisSendMessageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSendMessageKwd 465syn match nsisSendMessageKwd contained "/TIMEOUT\>" 466 467syn keyword nsisInstruction contained SetBrandingImage nextgroup=nsisSetBrandingImageOpt skipwhite 468syn region nsisSetBrandingImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetBrandingImageKwd 469syn match nsisSetBrandingImageKwd contained "/\%(IMGID\|RESIZETOFIT\)\>" 470 471syn keyword nsisInstruction contained SetDetailsView nextgroup=nsisSetDetailsViewOpt skipwhite 472syn region nsisSetDetailsViewOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetDetailsViewKwd 473syn keyword nsisSetDetailsViewKwd contained show hide 474 475syn keyword nsisInstruction contained SetDetailsPrint nextgroup=nsisSetDetailsPrintOpt skipwhite 476syn region nsisSetDetailsPrintOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetDetailsPrintKwd 477syn keyword nsisSetDetailsPrintKwd contained none listonly textonly both lastused 478 479syn keyword nsisInstruction contained SetCtlColors nextgroup=nsisSetCtlColorsOpt skipwhite 480syn region nsisSetCtlColorsOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCtlColorsKwd 481syn match nsisSetCtlColorsKwd contained "/BRANDING\>" 482 483syn keyword nsisInstruction contained SetSilent nextgroup=nsisSetSilentOpt skipwhite 484syn region nsisSetSilentOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetSilentKwd 485syn keyword nsisSetSilentKwd contained silent normal 486 487 488"FUNCTIONS - Multiple Languages Instructions (4.9.15) 489syn keyword nsisInstruction contained LoadLanguageFile LangString LicenseLangString 490 491 492"SPECIAL FUNCTIONS - install (4.7.2.1) 493syn match nsisCallback "\.onGUIInit" 494syn match nsisCallback "\.onInit" 495syn match nsisCallback "\.onInstFailed" 496syn match nsisCallback "\.onInstSuccess" 497syn match nsisCallback "\.onGUIEnd" 498syn match nsisCallback "\.onMouseOverSection" 499syn match nsisCallback "\.onRebootFailed" 500syn match nsisCallback "\.onSelChange" 501syn match nsisCallback "\.onUserAbort" 502syn match nsisCallback "\.onVerifyInstDir" 503 504"SPECIAL FUNCTIONS - uninstall (4.7.2.2) 505syn match nsisCallback "un\.onGUIInit" 506syn match nsisCallback "un\.onInit" 507syn match nsisCallback "un\.onUninstFailed" 508syn match nsisCallback "un\.onUninstSuccess" 509syn match nsisCallback "un\.onGUIEnd" 510syn match nsisCallback "un\.onRebootFailed" 511syn match nsisCallback "un\.onSelChange" 512syn match nsisCallback "un\.onUserAbort" 513 514 515"COMPILER UTILITY (5.1) 516syn match nsisInclude contained "!include\>" nextgroup=nsisIncludeOpt skipwhite 517syn region nsisIncludeOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisIncludeKwd 518syn match nsisIncludeKwd contained "/\%(NONFATAL\|CHARSET\)\>" 519 520syn match nsisSystem contained "!addincludedir\>" 521 522syn match nsisSystem contained "!addplugindir\>" nextgroup=nsisAddplugindirOpt skipwhite 523syn region nsisAddplugindirOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAddplugindirKwd 524syn match nsisAddplugindirKwd contained "/\%(x86-ansi\|x86-unicode\)\>" 525 526syn match nsisSystem contained "!appendfile\>" nextgroup=nsisAppendfileOpt skipwhite 527syn region nsisAppendfileOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAppendfileKwd 528syn match nsisAppendfileKwd contained "/\%(CHARSET\|RawNL\)\>" 529 530syn match nsisSystem contained "!cd\>" 531 532syn match nsisSystem contained "!delfile\>" nextgroup=nsisDelfileOpt skipwhite 533syn region nsisDelfileOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDelfileKwd 534syn match nsisDelfileKwd contained "/nonfatal\>" 535 536syn match nsisSystem contained "!echo\>" 537syn match nsisSystem contained "!error\>" 538syn match nsisSystem contained "!execute\>" 539syn match nsisSystem contained "!makensis\>" 540syn match nsisSystem contained "!packhdr\>" 541syn match nsisSystem contained "!finalize\>" 542syn match nsisSystem contained "!system\>" 543syn match nsisSystem contained "!tempfile\>" 544syn match nsisSystem contained "!getdllversion\>" 545syn match nsisSystem contained "!gettlbversion\>" 546syn match nsisSystem contained "!warning\>" 547 548syn match nsisSystem contained "!pragma\>" nextgroup=nsisPragmaOpt skipwhite 549syn region nsisPragmaOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPragmaKwd 550syn keyword nsisPragmaKwd contained enable disable default push pop 551 552syn match nsisSystem contained "!verbose\>" nextgroup=nsisVerboseOpt skipwhite 553syn region nsisVerboseOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisVerboseKwd 554syn keyword nsisVerboseKwd contained push pop 555 556"PREPROCESSOR (5.4) 557syn match nsisDefine contained "!define\>" nextgroup=nsisDefineOpt skipwhite 558syn region nsisDefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDefineKwd 559syn match nsisDefineKwd contained "/\%(ifndef\|redef\|date\|utcdate\|math\|file\)\>" 560 561syn match nsisDefine contained "!undef\>" 562syn match nsisPreCondit contained "!ifdef\>" 563syn match nsisPreCondit contained "!ifndef\>" 564 565syn match nsisPreCondit contained "!if\>" nextgroup=nsisIfOpt skipwhite 566syn region nsisIfOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisIfKwd 567syn match nsisIfKwd contained "/FileExists\>" 568 569syn match nsisPreCondit contained "!ifmacrodef\>" 570syn match nsisPreCondit contained "!ifmacrondef\>" 571syn match nsisPreCondit contained "!else\>" 572syn match nsisPreCondit contained "!endif\>" 573syn match nsisMacro contained "!insertmacro\>" 574syn match nsisMacro contained "!macro\>" 575syn match nsisMacro contained "!macroend\>" 576syn match nsisMacro contained "!macroundef\>" 577 578syn match nsisMacro contained "!searchparse\>" nextgroup=nsisSearchparseOpt skipwhite 579syn region nsisSearchparseOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSearchparseKwd 580syn match nsisSearchparseKwd contained "/\%(ignorecase\|noerrors\|file\)\>" 581 582syn match nsisMacro contained "!searchreplace\>" nextgroup=nsisSearchreplaceOpt skipwhite 583syn region nsisSearchreplaceOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSearchreplaceKwd 584syn match nsisSearchreplaceKwd contained "/ignorecase\>" 585 586 587 588" Define the default highlighting. 589" Only when an item doesn't have highlighting yet 590 591hi def link nsisInstruction Function 592hi def link nsisComment Comment 593hi def link nsisFirstComment Comment 594hi def link nsisLocalLabel Label 595hi def link nsisGlobalLabel Label 596hi def link nsisStatement Statement 597hi def link nsisString String 598hi def link nsisBoolean Boolean 599hi def link nsisOnOff Boolean 600hi def link nsisFontKwd Constant 601hi def link nsisLangKwd Constant 602hi def link nsisPageKwd Constant 603hi def link nsisPageExKwd Constant 604hi def link nsisSectionKwd Constant 605hi def link nsisSectionInKwd Constant 606hi def link nsisSectionGroupKwd Constant 607hi def link nsisVarKwd Constant 608hi def link nsisAddBrandingImageKwd Constant 609hi def link nsisBGGradientKwd Constant 610hi def link nsisBrandingTextKwd Constant 611hi def link nsisCRCCheckKwd Constant 612hi def link nsisDirVerifyKwd Constant 613hi def link nsisInstallColorsKwd Constant 614hi def link nsisInstTypeKwd Constant 615hi def link nsisLicenseBkColorKwd Constant 616hi def link nsisLicenseForceSelectionKwd Constant 617hi def link nsisManifestDPIAwareKwd Constant 618hi def link nsisManifestSupportedOSKwd Constant 619hi def link nsisRequestExecutionLevelKwd Constant 620hi def link nsisShowInstDetailsKwd Constant 621hi def link nsisSilentInstallKwd Constant 622hi def link nsisSilentUnInstallKwd Constant 623hi def link nsisSetCompressKwd Constant 624hi def link nsisSetCompressorKwd Constant 625hi def link nsisSetOverwriteKwd Constant 626hi def link nsisDeleteKwd Constant 627hi def link nsisExecShellKwd Constant 628hi def link nsisFileKwd Constant 629hi def link nsisReserveFileKwd Constant 630hi def link nsisRMDirKwd Constant 631hi def link nsisDeleteRegKeyKwd Constant 632hi def link nsisWriteRegMultiStrKwd Constant 633hi def link nsisSetRegViewKwd Constant 634hi def link nsisCopyFilesKwd Constant 635hi def link nsisCreateShortcutKwd Constant 636hi def link nsisGetFullPathNameKwd Constant 637hi def link nsisFileAttrib Constant 638hi def link nsisMessageBox Constant 639hi def link nsisFileWriteUTF16LEKwd Constant 640hi def link nsisSetShellVarContextKwd Constant 641hi def link nsisSendMessageKwd Constant 642hi def link nsisSetBrandingImageKwd Constant 643hi def link nsisSetDetailsViewKwd Constant 644hi def link nsisSetDetailsPrintKwd Constant 645hi def link nsisSetCtlColorsKwd Constant 646hi def link nsisSetSilentKwd Constant 647hi def link nsisRegistry Identifier 648hi def link nsisNumber Number 649hi def link nsisError Error 650hi def link nsisUserVar Identifier 651hi def link nsisSysVar Identifier 652hi def link nsisAttribute Type 653hi def link nsisCompiler Type 654hi def link nsisVersionInfo Type 655hi def link nsisTodo Todo 656hi def link nsisCallback Identifier 657" preprocessor commands 658hi def link nsisPreprocSubst PreProc 659hi def link nsisPreprocLangStr PreProc 660hi def link nsisPreprocEnvVar PreProc 661hi def link nsisDefine Define 662hi def link nsisMacro Macro 663hi def link nsisPreCondit PreCondit 664hi def link nsisInclude Include 665hi def link nsisSystem PreProc 666hi def link nsisLineContinuation Special 667hi def link nsisIncludeKwd Constant 668hi def link nsisAddplugindirKwd Constant 669hi def link nsisAppendfileKwd Constant 670hi def link nsisDelfileKwd Constant 671hi def link nsisPragmaKwd Constant 672hi def link nsisVerboseKwd Constant 673hi def link nsisDefineKwd Constant 674hi def link nsisIfKwd Constant 675hi def link nsisSearchparseKwd Constant 676hi def link nsisSearchreplaceKwd Constant 677 678 679let b:current_syntax = "nsis" 680 681let &cpo = s:cpo_save 682unlet s:cpo_save 683