codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: NSIS script, for version of NSIS 3.08 and later3" Maintainer: Ken Takata4" URL: https://github.com/k-takata/vim-nsis5" Previous Maintainer: Alex Jakushev <Alex.Jakushev@kemek.lt>6" Last Change: 2022-11-057 8" quit when a syntax file was already loaded9if exists("b:current_syntax")10 finish11endif12 13let s:cpo_save = &cpo14set cpo&vim15 16syn case ignore17 18 19"Pseudo definitions20syn match nsisLine nextgroup=@nsisPseudoStatement skipwhite "^"21syn cluster nsisPseudoStatement contains=nsisFirstComment,nsisLocalLabel,nsisGlobalLabel22syn cluster nsisPseudoStatement add=nsisDefine,nsisPreCondit,nsisMacro,nsisInclude,nsisSystem23syn cluster nsisPseudoStatement add=nsisAttribute,nsisCompiler,nsisVersionInfo,nsisInstruction,nsisStatement24 25"COMMENTS (4.1)26syn keyword nsisTodo todo attention note fixme readme27syn region nsisComment start="[;#]" end="$" contains=nsisTodo,nsisLineContinuation,@Spell oneline28syn region nsisComment start=".\@1<=/\*" end="\*/" contains=nsisTodo,@Spell29syn region nsisFirstComment start="/\*" end="\*/" contained contains=nsisTodo,@Spell skipwhite30 \ nextgroup=@nsisPseudoStatement31 32syn match nsisLineContinuation "\\$"33 34"STRINGS (4.1)35syn region nsisString start=/"/ end=/"/ contains=@nsisStringItems,@Spell36syn region nsisString start=/'/ end=/'/ contains=@nsisStringItems,@Spell37syn region nsisString start=/`/ end=/`/ contains=@nsisStringItems,@Spell38 39syn cluster nsisStringItems contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar,nsisUserVar,nsisSysVar,nsisRegistry,nsisLineContinuation40 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,nsisPreprocEnvVar48syn region nsisPreprocLangStr start="\$(" end=")" contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar49syn region nsisPreprocEnvVar start="\$%" end="%" contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar50 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 "$\%(USERTEMPLATES\|USERSTARTMENU\|USERSMPROGRAMS\|USERDESKTOP\)"101syn match nsisSysVar "$\%(COMMONTEMPLATES\|COMMONSTARTMENU\|COMMONSMPROGRAMS\|COMMONDESKTOP\|COMMONPROGRAMDATA\)"102syn match nsisSysVar "$\\r"103syn match nsisSysVar "$\\n"104syn match nsisSysVar "$\\t"105syn match nsisSysVar "$\$"106syn match nsisSysVar "$\\["'`]"107 108"LABELS (4.3)109syn match nsisLocalLabel contained "[^-+!$0-9;"'#. \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)"110syn match nsisGlobalLabel contained "\.[^-+!$0-9;"'# \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)"111 112"CONSTANTS113syn keyword nsisBoolean contained true false114syn keyword nsisOnOff contained on off115 116syn keyword nsisRegistry contained HKCR HKLM HKCU HKU HKCC HKDD HKPD SHCTX117syn keyword nsisRegistry contained HKCR32 HKCR64 HKCU32 HKCU64 HKLM32 HKLM64118syn keyword nsisRegistry contained HKEY_CLASSES_ROOT HKEY_LOCAL_MACHINE HKEY_CURRENT_USER HKEY_USERS119syn keyword nsisRegistry contained HKEY_CLASSES_ROOT32 HKEY_CLASSES_ROOT64120syn keyword nsisRegistry contained HKEY_CURRENT_USER32 HKEY_CURRENT_USER64121syn keyword nsisRegistry contained HKEY_LOCAL_MACHINE32 HKEY_LOCAL_MACHINE64122syn keyword nsisRegistry contained HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_PERFORMANCE_DATA123syn keyword nsisRegistry contained SHELL_CONTEXT124 125 126" common options127syn cluster nsisAnyOpt contains=nsisComment,nsisLineContinuation,nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar,nsisUserVar,nsisSysVar,nsisString,nsisNumber128syn region nsisBooleanOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBoolean129syn region nsisOnOffOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisOnOff130syn region nsisLangOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLangKwd131syn match nsisLangKwd contained "/LANG\>"132syn region nsisFontOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFontKwd133syn match nsisFontKwd contained "/\%(ITALIC\|UNDERLINE\|STRIKE\)\>"134 135"STATEMENTS - pages (4.5)136syn keyword nsisStatement contained Page UninstPage nextgroup=nsisPageOpt skipwhite137syn region nsisPageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPageKwd138syn keyword nsisPageKwd contained custom license components directory instfiles uninstConfirm139syn match nsisPageKwd contained "/ENABLECANCEL\>"140 141syn keyword nsisStatement contained PageEx nextgroup=nsisPageExOpt skipwhite142syn region nsisPageExOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPageExKwd143syn match nsisPageExKwd contained "\<\%(un\.\)\?\%(custom\|license\|components\|directory\|instfiles\|uninstConfirm\)\>"144 145syn keyword nsisStatement contained PageExEnd PageCallbacks146 147"STATEMENTS - sections (4.6.1)148syn keyword nsisStatement contained AddSize SectionEnd SectionGroupEnd149 150syn keyword nsisStatement contained Section nextgroup=nsisSectionOpt skipwhite151syn region nsisSectionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionKwd152syn match nsisSectionKwd contained "/o\>"153 154syn keyword nsisStatement contained SectionInstType SectionIn nextgroup=nsisSectionInOpt skipwhite155syn region nsisSectionInOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionInKwd156syn keyword nsisSectionInKwd contained RO157 158syn keyword nsisStatement contained SectionGroup nextgroup=nsisSectionGroupOpt skipwhite159syn region nsisSectionGroupOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionGroupKwd160syn match nsisSectionGroupKwd contained "/e\>"161 162"STATEMENTS - functions (4.7.1)163syn keyword nsisStatement contained Function FunctionEnd164 165 166"STATEMENTS - LogicLib.nsh167syn match nsisStatement "${If}"168syn match nsisStatement "${IfNot}"169syn match nsisStatement "${Unless}"170syn match nsisStatement "${ElseIf}"171syn match nsisStatement "${ElseIfNot}"172syn match nsisStatement "${ElseUnless}"173syn match nsisStatement "${Else}"174syn match nsisStatement "${EndIf}"175syn match nsisStatement "${EndUnless}"176syn match nsisStatement "${AndIf}"177syn match nsisStatement "${AndIfNot}"178syn match nsisStatement "${AndUnless}"179syn match nsisStatement "${OrIf}"180syn match nsisStatement "${OrIfNot}"181syn match nsisStatement "${OrUnless}"182syn match nsisStatement "${IfThen}"183syn match nsisStatement "${IfNotThen}"184syn match nsisStatement "${||\?}" nextgroup=@nsisPseudoStatement skipwhite185syn match nsisStatement "${IfCmd}" nextgroup=@nsisPseudoStatement skipwhite186syn match nsisStatement "${Select}"187syn match nsisStatement "${Case}"188syn match nsisStatement "${Case[2-5]}"189syn match nsisStatement "${CaseElse}"190syn match nsisStatement "${Default}"191syn match nsisStatement "${EndSelect}"192syn match nsisStatement "${Switch}"193syn match nsisStatement "${EndSwitch}"194syn match nsisStatement "${Break}"195syn match nsisStatement "${Do}"196syn match nsisStatement "${DoWhile}"197syn match nsisStatement "${DoUntil}"198syn match nsisStatement "${ExitDo}"199syn match nsisStatement "${Continue}"200syn match nsisStatement "${Loop}"201syn match nsisStatement "${LoopWhile}"202syn match nsisStatement "${LoopUntil}"203syn match nsisStatement "${For}"204syn match nsisStatement "${ForEach}"205syn match nsisStatement "${ExitFor}"206syn match nsisStatement "${Next}"207"STATEMENTS - Memento.nsh208syn match nsisStatement "${MementoSection}"209syn match nsisStatement "${MementoSectionEnd}"210 211 212"USER VARIABLES (4.2.1)213syn keyword nsisInstruction contained Var nextgroup=nsisVarOpt skipwhite214syn region nsisVarOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisVarKwd215syn match nsisVarKwd contained "/GLOBAL\>"216 217"INSTALLER ATTRIBUTES (4.8.1)218syn keyword nsisAttribute contained Caption ChangeUI CheckBitmap CompletedText ComponentText219syn keyword nsisAttribute contained DetailsButtonText DirText DirVar220syn keyword nsisAttribute contained FileErrorText Icon InstallButtonText221syn keyword nsisAttribute contained InstallDir InstProgressFlags222syn keyword nsisAttribute contained LicenseData LicenseText223syn keyword nsisAttribute contained MiscButtonText Name OutFile224syn keyword nsisAttribute contained SpaceTexts SubCaption UninstallButtonText UninstallCaption225syn keyword nsisAttribute contained UninstallIcon UninstallSubCaption UninstallText226 227syn keyword nsisAttribute contained AddBrandingImage nextgroup=nsisAddBrandingImageOpt skipwhite228syn region nsisAddBrandingImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAddBrandingImageKwd229syn keyword nsisAddBrandingImageKwd contained left right top bottom width height230 231syn keyword nsisAttribute contained nextgroup=nsisBooleanOpt skipwhite232 \ AllowRootDirInstall AutoCloseWindow233 234syn keyword nsisAttribute contained BGFont nextgroup=nsisFontOpt skipwhite235 236syn keyword nsisAttribute contained BGGradient nextgroup=nsisBGGradientOpt skipwhite237syn region nsisBGGradientOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBGGradientKwd238syn keyword nsisBGGradientKwd contained off239 240syn keyword nsisAttribute contained BrandingText nextgroup=nsisBrandingTextOpt skipwhite241syn region nsisBrandingTextOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBrandingTextKwd242syn match nsisBrandingTextKwd contained "/TRIM\%(LEFT\|RIGHT\|CENTER\)\>"243 244syn keyword nsisAttribute contained CRCCheck nextgroup=nsisCRCCheckOpt skipwhite245syn region nsisCRCCheckOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCRCCheckKwd246syn keyword nsisCRCCheckKwd contained on off force247 248syn keyword nsisAttribute contained DirVerify nextgroup=nsisDirVerifyOpt skipwhite249syn region nsisDirVerifyOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDirVerifyKwd250syn keyword nsisDirVerifyKwd contained auto leave251 252syn keyword nsisAttribute contained InstallColors nextgroup=nsisInstallColorsOpt skipwhite253syn region nsisInstallColorsOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisInstallColorsKwd254syn match nsisInstallColorsKwd contained "/windows\>"255 256syn keyword nsisAttribute contained InstallDirRegKey nextgroup=nsisRegistryOpt skipwhite257 258syn keyword nsisAttribute contained InstType nextgroup=nsisInstTypeOpt skipwhite259syn region nsisInstTypeOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisInstTypeKwd260syn match nsisInstTypeKwd contained "/\%(NOCUSTOM\|CUSTOMSTRING\|COMPONENTSONLYONCUSTOM\)\>"261 262syn keyword nsisAttribute contained LicenseBkColor nextgroup=nsisLicenseBkColorOpt skipwhite263syn region nsisLicenseBkColorOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLicenseBkColorKwd264syn match nsisLicenseBkColorKwd contained "/\%(gray\|windows\)\>"265 266syn keyword nsisAttribute contained LicenseForceSelection nextgroup=nsisLicenseForceSelectionOpt skipwhite267syn region nsisLicenseForceSelectionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLicenseForceSelectionKwd268syn keyword nsisLicenseForceSelectionKwd contained checkbox radiobuttons off269 270syn keyword nsisAttribute contained ManifestDPIAware nextgroup=nsisManifestDPIAwareOpt skipwhite271syn region nsisManifestDPIAwareOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestDPIAwareKwd272syn keyword nsisManifestDPIAwareKwd contained notset true false273 274syn keyword nsisAttribute contained ManifestLongPathAware nextgroup=nsisManifestLongPathAwareOpt skipwhite275syn region nsisManifestLongPathAwareOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestLongPathAwareKwd276syn match nsisManifestLongPathAwareKwd contained "\<\%(notset\|true\|false\)\>"277 278syn keyword nsisAttribute contained ManifestSupportedOS nextgroup=nsisManifestSupportedOSOpt skipwhite279syn region nsisManifestSupportedOSOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestSupportedOSKwd280syn match nsisManifestSupportedOSKwd contained "\<\%(none\|all\|WinVista\|Win7\|Win8\|Win8\.1\|Win10\)\>"281 282syn keyword nsisAttribute contained PEAddResource nextgroup=nsisPEAddResourceOpt skipwhite283syn region nsisPEAddResourceOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPEAddResourceKwd284syn match nsisPEAddResourceKwd contained "/\%(OVERWRITE\|REPLACE\)\>"285 286syn keyword nsisAttribute contained PERemoveResource nextgroup=nsisPERemoveResourceOpt skipwhite287syn region nsisPERemoveResourceOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPERemoveResourceKwd288syn match nsisPERemoveResourceKwd contained "/NOERRORS\>"289 290syn keyword nsisAttribute contained RequestExecutionLevel nextgroup=nsisRequestExecutionLevelOpt skipwhite291syn region nsisRequestExecutionLevelOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRequestExecutionLevelKwd292syn keyword nsisRequestExecutionLevelKwd contained none user highest admin293 294syn keyword nsisAttribute contained SetFont nextgroup=nsisLangOpt skipwhite295 296syn keyword nsisAttribute contained nextgroup=nsisShowInstDetailsOpt skipwhite297 \ ShowInstDetails ShowUninstDetails298syn region nsisShowInstDetailsOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisShowInstDetailsKwd299syn keyword nsisShowInstDetailsKwd contained hide show nevershow300 301syn keyword nsisAttribute contained SilentInstall nextgroup=nsisSilentInstallOpt skipwhite302syn region nsisSilentInstallOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSilentInstallKwd303syn keyword nsisSilentInstallKwd contained normal silent silentlog304 305syn keyword nsisAttribute contained SilentUnInstall nextgroup=nsisSilentUnInstallOpt skipwhite306syn region nsisSilentUnInstallOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSilentUnInstallKwd307syn keyword nsisSilentUnInstallKwd contained normal silent308 309syn keyword nsisAttribute contained nextgroup=nsisOnOffOpt skipwhite310 \ WindowIcon XPStyle311 312"COMPILER FLAGS (4.8.2)313syn keyword nsisCompiler contained nextgroup=nsisOnOffOpt skipwhite314 \ AllowSkipFiles SetDatablockOptimize SetDateSave315 316syn keyword nsisCompiler contained FileBufSize SetCompressorDictSize317 318syn keyword nsisCompiler contained SetCompress nextgroup=nsisSetCompressOpt skipwhite319syn region nsisSetCompressOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCompressKwd320syn keyword nsisSetCompressKwd contained auto force off321 322syn keyword nsisCompiler contained SetCompressor nextgroup=nsisSetCompressorOpt skipwhite323syn region nsisSetCompressorOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCompressorKwd324syn keyword nsisSetCompressorKwd contained zlib bzip2 lzma325syn match nsisSetCompressorKwd contained "/\%(SOLID\|FINAL\)"326 327syn keyword nsisCompiler contained SetOverwrite nextgroup=nsisSetOverwriteOpt skipwhite328syn region nsisSetOverwriteOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetOverwriteKwd329syn keyword nsisSetOverwriteKwd contained on off try ifnewer ifdiff lastused330 331syn keyword nsisCompiler contained Unicode nextgroup=nsisBooleanOpt skipwhite332 333"VERSION INFORMATION (4.8.3)334syn keyword nsisVersionInfo contained VIAddVersionKey nextgroup=nsisLangOpt skipwhite335 336syn keyword nsisVersionInfo contained VIProductVersion VIFileVersion337 338 339"FUNCTIONS - basic (4.9.1)340syn keyword nsisInstruction contained Delete Rename nextgroup=nsisDeleteOpt skipwhite341syn region nsisDeleteOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDeleteKwd342syn match nsisDeleteKwd contained "/REBOOTOK\>"343 344syn keyword nsisInstruction contained Exec ExecWait SetOutPath345 346syn keyword nsisInstruction contained ExecShell ExecShellWait nextgroup=nsisExecShellOpt skipwhite347syn region nsisExecShellOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisExecShellKwd348syn keyword nsisExecShellKwd contained SW_SHOWDEFAULT SW_SHOWNORMAL SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_HIDE349syn match nsisExecShellKwd contained "/INVOKEIDLIST\>"350 351syn keyword nsisInstruction contained File nextgroup=nsisFileOpt skipwhite352syn region nsisFileOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileKwd353syn match nsisFileKwd contained "/\%(nonfatal\|[arx]\|oname\)\>"354 355syn keyword nsisInstruction contained ReserveFile nextgroup=nsisReserveFileOpt skipwhite356syn region nsisReserveFileOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisReserveFileKwd357syn match nsisReserveFileKwd contained "/\%(nonfatal\|[rx]\|plugin\)\>"358 359syn keyword nsisInstruction contained RMDir nextgroup=nsisRMDirOpt skipwhite360syn region nsisRMDirOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRMDirKwd361syn match nsisRMDirKwd contained "/\%(REBOOTOK\|r\)\>"362 363 364"FUNCTIONS - registry & ini (4.9.2)365syn keyword nsisInstruction contained DeleteINISec DeleteINIStr FlushINI ReadINIStr WriteINIStr366syn keyword nsisInstruction contained ExpandEnvStrings ReadEnvStr367 368syn keyword nsisInstruction contained DeleteRegKey nextgroup=nsisDeleteRegKeyOpt skipwhite369syn region nsisDeleteRegKeyOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDeleteRegKeyKwd,nsisRegistry370syn match nsisDeleteRegKeyKwd contained "/\%(ifempty\|ifnosubkeys\|ifnovalues\)\>"371 372syn keyword nsisInstruction contained nextgroup=nsisRegistryOpt skipwhite373 \ DeleteRegValue EnumRegKey EnumRegValue ReadRegDWORD ReadRegStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr374syn region nsisRegistryOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRegistry375 376syn keyword nsisInstruction contained WriteRegMultiStr nextgroup=nsisWriteRegMultiStrOpt skipwhite377syn region nsisWriteRegMultiStrOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRegistry,nsisWriteRegMultiStrKwd378syn match nsisWriteRegMultiStrKwd contained "/REGEDIT5\>"379 380syn keyword nsisInstruction contained SetRegView nextgroup=nsisSetRegViewOpt skipwhite381syn region nsisSetRegViewOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetRegViewKwd382syn keyword nsisSetRegViewKwd contained default lastused383 384"FUNCTIONS - general purpose (4.9.3)385syn keyword nsisInstruction contained CallInstDLL CreateDirectory GetWinVer386syn keyword nsisInstruction contained GetFileTime GetFileTimeLocal GetKnownFolderPath387syn keyword nsisInstruction contained GetTempFileName SearchPath RegDLL UnRegDLL388 389syn keyword nsisInstruction contained CopyFiles nextgroup=nsisCopyFilesOpt skipwhite390syn region nsisCopyFilesOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCopyFilesKwd391syn match nsisCopyFilesKwd contained "/\%(SILENT\|FILESONLY\)\>"392 393syn keyword nsisInstruction contained CreateShortcut nextgroup=nsisCreateShortcutOpt skipwhite394syn region nsisCreateShortcutOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCreateShortcutKwd395syn match nsisCreateShortcutKwd contained "/NoWorkingDir\>"396 397syn keyword nsisInstruction contained GetWinVer nextgroup=nsisGetWinVerOpt skipwhite398syn region nsisGetWinVerOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetWinVerKwd399syn keyword nsisGetWinVerKwd contained Major Minor Build ServicePack400 401syn keyword nsisInstruction contained GetDLLVersion GetDLLVersionLocal nextgroup=nsisGetDLLVersionOpt skipwhite402syn region nsisGetDLLVersionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetDLLVersionKwd403syn match nsisGetDLLVersionKwd contained "/ProductVersion\>"404 405syn keyword nsisInstruction contained GetFullPathName nextgroup=nsisGetFullPathNameOpt skipwhite406syn region nsisGetFullPathNameOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetFullPathNameKwd407syn match nsisGetFullPathNameKwd contained "/SHORT\>"408 409syn keyword nsisInstruction contained SetFileAttributes nextgroup=nsisSetFileAttributesOpt skipwhite410syn region nsisSetFileAttributesOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileAttrib411syn keyword nsisFileAttrib contained NORMAL ARCHIVE HIDDEN OFFLINE READONLY SYSTEM TEMPORARY412syn keyword nsisFileAttrib contained FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN413syn keyword nsisFileAttrib contained FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM414syn keyword nsisFileAttrib contained FILE_ATTRIBUTE_TEMPORARY415 416"FUNCTIONS - Flow Control (4.9.4)417syn keyword nsisInstruction contained Abort Call ClearErrors GetCurrentAddress418syn keyword nsisInstruction contained GetFunctionAddress GetLabelAddress Goto419syn keyword nsisInstruction contained IfAbort IfErrors IfFileExists IfRebootFlag IfSilent420syn keyword nsisInstruction contained IfShellVarContextAll IfRtlLanguage421syn keyword nsisInstruction contained IntCmp IntCmpU Int64Cmp Int64CmpU IntPtrCmp IntPtrCmpU422syn keyword nsisInstruction contained Return Quit SetErrors StrCmp StrCmpS423 424syn keyword nsisInstruction contained MessageBox nextgroup=nsisMessageBoxOpt skipwhite425syn region nsisMessageBoxOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisMessageBox426syn keyword nsisMessageBox contained MB_OK MB_OKCANCEL MB_ABORTRETRYIGNORE MB_RETRYCANCEL MB_YESNO MB_YESNOCANCEL427syn keyword nsisMessageBox contained MB_ICONEXCLAMATION MB_ICONINFORMATION MB_ICONQUESTION MB_ICONSTOP MB_USERICON428syn keyword nsisMessageBox contained MB_TOPMOST MB_SETFOREGROUND MB_RIGHT MB_RTLREADING429syn keyword nsisMessageBox contained MB_DEFBUTTON1 MB_DEFBUTTON2 MB_DEFBUTTON3 MB_DEFBUTTON4430syn keyword nsisMessageBox contained IDABORT IDCANCEL IDIGNORE IDNO IDOK IDRETRY IDYES431syn match nsisMessageBox contained "/SD\>"432 433"FUNCTIONS - File and directory i/o instructions (4.9.5)434syn keyword nsisInstruction contained FileClose FileOpen FileRead FileReadUTF16LE435syn keyword nsisInstruction contained FileReadByte FileReadWord FileSeek FileWrite436syn keyword nsisInstruction contained FileWriteByte FileWriteWord437syn keyword nsisInstruction contained FindClose FindFirst FindNext438 439syn keyword nsisInstruction contained FileWriteUTF16LE nextgroup=nsisFileWriteUTF16LEOpt skipwhite440syn region nsisFileWriteUTF16LEOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileWriteUTF16LEKwd441syn match nsisFileWriteUTF16LEKwd contained "/BOM\>"442 443"FUNCTIONS - Uninstaller instructions (4.9.6)444syn keyword nsisInstruction contained WriteUninstaller445 446"FUNCTIONS - Misc instructions (4.9.7)447syn keyword nsisInstruction contained GetErrorLevel GetInstDirError InitPluginsDir Nop448syn keyword nsisInstruction contained SetErrorLevel Sleep449 450syn keyword nsisInstruction contained SetShellVarContext nextgroup=nsisSetShellVarContextOpt skipwhite451syn region nsisSetShellVarContextOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetShellVarContextKwd452syn keyword nsisSetShellVarContextKwd contained current all453 454"FUNCTIONS - String manipulation support (4.9.8)455syn keyword nsisInstruction contained StrCpy StrLen456 457"FUNCTIONS - Stack support (4.9.9)458syn keyword nsisInstruction contained Exch Push Pop459 460"FUNCTIONS - Integer manipulation support (4.9.10)461syn keyword nsisInstruction contained IntFmt Int64Fmt IntOp IntPtrOp462 463"FUNCTIONS - Rebooting support (4.9.11)464syn keyword nsisInstruction contained Reboot SetRebootFlag465 466"FUNCTIONS - Install logging instructions (4.9.12)467syn keyword nsisInstruction contained LogSet nextgroup=nsisOnOffOpt skipwhite468syn keyword nsisInstruction contained LogText469 470"FUNCTIONS - Section management instructions (4.9.13)471syn keyword nsisInstruction contained SectionSetFlags SectionGetFlags SectionSetText472syn keyword nsisInstruction contained SectionGetText SectionSetInstTypes SectionGetInstTypes473syn keyword nsisInstruction contained SectionSetSize SectionGetSize SetCurInstType GetCurInstType474syn keyword nsisInstruction contained InstTypeSetText InstTypeGetText475 476"FUNCTIONS - User Interface Instructions (4.9.14)477syn keyword nsisInstruction contained BringToFront DetailPrint EnableWindow478syn keyword nsisInstruction contained FindWindow GetDlgItem HideWindow IsWindow479syn keyword nsisInstruction contained ShowWindow480 481syn keyword nsisInstruction contained CreateFont nextgroup=nsisFontOpt skipwhite482 483syn keyword nsisInstruction contained nextgroup=nsisBooleanOpt skipwhite484 \ LockWindow SetAutoClose485 486syn keyword nsisInstruction contained LoadAndSetImage nextgroup=nsisLoadAndSetImageOpt skipwhite487syn region nsisLoadAndSetImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLoadAndSetImageKwd488syn match nsisLoadAndSetImageKwd contained "/\%(EXERESOURCE\|STRINGID\|RESIZETOFIT\%(WIDTH\|HEIGHT\)\)\>"489 490syn keyword nsisInstruction contained SendMessage nextgroup=nsisSendMessageOpt skipwhite491syn region nsisSendMessageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSendMessageKwd492syn match nsisSendMessageKwd contained "/TIMEOUT\>"493 494syn keyword nsisInstruction contained SetBrandingImage nextgroup=nsisSetBrandingImageOpt skipwhite495syn region nsisSetBrandingImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetBrandingImageKwd496syn match nsisSetBrandingImageKwd contained "/\%(IMGID\|RESIZETOFIT\)\>"497 498syn keyword nsisInstruction contained SetDetailsView nextgroup=nsisSetDetailsViewOpt skipwhite499syn region nsisSetDetailsViewOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetDetailsViewKwd500syn keyword nsisSetDetailsViewKwd contained show hide501 502syn keyword nsisInstruction contained SetDetailsPrint nextgroup=nsisSetDetailsPrintOpt skipwhite503syn region nsisSetDetailsPrintOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetDetailsPrintKwd504syn keyword nsisSetDetailsPrintKwd contained none listonly textonly both lastused505 506syn keyword nsisInstruction contained SetCtlColors nextgroup=nsisSetCtlColorsOpt skipwhite507syn region nsisSetCtlColorsOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCtlColorsKwd508syn match nsisSetCtlColorsKwd contained "/BRANDING\>"509 510syn keyword nsisInstruction contained SetSilent nextgroup=nsisSetSilentOpt skipwhite511syn region nsisSetSilentOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetSilentKwd512syn keyword nsisSetSilentKwd contained silent normal513 514 515"FUNCTIONS - Multiple Languages Instructions (4.9.15)516syn keyword nsisInstruction contained LoadLanguageFile LangString LicenseLangString517 518 519"SPECIAL FUNCTIONS - install (4.7.2.1)520syn match nsisCallback "\.onGUIInit"521syn match nsisCallback "\.onInit"522syn match nsisCallback "\.onInstFailed"523syn match nsisCallback "\.onInstSuccess"524syn match nsisCallback "\.onGUIEnd"525syn match nsisCallback "\.onMouseOverSection"526syn match nsisCallback "\.onRebootFailed"527syn match nsisCallback "\.onSelChange"528syn match nsisCallback "\.onUserAbort"529syn match nsisCallback "\.onVerifyInstDir"530 531"SPECIAL FUNCTIONS - uninstall (4.7.2.2)532syn match nsisCallback "un\.onGUIInit"533syn match nsisCallback "un\.onInit"534syn match nsisCallback "un\.onUninstFailed"535syn match nsisCallback "un\.onUninstSuccess"536syn match nsisCallback "un\.onGUIEnd"537syn match nsisCallback "un\.onRebootFailed"538syn match nsisCallback "un\.onSelChange"539syn match nsisCallback "un\.onUserAbort"540 541 542"COMPILER UTILITY (5.1)543syn match nsisInclude contained "!include\>" nextgroup=nsisIncludeOpt skipwhite544syn region nsisIncludeOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisIncludeKwd545syn match nsisIncludeKwd contained "/\%(NONFATAL\|CHARSET\)\>"546 547syn match nsisSystem contained "!addincludedir\>"548 549syn match nsisSystem contained "!addplugindir\>" nextgroup=nsisAddplugindirOpt skipwhite550syn region nsisAddplugindirOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAddplugindirKwd551syn match nsisAddplugindirKwd contained "/\%(x86-ansi\|x86-unicode\)\>"552 553syn match nsisSystem contained "!appendfile\>" nextgroup=nsisAppendfileOpt skipwhite554syn region nsisAppendfileOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAppendfileKwd555syn match nsisAppendfileKwd contained "/\%(CHARSET\|RawNL\)\>"556 557syn match nsisSystem contained "!cd\>"558 559syn match nsisSystem contained "!delfile\>" nextgroup=nsisDelfileOpt skipwhite560syn region nsisDelfileOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDelfileKwd561syn match nsisDelfileKwd contained "/nonfatal\>"562 563syn match nsisSystem contained "!echo\>"564syn match nsisSystem contained "!error\>"565syn match nsisSystem contained "!execute\>"566syn match nsisSystem contained "!makensis\>"567syn match nsisSystem contained "!packhdr\>"568syn match nsisSystem contained "!finalize\>"569syn match nsisSystem contained "!uninstfinalize\>"570syn match nsisSystem contained "!system\>"571syn match nsisSystem contained "!tempfile\>"572 573" Add 'P' to avoid conflicts with nsisGetDLLVersionOpt. ('P' for preprocessor.)574syn match nsisSystem contained "!getdllversion\>" nextgroup=nsisPGetdllversionOpt skipwhite575syn region nsisPGetdllversionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPGetdllversionKwd576syn match nsisPGetdllversionKwd contained "/\%(noerrors\|packed\|productversion\)\>"577 578syn match nsisSystem contained "!gettlbversion\>" nextgroup=nsisPGettlbversionOpt skipwhite579syn region nsisPGettlbversionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPGettlbversionKwd580syn match nsisPGettlbversionKwd contained "/\%(noerrors\|packed\)\>"581 582syn match nsisSystem contained "!warning\>"583 584syn match nsisSystem contained "!pragma\>" nextgroup=nsisPragmaOpt skipwhite585syn region nsisPragmaOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPragmaKwd586syn keyword nsisPragmaKwd contained enable disable default push pop587 588syn match nsisSystem contained "!verbose\>" nextgroup=nsisVerboseOpt skipwhite589syn region nsisVerboseOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisVerboseKwd590syn keyword nsisVerboseKwd contained push pop591 592"PREPROCESSOR (5.4)593syn match nsisDefine contained "!define\>" nextgroup=nsisDefineOpt skipwhite594syn region nsisDefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDefineKwd595syn match nsisDefineKwd contained "/\%(ifndef\|redef\|date\|utcdate\|file\|intfmt\|math\)\>"596 597syn match nsisDefine contained "!undef\>" nextgroup=nsisUndefineOpt skipwhite598syn region nsisUndefineOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisUndefineKwd599syn match nsisUndefineKwd contained "/noerrors\>"600 601syn match nsisPreCondit contained "!ifdef\>"602syn match nsisPreCondit contained "!ifndef\>"603 604syn match nsisPreCondit contained "!if\>" nextgroup=nsisIfOpt skipwhite605syn region nsisIfOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisIfKwd606syn match nsisIfKwd contained "/FileExists\>"607 608syn match nsisPreCondit contained "!ifmacrodef\>"609syn match nsisPreCondit contained "!ifmacrondef\>"610syn match nsisPreCondit contained "!else\>"611syn match nsisPreCondit contained "!endif\>"612syn match nsisMacro contained "!insertmacro\>"613syn match nsisMacro contained "!macro\>"614syn match nsisMacro contained "!macroend\>"615syn match nsisMacro contained "!macroundef\>"616 617syn match nsisMacro contained "!searchparse\>" nextgroup=nsisSearchparseOpt skipwhite618syn region nsisSearchparseOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSearchparseKwd619syn match nsisSearchparseKwd contained "/\%(ignorecase\|noerrors\|file\)\>"620 621syn match nsisMacro contained "!searchreplace\>" nextgroup=nsisSearchreplaceOpt skipwhite622syn region nsisSearchreplaceOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSearchreplaceKwd623syn match nsisSearchreplaceKwd contained "/ignorecase\>"624 625 626 627" Define the default highlighting.628" Only when an item doesn't have highlighting yet629 630hi def link nsisInstruction Function631hi def link nsisComment Comment632hi def link nsisFirstComment Comment633hi def link nsisLocalLabel Label634hi def link nsisGlobalLabel Label635hi def link nsisStatement Statement636hi def link nsisString String637hi def link nsisBoolean Boolean638hi def link nsisOnOff Boolean639hi def link nsisFontKwd Constant640hi def link nsisLangKwd Constant641hi def link nsisPageKwd Constant642hi def link nsisPageExKwd Constant643hi def link nsisSectionKwd Constant644hi def link nsisSectionInKwd Constant645hi def link nsisSectionGroupKwd Constant646hi def link nsisVarKwd Constant647hi def link nsisAddBrandingImageKwd Constant648hi def link nsisBGGradientKwd Constant649hi def link nsisBrandingTextKwd Constant650hi def link nsisCRCCheckKwd Constant651hi def link nsisDirVerifyKwd Constant652hi def link nsisInstallColorsKwd Constant653hi def link nsisInstTypeKwd Constant654hi def link nsisLicenseBkColorKwd Constant655hi def link nsisLicenseForceSelectionKwd Constant656hi def link nsisManifestDPIAwareKwd Constant657hi def link nsisManifestLongPathAwareKwd Constant658hi def link nsisManifestSupportedOSKwd Constant659hi def link nsisPEAddResourceKwd Constant660hi def link nsisPERemoveResourceKwd Constant661hi def link nsisRequestExecutionLevelKwd Constant662hi def link nsisShowInstDetailsKwd Constant663hi def link nsisSilentInstallKwd Constant664hi def link nsisSilentUnInstallKwd Constant665hi def link nsisSetCompressKwd Constant666hi def link nsisSetCompressorKwd Constant667hi def link nsisSetOverwriteKwd Constant668hi def link nsisDeleteKwd Constant669hi def link nsisExecShellKwd Constant670hi def link nsisFileKwd Constant671hi def link nsisReserveFileKwd Constant672hi def link nsisRMDirKwd Constant673hi def link nsisDeleteRegKeyKwd Constant674hi def link nsisWriteRegMultiStrKwd Constant675hi def link nsisSetRegViewKwd Constant676hi def link nsisCopyFilesKwd Constant677hi def link nsisCreateShortcutKwd Constant678hi def link nsisGetWinVerKwd Constant679hi def link nsisGetDLLVersionKwd Constant680hi def link nsisGetFullPathNameKwd Constant681hi def link nsisFileAttrib Constant682hi def link nsisMessageBox Constant683hi def link nsisFileWriteUTF16LEKwd Constant684hi def link nsisSetShellVarContextKwd Constant685hi def link nsisLoadAndSetImageKwd Constant686hi def link nsisSendMessageKwd Constant687hi def link nsisSetBrandingImageKwd Constant688hi def link nsisSetDetailsViewKwd Constant689hi def link nsisSetDetailsPrintKwd Constant690hi def link nsisSetCtlColorsKwd Constant691hi def link nsisSetSilentKwd Constant692hi def link nsisRegistry Identifier693hi def link nsisNumber Number694hi def link nsisError Error695hi def link nsisUserVar Identifier696hi def link nsisSysVar Identifier697hi def link nsisAttribute Type698hi def link nsisCompiler Type699hi def link nsisVersionInfo Type700hi def link nsisTodo Todo701hi def link nsisCallback Identifier702" preprocessor commands703hi def link nsisPreprocSubst PreProc704hi def link nsisPreprocLangStr PreProc705hi def link nsisPreprocEnvVar PreProc706hi def link nsisDefine Define707hi def link nsisMacro Macro708hi def link nsisPreCondit PreCondit709hi def link nsisInclude Include710hi def link nsisSystem PreProc711hi def link nsisLineContinuation Special712hi def link nsisIncludeKwd Constant713hi def link nsisAddplugindirKwd Constant714hi def link nsisAppendfileKwd Constant715hi def link nsisDelfileKwd Constant716hi def link nsisPGetdllversionKwd Constant717hi def link nsisPGettlbversionKwd Constant718hi def link nsisPragmaKwd Constant719hi def link nsisVerboseKwd Constant720hi def link nsisDefineKwd Constant721hi def link nsisUndefineKwd Constant722hi def link nsisIfKwd Constant723hi def link nsisSearchparseKwd Constant724hi def link nsisSearchreplaceKwd Constant725 726 727let b:current_syntax = "nsis"728 729let &cpo = s:cpo_save730unlet s:cpo_save731 