xref: /vim-8.2.3635/runtime/syntax/nsis.vim (revision 079ba76a)
1071d4279SBram Moolenaar" Vim syntax file
2*079ba76aSBram Moolenaar" Language:		NSIS script, for version of NSIS 3.08 and later
340962ec9SBram Moolenaar" Maintainer:		Ken Takata
440962ec9SBram Moolenaar" URL:			https://github.com/k-takata/vim-nsis
540962ec9SBram Moolenaar" Previous Maintainer:	Alex Jakushev <[email protected]>
6*079ba76aSBram Moolenaar" Last Change:		2020-10-18
7071d4279SBram Moolenaar
889bcfda6SBram Moolenaar" quit when a syntax file was already loaded
989bcfda6SBram Moolenaarif exists("b:current_syntax")
10071d4279SBram Moolenaar  finish
11071d4279SBram Moolenaarendif
12071d4279SBram Moolenaar
1340962ec9SBram Moolenaarlet s:cpo_save = &cpo
1440962ec9SBram Moolenaarset cpo&vim
1540962ec9SBram Moolenaar
16071d4279SBram Moolenaarsyn case ignore
17071d4279SBram Moolenaar
18071d4279SBram Moolenaar
1940962ec9SBram Moolenaar"Pseudo definitions
2040962ec9SBram Moolenaarsyn match nsisLine nextgroup=@nsisPseudoStatement skipwhite "^"
2140962ec9SBram Moolenaarsyn cluster nsisPseudoStatement	contains=nsisFirstComment,nsisLocalLabel,nsisGlobalLabel
2240962ec9SBram Moolenaarsyn cluster nsisPseudoStatement add=nsisDefine,nsisPreCondit,nsisMacro,nsisInclude,nsisSystem
2340962ec9SBram Moolenaarsyn cluster nsisPseudoStatement add=nsisAttribute,nsisCompiler,nsisVersionInfo,nsisInstruction,nsisStatement
2440962ec9SBram Moolenaar
2540962ec9SBram Moolenaar"COMMENTS (4.1)
26071d4279SBram Moolenaarsyn keyword nsisTodo	todo attention note fixme readme
2740962ec9SBram Moolenaarsyn region nsisComment	start="[;#]" end="$" contains=nsisTodo,nsisLineContinuation,@Spell oneline
2840962ec9SBram Moolenaarsyn region nsisComment	start=".\@1<=/\*" end="\*/" contains=nsisTodo,@Spell
2940962ec9SBram Moolenaarsyn region nsisFirstComment  start="/\*" end="\*/" contained contains=nsisTodo,@Spell skipwhite
3040962ec9SBram Moolenaar			\ nextgroup=@nsisPseudoStatement
31071d4279SBram Moolenaar
3240962ec9SBram Moolenaarsyn match nsisLineContinuation	"\\$"
33071d4279SBram Moolenaar
3440962ec9SBram Moolenaar"STRINGS (4.1)
3540962ec9SBram Moolenaarsyn region nsisString	start=/"/ end=/"/ contains=@nsisStringItems,@Spell
3640962ec9SBram Moolenaarsyn region nsisString	start=/'/ end=/'/ contains=@nsisStringItems,@Spell
3740962ec9SBram Moolenaarsyn region nsisString	start=/`/ end=/`/ contains=@nsisStringItems,@Spell
38071d4279SBram Moolenaar
3940962ec9SBram Moolenaarsyn cluster nsisStringItems	contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar,nsisUserVar,nsisSysVar,nsisRegistry,nsisLineContinuation
40071d4279SBram Moolenaar
4140962ec9SBram Moolenaar"NUMBERS (4.1)
4240962ec9SBram Moolenaarsyn match nsisNumber		"\<[1-9]\d*\>"
4340962ec9SBram Moolenaarsyn match nsisNumber		"\<0x\x\+\>"
4440962ec9SBram Moolenaarsyn match nsisNumber		"\<0\o*\>"
4540962ec9SBram Moolenaar
4640962ec9SBram Moolenaar"STRING REPLACEMENT (5.4, 4.9.15.2, 5.3.1)
4740962ec9SBram Moolenaarsyn region nsisPreprocSubst	start="\${" end="}" contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar
4840962ec9SBram Moolenaarsyn region nsisPreprocLangStr	start="\$(" end=")" contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar
4940962ec9SBram Moolenaarsyn region nsisPreprocEnvVar	start="\$%" end="%" contains=nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar
5040962ec9SBram Moolenaar
5140962ec9SBram Moolenaar"VARIABLES (4.2.2)
52071d4279SBram Moolenaarsyn match nsisUserVar		"$\d"
53071d4279SBram Moolenaarsyn match nsisUserVar		"$R\d"
54071d4279SBram Moolenaarsyn match nsisSysVar		"$INSTDIR"
55071d4279SBram Moolenaarsyn match nsisSysVar		"$OUTDIR"
56071d4279SBram Moolenaarsyn match nsisSysVar		"$CMDLINE"
5740962ec9SBram Moolenaarsyn match nsisSysVar		"$LANGUAGE"
5840962ec9SBram Moolenaar"CONSTANTS (4.2.3)
59071d4279SBram Moolenaarsyn match nsisSysVar		"$PROGRAMFILES"
6040962ec9SBram Moolenaarsyn match nsisSysVar		"$PROGRAMFILES32"
6140962ec9SBram Moolenaarsyn match nsisSysVar		"$PROGRAMFILES64"
6240962ec9SBram Moolenaarsyn match nsisSysVar		"$COMMONFILES"
6340962ec9SBram Moolenaarsyn match nsisSysVar		"$COMMONFILES32"
6440962ec9SBram Moolenaarsyn match nsisSysVar		"$COMMONFILES64"
65071d4279SBram Moolenaarsyn match nsisSysVar		"$DESKTOP"
66071d4279SBram Moolenaarsyn match nsisSysVar		"$EXEDIR"
6740962ec9SBram Moolenaarsyn match nsisSysVar		"$EXEFILE"
6840962ec9SBram Moolenaarsyn match nsisSysVar		"$EXEPATH"
6940962ec9SBram Moolenaarsyn match nsisSysVar		"${NSISDIR}"
70071d4279SBram Moolenaarsyn match nsisSysVar		"$WINDIR"
71071d4279SBram Moolenaarsyn match nsisSysVar		"$SYSDIR"
72071d4279SBram Moolenaarsyn match nsisSysVar		"$TEMP"
73071d4279SBram Moolenaarsyn match nsisSysVar		"$STARTMENU"
74071d4279SBram Moolenaarsyn match nsisSysVar		"$SMPROGRAMS"
75071d4279SBram Moolenaarsyn match nsisSysVar		"$SMSTARTUP"
76071d4279SBram Moolenaarsyn match nsisSysVar		"$QUICKLAUNCH"
7740962ec9SBram Moolenaarsyn match nsisSysVar		"$DOCUMENTS"
7840962ec9SBram Moolenaarsyn match nsisSysVar		"$SENDTO"
7940962ec9SBram Moolenaarsyn match nsisSysVar		"$RECENT"
8040962ec9SBram Moolenaarsyn match nsisSysVar		"$FAVORITES"
8140962ec9SBram Moolenaarsyn match nsisSysVar		"$MUSIC"
8240962ec9SBram Moolenaarsyn match nsisSysVar		"$PICTURES"
8340962ec9SBram Moolenaarsyn match nsisSysVar		"$VIDEOS"
8440962ec9SBram Moolenaarsyn match nsisSysVar		"$NETHOOD"
8540962ec9SBram Moolenaarsyn match nsisSysVar		"$FONTS"
8640962ec9SBram Moolenaarsyn match nsisSysVar		"$TEMPLATES"
8740962ec9SBram Moolenaarsyn match nsisSysVar		"$APPDATA"
8840962ec9SBram Moolenaarsyn match nsisSysVar		"$LOCALAPPDATA"
8940962ec9SBram Moolenaarsyn match nsisSysVar		"$PRINTHOOD"
9040962ec9SBram Moolenaarsyn match nsisSysVar		"$INTERNET_CACHE"
9140962ec9SBram Moolenaarsyn match nsisSysVar		"$COOKIES"
9240962ec9SBram Moolenaarsyn match nsisSysVar		"$HISTORY"
9340962ec9SBram Moolenaarsyn match nsisSysVar		"$PROFILE"
9440962ec9SBram Moolenaarsyn match nsisSysVar		"$ADMINTOOLS"
9540962ec9SBram Moolenaarsyn match nsisSysVar		"$RESOURCES"
9640962ec9SBram Moolenaarsyn match nsisSysVar		"$RESOURCES_LOCALIZED"
9740962ec9SBram Moolenaarsyn match nsisSysVar		"$CDBURN_AREA"
98071d4279SBram Moolenaarsyn match nsisSysVar		"$HWNDPARENT"
9940962ec9SBram Moolenaarsyn match nsisSysVar		"$PLUGINSDIR"
100*079ba76aSBram Moolenaarsyn match nsisSysVar		"$\%(USERTEMPLATES\|USERSTARTMENU\|USERSMPROGRAMS\|USERDESKTOP\)"
101*079ba76aSBram Moolenaarsyn match nsisSysVar		"$\%(COMMONTEMPLATES\|COMMONSTARTMENU\|COMMONSMPROGRAMS\|COMMONDESKTOP\|COMMONPROGRAMDATA\)"
102071d4279SBram Moolenaarsyn match nsisSysVar		"$\\r"
103071d4279SBram Moolenaarsyn match nsisSysVar		"$\\n"
10440962ec9SBram Moolenaarsyn match nsisSysVar		"$\\t"
105071d4279SBram Moolenaarsyn match nsisSysVar		"$\$"
10640962ec9SBram Moolenaarsyn match nsisSysVar		"$\\["'`]"
107071d4279SBram Moolenaar
10840962ec9SBram Moolenaar"LABELS (4.3)
1092c64ca18SBram Moolenaarsyn match nsisLocalLabel	contained "[^-+!$0-9;"'#. \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)"
1102c64ca18SBram Moolenaarsyn match nsisGlobalLabel	contained "\.[^-+!$0-9;"'# \t/*][^ \t:;#]*:\ze\%($\|[ \t;#]\|\/\*\)"
111071d4279SBram Moolenaar
112071d4279SBram Moolenaar"CONSTANTS
11340962ec9SBram Moolenaarsyn keyword nsisBoolean		contained true false
11440962ec9SBram Moolenaarsyn keyword nsisOnOff		contained on off
115071d4279SBram Moolenaar
11640962ec9SBram Moolenaarsyn keyword nsisRegistry	contained HKCR HKLM HKCU HKU HKCC HKDD HKPD SHCTX
11740962ec9SBram Moolenaarsyn keyword nsisRegistry	contained HKCR32 HKCR64 HKCU32 HKCU64 HKLM32 HKLM64
11840962ec9SBram Moolenaarsyn keyword nsisRegistry	contained HKEY_CLASSES_ROOT HKEY_LOCAL_MACHINE HKEY_CURRENT_USER HKEY_USERS
11940962ec9SBram Moolenaarsyn keyword nsisRegistry	contained HKEY_CLASSES_ROOT32 HKEY_CLASSES_ROOT64
12040962ec9SBram Moolenaarsyn keyword nsisRegistry	contained HKEY_CURRENT_USER32 HKEY_CURRENT_USER64
12140962ec9SBram Moolenaarsyn keyword nsisRegistry	contained HKEY_LOCAL_MACHINE32 HKEY_LOCAL_MACHINE64
12240962ec9SBram Moolenaarsyn keyword nsisRegistry	contained HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_PERFORMANCE_DATA
12340962ec9SBram Moolenaarsyn keyword nsisRegistry	contained SHELL_CONTEXT
124071d4279SBram Moolenaar
125071d4279SBram Moolenaar
12640962ec9SBram Moolenaar" common options
12740962ec9SBram Moolenaarsyn cluster nsisAnyOpt		contains=nsisComment,nsisLineContinuation,nsisPreprocSubst,nsisPreprocLangStr,nsisPreprocEnvVar,nsisUserVar,nsisSysVar,nsisString,nsisNumber
12840962ec9SBram Moolenaarsyn region nsisBooleanOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBoolean
12940962ec9SBram Moolenaarsyn region nsisOnOffOpt		contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisOnOff
13040962ec9SBram Moolenaarsyn region nsisLangOpt		contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLangKwd
13140962ec9SBram Moolenaarsyn match nsisLangKwd		contained "/LANG\>"
13240962ec9SBram Moolenaarsyn region nsisFontOpt		contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFontKwd
13340962ec9SBram Moolenaarsyn match nsisFontKwd		contained "/\%(ITALIC\|UNDERLINE\|STRIKE\)\>"
134071d4279SBram Moolenaar
13540962ec9SBram Moolenaar"STATEMENTS - pages (4.5)
13640962ec9SBram Moolenaarsyn keyword nsisStatement	contained Page UninstPage nextgroup=nsisPageOpt skipwhite
13740962ec9SBram Moolenaarsyn region nsisPageOpt		contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPageKwd
13840962ec9SBram Moolenaarsyn keyword nsisPageKwd		contained custom license components directory instfiles uninstConfirm
13940962ec9SBram Moolenaarsyn match nsisPageKwd		contained "/ENABLECANCEL\>"
140071d4279SBram Moolenaar
14140962ec9SBram Moolenaarsyn keyword nsisStatement	contained PageEx nextgroup=nsisPageExOpt skipwhite
14240962ec9SBram Moolenaarsyn region nsisPageExOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPageExKwd
14340962ec9SBram Moolenaarsyn match nsisPageExKwd		contained "\<\%(un\.\)\?\%(custom\|license\|components\|directory\|instfiles\|uninstConfirm\)\>"
144071d4279SBram Moolenaar
14540962ec9SBram Moolenaarsyn keyword nsisStatement	contained PageExEnd PageCallbacks
146071d4279SBram Moolenaar
14740962ec9SBram Moolenaar"STATEMENTS - sections (4.6.1)
14840962ec9SBram Moolenaarsyn keyword nsisStatement	contained AddSize SectionEnd SectionGroupEnd
149071d4279SBram Moolenaar
15040962ec9SBram Moolenaarsyn keyword nsisStatement	contained Section nextgroup=nsisSectionOpt skipwhite
15140962ec9SBram Moolenaarsyn region nsisSectionOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionKwd
15240962ec9SBram Moolenaarsyn match nsisSectionKwd	contained "/o\>"
153071d4279SBram Moolenaar
154*079ba76aSBram Moolenaarsyn keyword nsisStatement	contained SectionInstType SectionIn nextgroup=nsisSectionInOpt skipwhite
15540962ec9SBram Moolenaarsyn region nsisSectionInOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionInKwd
15640962ec9SBram Moolenaarsyn keyword nsisSectionInKwd	contained RO
157071d4279SBram Moolenaar
15840962ec9SBram Moolenaarsyn keyword nsisStatement	contained SectionGroup nextgroup=nsisSectionGroupOpt skipwhite
15940962ec9SBram Moolenaarsyn region nsisSectionGroupOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSectionGroupKwd
16040962ec9SBram Moolenaarsyn match nsisSectionGroupKwd	contained "/e\>"
16140962ec9SBram Moolenaar
16240962ec9SBram Moolenaar"STATEMENTS - functions (4.7.1)
16340962ec9SBram Moolenaarsyn keyword nsisStatement	contained Function FunctionEnd
164071d4279SBram Moolenaar
165071d4279SBram Moolenaar
16640962ec9SBram Moolenaar"STATEMENTS - LogicLib.nsh
16740962ec9SBram Moolenaarsyn match nsisStatement		"${If}"
16840962ec9SBram Moolenaarsyn match nsisStatement		"${IfNot}"
16940962ec9SBram Moolenaarsyn match nsisStatement		"${Unless}"
17040962ec9SBram Moolenaarsyn match nsisStatement		"${ElseIf}"
17140962ec9SBram Moolenaarsyn match nsisStatement		"${ElseIfNot}"
17240962ec9SBram Moolenaarsyn match nsisStatement		"${ElseUnless}"
17340962ec9SBram Moolenaarsyn match nsisStatement		"${Else}"
17440962ec9SBram Moolenaarsyn match nsisStatement		"${EndIf}"
17540962ec9SBram Moolenaarsyn match nsisStatement		"${EndUnless}"
17640962ec9SBram Moolenaarsyn match nsisStatement		"${AndIf}"
17740962ec9SBram Moolenaarsyn match nsisStatement		"${AndIfNot}"
17840962ec9SBram Moolenaarsyn match nsisStatement		"${AndUnless}"
17940962ec9SBram Moolenaarsyn match nsisStatement		"${OrIf}"
18040962ec9SBram Moolenaarsyn match nsisStatement		"${OrIfNot}"
18140962ec9SBram Moolenaarsyn match nsisStatement		"${OrUnless}"
18240962ec9SBram Moolenaarsyn match nsisStatement		"${IfThen}"
18340962ec9SBram Moolenaarsyn match nsisStatement		"${IfNotThen}"
18440962ec9SBram Moolenaarsyn match nsisStatement		"${||\?}" nextgroup=@nsisPseudoStatement skipwhite
18540962ec9SBram Moolenaarsyn match nsisStatement		"${IfCmd}" nextgroup=@nsisPseudoStatement skipwhite
18640962ec9SBram Moolenaarsyn match nsisStatement		"${Select}"
18740962ec9SBram Moolenaarsyn match nsisStatement		"${Case}"
18840962ec9SBram Moolenaarsyn match nsisStatement		"${Case[2-5]}"
18940962ec9SBram Moolenaarsyn match nsisStatement		"${CaseElse}"
19040962ec9SBram Moolenaarsyn match nsisStatement		"${Default}"
19140962ec9SBram Moolenaarsyn match nsisStatement		"${EndSelect}"
19240962ec9SBram Moolenaarsyn match nsisStatement		"${Switch}"
19340962ec9SBram Moolenaarsyn match nsisStatement		"${EndSwitch}"
19440962ec9SBram Moolenaarsyn match nsisStatement		"${Break}"
19540962ec9SBram Moolenaarsyn match nsisStatement		"${Do}"
19640962ec9SBram Moolenaarsyn match nsisStatement		"${DoWhile}"
19740962ec9SBram Moolenaarsyn match nsisStatement		"${DoUntil}"
19840962ec9SBram Moolenaarsyn match nsisStatement		"${ExitDo}"
19940962ec9SBram Moolenaarsyn match nsisStatement		"${Continue}"
20040962ec9SBram Moolenaarsyn match nsisStatement		"${Loop}"
20140962ec9SBram Moolenaarsyn match nsisStatement		"${LoopWhile}"
20240962ec9SBram Moolenaarsyn match nsisStatement		"${LoopUntil}"
20340962ec9SBram Moolenaarsyn match nsisStatement		"${For}"
20440962ec9SBram Moolenaarsyn match nsisStatement		"${ForEach}"
20540962ec9SBram Moolenaarsyn match nsisStatement		"${ExitFor}"
20640962ec9SBram Moolenaarsyn match nsisStatement		"${Next}"
20740962ec9SBram Moolenaar"STATEMENTS - Memento.nsh
20840962ec9SBram Moolenaarsyn match nsisStatement		"${MementoSection}"
20940962ec9SBram Moolenaarsyn match nsisStatement		"${MementoSectionEnd}"
210071d4279SBram Moolenaar
211071d4279SBram Moolenaar
21240962ec9SBram Moolenaar"USER VARIABLES (4.2.1)
21340962ec9SBram Moolenaarsyn keyword nsisInstruction	contained Var nextgroup=nsisVarOpt skipwhite
21440962ec9SBram Moolenaarsyn region nsisVarOpt		contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisVarKwd
21540962ec9SBram Moolenaarsyn match nsisVarKwd		contained "/GLOBAL\>"
21640962ec9SBram Moolenaar
21740962ec9SBram Moolenaar"INSTALLER ATTRIBUTES (4.8.1)
21840962ec9SBram Moolenaarsyn keyword nsisAttribute	contained Caption ChangeUI CheckBitmap CompletedText ComponentText
21940962ec9SBram Moolenaarsyn keyword nsisAttribute	contained DetailsButtonText DirText DirVar
22040962ec9SBram Moolenaarsyn keyword nsisAttribute	contained FileErrorText Icon InstallButtonText
22140962ec9SBram Moolenaarsyn keyword nsisAttribute	contained InstallDir InstProgressFlags
22240962ec9SBram Moolenaarsyn keyword nsisAttribute	contained LicenseData LicenseText
22340962ec9SBram Moolenaarsyn keyword nsisAttribute	contained MiscButtonText Name OutFile
22440962ec9SBram Moolenaarsyn keyword nsisAttribute	contained SpaceTexts SubCaption UninstallButtonText UninstallCaption
22540962ec9SBram Moolenaarsyn keyword nsisAttribute	contained UninstallIcon UninstallSubCaption UninstallText
22640962ec9SBram Moolenaar
22740962ec9SBram Moolenaarsyn keyword nsisAttribute	contained AddBrandingImage nextgroup=nsisAddBrandingImageOpt skipwhite
22840962ec9SBram Moolenaarsyn region nsisAddBrandingImageOpt  contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAddBrandingImageKwd
22940962ec9SBram Moolenaarsyn keyword nsisAddBrandingImageKwd contained left right top bottom width height
23040962ec9SBram Moolenaar
23140962ec9SBram Moolenaarsyn keyword nsisAttribute	contained nextgroup=nsisBooleanOpt skipwhite
23240962ec9SBram Moolenaar			\ AllowRootDirInstall AutoCloseWindow
23340962ec9SBram Moolenaar
23440962ec9SBram Moolenaarsyn keyword nsisAttribute	contained BGFont nextgroup=nsisFontOpt skipwhite
23540962ec9SBram Moolenaar
23640962ec9SBram Moolenaarsyn keyword nsisAttribute	contained BGGradient nextgroup=nsisBGGradientOpt skipwhite
23740962ec9SBram Moolenaarsyn region nsisBGGradientOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBGGradientKwd
23840962ec9SBram Moolenaarsyn keyword nsisBGGradientKwd	contained off
23940962ec9SBram Moolenaar
24040962ec9SBram Moolenaarsyn keyword nsisAttribute	contained BrandingText nextgroup=nsisBrandingTextOpt skipwhite
24140962ec9SBram Moolenaarsyn region nsisBrandingTextOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisBrandingTextKwd
24240962ec9SBram Moolenaarsyn match nsisBrandingTextKwd	contained "/TRIM\%(LEFT\|RIGHT\|CENTER\)\>"
24340962ec9SBram Moolenaar
24440962ec9SBram Moolenaarsyn keyword nsisAttribute	contained CRCCheck nextgroup=nsisCRCCheckOpt skipwhite
24540962ec9SBram Moolenaarsyn region nsisCRCCheckOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCRCCheckKwd
24640962ec9SBram Moolenaarsyn keyword nsisCRCCheckKwd	contained on off force
24740962ec9SBram Moolenaar
24840962ec9SBram Moolenaarsyn keyword nsisAttribute	contained DirVerify nextgroup=nsisDirVerifyOpt skipwhite
24940962ec9SBram Moolenaarsyn region nsisDirVerifyOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDirVerifyKwd
25040962ec9SBram Moolenaarsyn keyword nsisDirVerifyKwd	contained auto leave
25140962ec9SBram Moolenaar
25240962ec9SBram Moolenaarsyn keyword nsisAttribute	contained InstallColors nextgroup=nsisInstallColorsOpt skipwhite
25340962ec9SBram Moolenaarsyn region nsisInstallColorsOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisInstallColorsKwd
25440962ec9SBram Moolenaarsyn match nsisInstallColorsKwd	contained "/windows\>"
25540962ec9SBram Moolenaar
25640962ec9SBram Moolenaarsyn keyword nsisAttribute	contained InstallDirRegKey nextgroup=nsisRegistryOpt skipwhite
25740962ec9SBram Moolenaar
25840962ec9SBram Moolenaarsyn keyword nsisAttribute	contained InstType nextgroup=nsisInstTypeOpt skipwhite
25940962ec9SBram Moolenaarsyn region nsisInstTypeOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisInstTypeKwd
26040962ec9SBram Moolenaarsyn match nsisInstTypeKwd	contained "/\%(NOCUSTOM\|CUSTOMSTRING\|COMPONENTSONLYONCUSTOM\)\>"
26140962ec9SBram Moolenaar
26240962ec9SBram Moolenaarsyn keyword nsisAttribute	contained LicenseBkColor nextgroup=nsisLicenseBkColorOpt skipwhite
26340962ec9SBram Moolenaarsyn region nsisLicenseBkColorOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLicenseBkColorKwd
26440962ec9SBram Moolenaarsyn match nsisLicenseBkColorKwd  contained "/\%(gray\|windows\)\>"
26540962ec9SBram Moolenaar
26640962ec9SBram Moolenaarsyn keyword nsisAttribute	contained LicenseForceSelection nextgroup=nsisLicenseForceSelectionOpt skipwhite
26740962ec9SBram Moolenaarsyn region nsisLicenseForceSelectionOpt  contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLicenseForceSelectionKwd
26840962ec9SBram Moolenaarsyn keyword nsisLicenseForceSelectionKwd contained checkbox radiobuttons off
26940962ec9SBram Moolenaar
27040962ec9SBram Moolenaarsyn keyword nsisAttribute	contained ManifestDPIAware nextgroup=nsisManifestDPIAwareOpt skipwhite
27140962ec9SBram Moolenaarsyn region nsisManifestDPIAwareOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestDPIAwareKwd
27240962ec9SBram Moolenaarsyn keyword nsisManifestDPIAwareKwd	contained notset true false
27340962ec9SBram Moolenaar
274*079ba76aSBram Moolenaarsyn keyword nsisAttribute	contained ManifestLongPathAware nextgroup=nsisManifestLongPathAwareOpt skipwhite
275*079ba76aSBram Moolenaarsyn region nsisManifestLongPathAwareOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestLongPathAwareKwd
276*079ba76aSBram Moolenaarsyn match nsisManifestLongPathAwareKwd	contained "\<\%(notset\|true\|false\)\>"
277*079ba76aSBram Moolenaar
27840962ec9SBram Moolenaarsyn keyword nsisAttribute	contained ManifestSupportedOS nextgroup=nsisManifestSupportedOSOpt skipwhite
27940962ec9SBram Moolenaarsyn region nsisManifestSupportedOSOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisManifestSupportedOSKwd
28040962ec9SBram Moolenaarsyn match nsisManifestSupportedOSKwd	contained "\<\%(none\|all\|WinVista\|Win7\|Win8\|Win8\.1\|Win10\)\>"
28140962ec9SBram Moolenaar
282*079ba76aSBram Moolenaarsyn keyword nsisAttribute	contained PEAddResource nextgroup=nsisPEAddResourceOpt skipwhite
283*079ba76aSBram Moolenaarsyn region nsisPEAddResourceOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPEAddResourceKwd
284*079ba76aSBram Moolenaarsyn match nsisPEAddResourceKwd	contained "/\%(OVERWRITE\|REPLACE\)\>"
285*079ba76aSBram Moolenaar
286*079ba76aSBram Moolenaarsyn keyword nsisAttribute	contained PERemoveResource nextgroup=nsisPERemoveResourceOpt skipwhite
287*079ba76aSBram Moolenaarsyn region nsisPERemoveResourceOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPERemoveResourceKwd
288*079ba76aSBram Moolenaarsyn match nsisPERemoveResourceKwd	contained "/NOERRORS\>"
289*079ba76aSBram Moolenaar
29040962ec9SBram Moolenaarsyn keyword nsisAttribute	contained RequestExecutionLevel nextgroup=nsisRequestExecutionLevelOpt skipwhite
29140962ec9SBram Moolenaarsyn region nsisRequestExecutionLevelOpt  contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRequestExecutionLevelKwd
29240962ec9SBram Moolenaarsyn keyword nsisRequestExecutionLevelKwd contained none user highest admin
29340962ec9SBram Moolenaar
29440962ec9SBram Moolenaarsyn keyword nsisAttribute	contained SetFont nextgroup=nsisLangOpt skipwhite
29540962ec9SBram Moolenaar
29640962ec9SBram Moolenaarsyn keyword nsisAttribute	contained nextgroup=nsisShowInstDetailsOpt skipwhite
29740962ec9SBram Moolenaar			\ ShowInstDetails ShowUninstDetails
29840962ec9SBram Moolenaarsyn region nsisShowInstDetailsOpt  contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisShowInstDetailsKwd
29940962ec9SBram Moolenaarsyn keyword nsisShowInstDetailsKwd contained hide show nevershow
30040962ec9SBram Moolenaar
30140962ec9SBram Moolenaarsyn keyword nsisAttribute	contained SilentInstall nextgroup=nsisSilentInstallOpt skipwhite
30240962ec9SBram Moolenaarsyn region nsisSilentInstallOpt	 contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSilentInstallKwd
30340962ec9SBram Moolenaarsyn keyword nsisSilentInstallKwd contained normal silent silentlog
30440962ec9SBram Moolenaar
30540962ec9SBram Moolenaarsyn keyword nsisAttribute	contained SilentUnInstall nextgroup=nsisSilentUnInstallOpt skipwhite
30640962ec9SBram Moolenaarsyn region nsisSilentUnInstallOpt  contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSilentUnInstallKwd
30740962ec9SBram Moolenaarsyn keyword nsisSilentUnInstallKwd contained normal silent
30840962ec9SBram Moolenaar
30940962ec9SBram Moolenaarsyn keyword nsisAttribute	contained nextgroup=nsisOnOffOpt skipwhite
31040962ec9SBram Moolenaar			\ WindowIcon XPStyle
31140962ec9SBram Moolenaar
31240962ec9SBram Moolenaar"COMPILER FLAGS (4.8.2)
31340962ec9SBram Moolenaarsyn keyword nsisCompiler	contained nextgroup=nsisOnOffOpt skipwhite
31440962ec9SBram Moolenaar			\ AllowSkipFiles SetDatablockOptimize SetDateSave
31540962ec9SBram Moolenaar
31640962ec9SBram Moolenaarsyn keyword nsisCompiler	contained FileBufSize SetCompressorDictSize
31740962ec9SBram Moolenaar
31840962ec9SBram Moolenaarsyn keyword nsisCompiler	contained SetCompress nextgroup=nsisSetCompressOpt skipwhite
31940962ec9SBram Moolenaarsyn region nsisSetCompressOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCompressKwd
32040962ec9SBram Moolenaarsyn keyword nsisSetCompressKwd  contained auto force off
32140962ec9SBram Moolenaar
32240962ec9SBram Moolenaarsyn keyword nsisCompiler	contained SetCompressor nextgroup=nsisSetCompressorOpt skipwhite
32340962ec9SBram Moolenaarsyn region nsisSetCompressorOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCompressorKwd
32440962ec9SBram Moolenaarsyn keyword nsisSetCompressorKwd  contained zlib bzip2 lzma
32540962ec9SBram Moolenaarsyn match nsisSetCompressorKwd	contained "/\%(SOLID\|FINAL\)"
32640962ec9SBram Moolenaar
32740962ec9SBram Moolenaarsyn keyword nsisCompiler	contained SetOverwrite nextgroup=nsisSetOverwriteOpt skipwhite
32840962ec9SBram Moolenaarsyn region nsisSetOverwriteOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetOverwriteKwd
32940962ec9SBram Moolenaarsyn keyword nsisSetOverwriteKwd	contained on off try ifnewer ifdiff lastused
33040962ec9SBram Moolenaar
33140962ec9SBram Moolenaarsyn keyword nsisCompiler	contained Unicode nextgroup=nsisBooleanOpt skipwhite
33240962ec9SBram Moolenaar
33340962ec9SBram Moolenaar"VERSION INFORMATION (4.8.3)
33440962ec9SBram Moolenaarsyn keyword nsisVersionInfo	contained VIAddVersionKey nextgroup=nsisLangOpt skipwhite
33540962ec9SBram Moolenaar
33640962ec9SBram Moolenaarsyn keyword nsisVersionInfo	contained VIProductVersion VIFileVersion
33740962ec9SBram Moolenaar
33840962ec9SBram Moolenaar
33940962ec9SBram Moolenaar"FUNCTIONS - basic (4.9.1)
34040962ec9SBram Moolenaarsyn keyword nsisInstruction	contained Delete Rename nextgroup=nsisDeleteOpt skipwhite
34140962ec9SBram Moolenaarsyn region nsisDeleteOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDeleteKwd
34240962ec9SBram Moolenaarsyn match nsisDeleteKwd		contained "/REBOOTOK\>"
34340962ec9SBram Moolenaar
34440962ec9SBram Moolenaarsyn keyword nsisInstruction	contained Exec ExecWait SetOutPath
34540962ec9SBram Moolenaar
34640962ec9SBram Moolenaarsyn keyword nsisInstruction	contained ExecShell ExecShellWait nextgroup=nsisExecShellOpt skipwhite
34740962ec9SBram Moolenaarsyn region nsisExecShellOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisExecShellKwd
34840962ec9SBram Moolenaarsyn keyword nsisExecShellKwd	contained SW_SHOWDEFAULT SW_SHOWNORMAL SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_HIDE
34940962ec9SBram Moolenaarsyn match nsisExecShellKwd	contained "/INVOKEIDLIST\>"
35040962ec9SBram Moolenaar
35140962ec9SBram Moolenaarsyn keyword nsisInstruction	contained File nextgroup=nsisFileOpt skipwhite
35240962ec9SBram Moolenaarsyn region nsisFileOpt		contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileKwd
35340962ec9SBram Moolenaarsyn match nsisFileKwd		contained "/\%(nonfatal\|[arx]\|oname\)\>"
35440962ec9SBram Moolenaar
35540962ec9SBram Moolenaarsyn keyword nsisInstruction	contained ReserveFile nextgroup=nsisReserveFileOpt skipwhite
35640962ec9SBram Moolenaarsyn region nsisReserveFileOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisReserveFileKwd
35740962ec9SBram Moolenaarsyn match nsisReserveFileKwd	contained "/\%(nonfatal\|[rx]\|plugin\)\>"
35840962ec9SBram Moolenaar
35940962ec9SBram Moolenaarsyn keyword nsisInstruction	contained RMDir nextgroup=nsisRMDirOpt skipwhite
36040962ec9SBram Moolenaarsyn region nsisRMDirOpt		contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRMDirKwd
36140962ec9SBram Moolenaarsyn match nsisRMDirKwd		contained "/\%(REBOOTOK\|r\)\>"
36240962ec9SBram Moolenaar
36340962ec9SBram Moolenaar
36440962ec9SBram Moolenaar"FUNCTIONS - registry & ini (4.9.2)
36540962ec9SBram Moolenaarsyn keyword nsisInstruction	contained DeleteINISec DeleteINIStr FlushINI ReadINIStr WriteINIStr
36640962ec9SBram Moolenaarsyn keyword nsisInstruction	contained ExpandEnvStrings ReadEnvStr
36740962ec9SBram Moolenaar
36840962ec9SBram Moolenaarsyn keyword nsisInstruction	contained DeleteRegKey nextgroup=nsisDeleteRegKeyOpt skipwhite
36940962ec9SBram Moolenaarsyn region nsisDeleteRegKeyOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDeleteRegKeyKwd,nsisRegistry
370*079ba76aSBram Moolenaarsyn match nsisDeleteRegKeyKwd	contained "/\%(ifempty\|ifnosubkeys\|ifnovalues\)\>"
37140962ec9SBram Moolenaar
37240962ec9SBram Moolenaarsyn keyword nsisInstruction	contained nextgroup=nsisRegistryOpt skipwhite
37340962ec9SBram Moolenaar			\ DeleteRegValue EnumRegKey EnumRegValue ReadRegDWORD ReadRegStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr
37440962ec9SBram Moolenaarsyn region nsisRegistryOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRegistry
37540962ec9SBram Moolenaar
37640962ec9SBram Moolenaarsyn keyword nsisInstruction	contained WriteRegMultiStr nextgroup=nsisWriteRegMultiStrOpt skipwhite
37740962ec9SBram Moolenaarsyn region nsisWriteRegMultiStrOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisRegistry,nsisWriteRegMultiStrKwd
37840962ec9SBram Moolenaarsyn match nsisWriteRegMultiStrKwd  contained "/REGEDIT5\>"
37940962ec9SBram Moolenaar
38040962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetRegView nextgroup=nsisSetRegViewOpt skipwhite
38140962ec9SBram Moolenaarsyn region nsisSetRegViewOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetRegViewKwd
38240962ec9SBram Moolenaarsyn keyword nsisSetRegViewKwd	contained default lastused
38340962ec9SBram Moolenaar
38440962ec9SBram Moolenaar"FUNCTIONS - general purpose (4.9.3)
385*079ba76aSBram Moolenaarsyn keyword nsisInstruction	contained CallInstDLL CreateDirectory GetWinVer
386*079ba76aSBram Moolenaarsyn keyword nsisInstruction	contained GetFileTime GetFileTimeLocal GetKnownFolderPath
38740962ec9SBram Moolenaarsyn keyword nsisInstruction	contained GetTempFileName SearchPath RegDLL UnRegDLL
38840962ec9SBram Moolenaar
38940962ec9SBram Moolenaarsyn keyword nsisInstruction	contained CopyFiles nextgroup=nsisCopyFilesOpt skipwhite
39040962ec9SBram Moolenaarsyn region nsisCopyFilesOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCopyFilesKwd
39140962ec9SBram Moolenaarsyn match nsisCopyFilesKwd	contained "/\%(SILENT\|FILESONLY\)\>"
39240962ec9SBram Moolenaar
39340962ec9SBram Moolenaarsyn keyword nsisInstruction	contained CreateShortcut nextgroup=nsisCreateShortcutOpt skipwhite
39440962ec9SBram Moolenaarsyn region nsisCreateShortcutOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisCreateShortcutKwd
39540962ec9SBram Moolenaarsyn match nsisCreateShortcutKwd	 contained "/NoWorkingDir\>"
39640962ec9SBram Moolenaar
397*079ba76aSBram Moolenaarsyn keyword nsisInstruction	contained GetDLLVersion GetDLLVersionLocal nextgroup=nsisGetDLLVersionOpt skipwhite
398*079ba76aSBram Moolenaarsyn region nsisGetDLLVersionOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetDLLVersionKwd
399*079ba76aSBram Moolenaarsyn match nsisGetDLLVersionKwd	 contained "/ProductVersion\>"
400*079ba76aSBram Moolenaar
40140962ec9SBram Moolenaarsyn keyword nsisInstruction	contained GetFullPathName nextgroup=nsisGetFullPathNameOpt skipwhite
40240962ec9SBram Moolenaarsyn region nsisGetFullPathNameOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisGetFullPathNameKwd
40340962ec9SBram Moolenaarsyn match nsisGetFullPathNameKwd  contained "/SHORT\>"
40440962ec9SBram Moolenaar
40540962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetFileAttributes nextgroup=nsisSetFileAttributesOpt skipwhite
40640962ec9SBram Moolenaarsyn region nsisSetFileAttributesOpt  contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileAttrib
40740962ec9SBram Moolenaarsyn keyword nsisFileAttrib	contained NORMAL ARCHIVE HIDDEN OFFLINE READONLY SYSTEM TEMPORARY
40840962ec9SBram Moolenaarsyn keyword nsisFileAttrib	contained FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN
40940962ec9SBram Moolenaarsyn keyword nsisFileAttrib	contained FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM
41040962ec9SBram Moolenaarsyn keyword nsisFileAttrib	contained FILE_ATTRIBUTE_TEMPORARY
41140962ec9SBram Moolenaar
41240962ec9SBram Moolenaar"FUNCTIONS - Flow Control (4.9.4)
41340962ec9SBram Moolenaarsyn keyword nsisInstruction	contained Abort Call ClearErrors GetCurrentAddress
41440962ec9SBram Moolenaarsyn keyword nsisInstruction	contained GetFunctionAddress GetLabelAddress Goto
41540962ec9SBram Moolenaarsyn keyword nsisInstruction	contained IfAbort IfErrors IfFileExists IfRebootFlag IfSilent
416*079ba76aSBram Moolenaarsyn keyword nsisInstruction	contained IfShellVarContextAll IfRtlLanguage
417eb3dc87fSBram Moolenaarsyn keyword nsisInstruction	contained IntCmp IntCmpU Int64Cmp Int64CmpU IntPtrCmp IntPtrCmpU
418eb3dc87fSBram Moolenaarsyn keyword nsisInstruction	contained Return Quit SetErrors StrCmp StrCmpS
41940962ec9SBram Moolenaar
42040962ec9SBram Moolenaarsyn keyword nsisInstruction	contained MessageBox nextgroup=nsisMessageBoxOpt skipwhite
42140962ec9SBram Moolenaarsyn region nsisMessageBoxOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisMessageBox
42240962ec9SBram Moolenaarsyn keyword nsisMessageBox	contained MB_OK MB_OKCANCEL MB_ABORTRETRYIGNORE MB_RETRYCANCEL MB_YESNO MB_YESNOCANCEL
42340962ec9SBram Moolenaarsyn keyword nsisMessageBox	contained MB_ICONEXCLAMATION MB_ICONINFORMATION MB_ICONQUESTION MB_ICONSTOP MB_USERICON
42440962ec9SBram Moolenaarsyn keyword nsisMessageBox	contained MB_TOPMOST MB_SETFOREGROUND MB_RIGHT MB_RTLREADING
42540962ec9SBram Moolenaarsyn keyword nsisMessageBox	contained MB_DEFBUTTON1 MB_DEFBUTTON2 MB_DEFBUTTON3 MB_DEFBUTTON4
42640962ec9SBram Moolenaarsyn keyword nsisMessageBox	contained IDABORT IDCANCEL IDIGNORE IDNO IDOK IDRETRY IDYES
42740962ec9SBram Moolenaarsyn match nsisMessageBox	contained "/SD\>"
42840962ec9SBram Moolenaar
42940962ec9SBram Moolenaar"FUNCTIONS - File and directory i/o instructions (4.9.5)
43040962ec9SBram Moolenaarsyn keyword nsisInstruction	contained FileClose FileOpen FileRead FileReadUTF16LE
43140962ec9SBram Moolenaarsyn keyword nsisInstruction	contained FileReadByte FileReadWord FileSeek FileWrite
43240962ec9SBram Moolenaarsyn keyword nsisInstruction	contained FileWriteByte FileWriteWord
43340962ec9SBram Moolenaarsyn keyword nsisInstruction	contained FindClose FindFirst FindNext
43440962ec9SBram Moolenaar
43540962ec9SBram Moolenaarsyn keyword nsisInstruction	contained FileWriteUTF16LE nextgroup=nsisFileWriteUTF16LEOpt skipwhite
43640962ec9SBram Moolenaarsyn region nsisFileWriteUTF16LEOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisFileWriteUTF16LEKwd
43740962ec9SBram Moolenaarsyn match nsisFileWriteUTF16LEKwd  contained "/BOM\>"
43840962ec9SBram Moolenaar
43940962ec9SBram Moolenaar"FUNCTIONS - Uninstaller instructions (4.9.6)
44040962ec9SBram Moolenaarsyn keyword nsisInstruction	contained WriteUninstaller
44140962ec9SBram Moolenaar
44240962ec9SBram Moolenaar"FUNCTIONS - Misc instructions (4.9.7)
44340962ec9SBram Moolenaarsyn keyword nsisInstruction	contained GetErrorLevel GetInstDirError InitPluginsDir Nop
44440962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetErrorLevel Sleep
44540962ec9SBram Moolenaar
44640962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetShellVarContext nextgroup=nsisSetShellVarContextOpt skipwhite
44740962ec9SBram Moolenaarsyn region nsisSetShellVarContextOpt  contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetShellVarContextKwd
44840962ec9SBram Moolenaarsyn keyword nsisSetShellVarContextKwd contained current all
44940962ec9SBram Moolenaar
45040962ec9SBram Moolenaar"FUNCTIONS - String manipulation support (4.9.8)
45140962ec9SBram Moolenaarsyn keyword nsisInstruction	contained StrCpy StrLen
45240962ec9SBram Moolenaar
45340962ec9SBram Moolenaar"FUNCTIONS - Stack support (4.9.9)
45440962ec9SBram Moolenaarsyn keyword nsisInstruction	contained Exch Push Pop
45540962ec9SBram Moolenaar
45640962ec9SBram Moolenaar"FUNCTIONS - Integer manipulation support (4.9.10)
457eb3dc87fSBram Moolenaarsyn keyword nsisInstruction	contained IntFmt Int64Fmt IntOp IntPtrOp
45840962ec9SBram Moolenaar
45940962ec9SBram Moolenaar"FUNCTIONS - Rebooting support (4.9.11)
46040962ec9SBram Moolenaarsyn keyword nsisInstruction	contained Reboot SetRebootFlag
46140962ec9SBram Moolenaar
46240962ec9SBram Moolenaar"FUNCTIONS - Install logging instructions (4.9.12)
46340962ec9SBram Moolenaarsyn keyword nsisInstruction	contained LogSet nextgroup=nsisOnOffOpt skipwhite
46440962ec9SBram Moolenaarsyn keyword nsisInstruction	contained LogText
46540962ec9SBram Moolenaar
46640962ec9SBram Moolenaar"FUNCTIONS - Section management instructions (4.9.13)
46740962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SectionSetFlags SectionGetFlags SectionSetText
46840962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SectionGetText SectionSetInstTypes SectionGetInstTypes
46940962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SectionSetSize SectionGetSize SetCurInstType GetCurInstType
47040962ec9SBram Moolenaarsyn keyword nsisInstruction	contained InstTypeSetText InstTypeGetText
47140962ec9SBram Moolenaar
47240962ec9SBram Moolenaar"FUNCTIONS - User Interface Instructions (4.9.14)
47340962ec9SBram Moolenaarsyn keyword nsisInstruction	contained BringToFront DetailPrint EnableWindow
47440962ec9SBram Moolenaarsyn keyword nsisInstruction	contained FindWindow GetDlgItem HideWindow IsWindow
47540962ec9SBram Moolenaarsyn keyword nsisInstruction	contained ShowWindow
47640962ec9SBram Moolenaar
47740962ec9SBram Moolenaarsyn keyword nsisInstruction	contained CreateFont nextgroup=nsisFontOpt skipwhite
47840962ec9SBram Moolenaar
47940962ec9SBram Moolenaarsyn keyword nsisInstruction	contained nextgroup=nsisBooleanOpt skipwhite
48040962ec9SBram Moolenaar			\ LockWindow SetAutoClose
48140962ec9SBram Moolenaar
482*079ba76aSBram Moolenaarsyn keyword nsisInstruction	contained LoadAndSetImage nextgroup=nsisLoadAndSetImageOpt skipwhite
483*079ba76aSBram Moolenaarsyn region nsisLoadAndSetImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisLoadAndSetImageKwd
484*079ba76aSBram Moolenaarsyn match nsisLoadAndSetImageKwd  contained "/\%(EXERESOURCE\|STRINGID\|RESIZETOFIT\%(WIDTH\|HEIGHT\)\)\>"
485*079ba76aSBram Moolenaar
48640962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SendMessage nextgroup=nsisSendMessageOpt skipwhite
48740962ec9SBram Moolenaarsyn region nsisSendMessageOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSendMessageKwd
48840962ec9SBram Moolenaarsyn match nsisSendMessageKwd	contained "/TIMEOUT\>"
48940962ec9SBram Moolenaar
49040962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetBrandingImage nextgroup=nsisSetBrandingImageOpt skipwhite
49140962ec9SBram Moolenaarsyn region nsisSetBrandingImageOpt contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetBrandingImageKwd
49240962ec9SBram Moolenaarsyn match nsisSetBrandingImageKwd  contained "/\%(IMGID\|RESIZETOFIT\)\>"
49340962ec9SBram Moolenaar
49440962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetDetailsView nextgroup=nsisSetDetailsViewOpt skipwhite
49540962ec9SBram Moolenaarsyn region nsisSetDetailsViewOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetDetailsViewKwd
49640962ec9SBram Moolenaarsyn keyword nsisSetDetailsViewKwd	contained show hide
49740962ec9SBram Moolenaar
49840962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetDetailsPrint nextgroup=nsisSetDetailsPrintOpt skipwhite
49940962ec9SBram Moolenaarsyn region nsisSetDetailsPrintOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetDetailsPrintKwd
50040962ec9SBram Moolenaarsyn keyword nsisSetDetailsPrintKwd	contained none listonly textonly both lastused
50140962ec9SBram Moolenaar
50240962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetCtlColors nextgroup=nsisSetCtlColorsOpt skipwhite
50340962ec9SBram Moolenaarsyn region nsisSetCtlColorsOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetCtlColorsKwd
50440962ec9SBram Moolenaarsyn match nsisSetCtlColorsKwd	contained "/BRANDING\>"
50540962ec9SBram Moolenaar
50640962ec9SBram Moolenaarsyn keyword nsisInstruction	contained SetSilent nextgroup=nsisSetSilentOpt skipwhite
50740962ec9SBram Moolenaarsyn region nsisSetSilentOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSetSilentKwd
50840962ec9SBram Moolenaarsyn keyword nsisSetSilentKwd	contained silent normal
50940962ec9SBram Moolenaar
51040962ec9SBram Moolenaar
51140962ec9SBram Moolenaar"FUNCTIONS - Multiple Languages Instructions (4.9.15)
51240962ec9SBram Moolenaarsyn keyword nsisInstruction	contained LoadLanguageFile LangString LicenseLangString
51340962ec9SBram Moolenaar
51440962ec9SBram Moolenaar
51540962ec9SBram Moolenaar"SPECIAL FUNCTIONS - install (4.7.2.1)
51640962ec9SBram Moolenaarsyn match nsisCallback		"\.onGUIInit"
517071d4279SBram Moolenaarsyn match nsisCallback		"\.onInit"
518071d4279SBram Moolenaarsyn match nsisCallback		"\.onInstFailed"
51940962ec9SBram Moolenaarsyn match nsisCallback		"\.onInstSuccess"
52040962ec9SBram Moolenaarsyn match nsisCallback		"\.onGUIEnd"
52140962ec9SBram Moolenaarsyn match nsisCallback		"\.onMouseOverSection"
52240962ec9SBram Moolenaarsyn match nsisCallback		"\.onRebootFailed"
523071d4279SBram Moolenaarsyn match nsisCallback		"\.onSelChange"
52440962ec9SBram Moolenaarsyn match nsisCallback		"\.onUserAbort"
52540962ec9SBram Moolenaarsyn match nsisCallback		"\.onVerifyInstDir"
526071d4279SBram Moolenaar
52740962ec9SBram Moolenaar"SPECIAL FUNCTIONS - uninstall (4.7.2.2)
52840962ec9SBram Moolenaarsyn match nsisCallback		"un\.onGUIInit"
529071d4279SBram Moolenaarsyn match nsisCallback		"un\.onInit"
53040962ec9SBram Moolenaarsyn match nsisCallback		"un\.onUninstFailed"
53140962ec9SBram Moolenaarsyn match nsisCallback		"un\.onUninstSuccess"
53240962ec9SBram Moolenaarsyn match nsisCallback		"un\.onGUIEnd"
53340962ec9SBram Moolenaarsyn match nsisCallback		"un\.onRebootFailed"
53440962ec9SBram Moolenaarsyn match nsisCallback		"un\.onSelChange"
535071d4279SBram Moolenaarsyn match nsisCallback		"un\.onUserAbort"
536071d4279SBram Moolenaar
537071d4279SBram Moolenaar
53840962ec9SBram Moolenaar"COMPILER UTILITY (5.1)
53940962ec9SBram Moolenaarsyn match nsisInclude		contained "!include\>" nextgroup=nsisIncludeOpt skipwhite
54040962ec9SBram Moolenaarsyn region nsisIncludeOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisIncludeKwd
54140962ec9SBram Moolenaarsyn match nsisIncludeKwd	contained "/\%(NONFATAL\|CHARSET\)\>"
542071d4279SBram Moolenaar
54340962ec9SBram Moolenaarsyn match nsisSystem		contained "!addincludedir\>"
544071d4279SBram Moolenaar
54540962ec9SBram Moolenaarsyn match nsisSystem		contained "!addplugindir\>" nextgroup=nsisAddplugindirOpt skipwhite
54640962ec9SBram Moolenaarsyn region nsisAddplugindirOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAddplugindirKwd
54740962ec9SBram Moolenaarsyn match nsisAddplugindirKwd	contained "/\%(x86-ansi\|x86-unicode\)\>"
548071d4279SBram Moolenaar
54940962ec9SBram Moolenaarsyn match nsisSystem		contained "!appendfile\>" nextgroup=nsisAppendfileOpt skipwhite
55040962ec9SBram Moolenaarsyn region nsisAppendfileOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisAppendfileKwd
55140962ec9SBram Moolenaarsyn match nsisAppendfileKwd	contained "/\%(CHARSET\|RawNL\)\>"
552071d4279SBram Moolenaar
55340962ec9SBram Moolenaarsyn match nsisSystem		contained "!cd\>"
55440962ec9SBram Moolenaar
55540962ec9SBram Moolenaarsyn match nsisSystem		contained "!delfile\>" nextgroup=nsisDelfileOpt skipwhite
55640962ec9SBram Moolenaarsyn region nsisDelfileOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDelfileKwd
55740962ec9SBram Moolenaarsyn match nsisDelfileKwd	contained "/nonfatal\>"
55840962ec9SBram Moolenaar
55940962ec9SBram Moolenaarsyn match nsisSystem		contained "!echo\>"
56040962ec9SBram Moolenaarsyn match nsisSystem		contained "!error\>"
56140962ec9SBram Moolenaarsyn match nsisSystem		contained "!execute\>"
56240962ec9SBram Moolenaarsyn match nsisSystem		contained "!makensis\>"
56340962ec9SBram Moolenaarsyn match nsisSystem		contained "!packhdr\>"
56440962ec9SBram Moolenaarsyn match nsisSystem		contained "!finalize\>"
56540962ec9SBram Moolenaarsyn match nsisSystem		contained "!system\>"
56640962ec9SBram Moolenaarsyn match nsisSystem		contained "!tempfile\>"
56740962ec9SBram Moolenaarsyn match nsisSystem		contained "!getdllversion\>"
568eb3dc87fSBram Moolenaarsyn match nsisSystem		contained "!gettlbversion\>"
56940962ec9SBram Moolenaarsyn match nsisSystem		contained "!warning\>"
57040962ec9SBram Moolenaar
57140962ec9SBram Moolenaarsyn match nsisSystem		contained "!pragma\>" nextgroup=nsisPragmaOpt skipwhite
57240962ec9SBram Moolenaarsyn region nsisPragmaOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisPragmaKwd
57340962ec9SBram Moolenaarsyn keyword nsisPragmaKwd	contained enable disable default push pop
57440962ec9SBram Moolenaar
57540962ec9SBram Moolenaarsyn match nsisSystem		contained "!verbose\>" nextgroup=nsisVerboseOpt skipwhite
57640962ec9SBram Moolenaarsyn region nsisVerboseOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisVerboseKwd
57740962ec9SBram Moolenaarsyn keyword nsisVerboseKwd	contained push pop
57840962ec9SBram Moolenaar
57940962ec9SBram Moolenaar"PREPROCESSOR (5.4)
58040962ec9SBram Moolenaarsyn match nsisDefine		contained "!define\>" nextgroup=nsisDefineOpt skipwhite
58140962ec9SBram Moolenaarsyn region nsisDefineOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisDefineKwd
582*079ba76aSBram Moolenaarsyn match nsisDefineKwd		contained "/\%(ifndef\|redef\|date\|utcdate\|file\|intfmt\|math\)\>"
58340962ec9SBram Moolenaar
58440962ec9SBram Moolenaarsyn match nsisDefine		contained "!undef\>"
58540962ec9SBram Moolenaarsyn match nsisPreCondit		contained "!ifdef\>"
58640962ec9SBram Moolenaarsyn match nsisPreCondit		contained "!ifndef\>"
58740962ec9SBram Moolenaar
58840962ec9SBram Moolenaarsyn match nsisPreCondit		contained "!if\>" nextgroup=nsisIfOpt skipwhite
58940962ec9SBram Moolenaarsyn region nsisIfOpt		contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisIfKwd
59040962ec9SBram Moolenaarsyn match nsisIfKwd		contained "/FileExists\>"
59140962ec9SBram Moolenaar
59240962ec9SBram Moolenaarsyn match nsisPreCondit		contained "!ifmacrodef\>"
59340962ec9SBram Moolenaarsyn match nsisPreCondit		contained "!ifmacrondef\>"
59440962ec9SBram Moolenaarsyn match nsisPreCondit		contained "!else\>"
59540962ec9SBram Moolenaarsyn match nsisPreCondit		contained "!endif\>"
59640962ec9SBram Moolenaarsyn match nsisMacro		contained "!insertmacro\>"
59740962ec9SBram Moolenaarsyn match nsisMacro		contained "!macro\>"
59840962ec9SBram Moolenaarsyn match nsisMacro		contained "!macroend\>"
59940962ec9SBram Moolenaarsyn match nsisMacro		contained "!macroundef\>"
60040962ec9SBram Moolenaar
60140962ec9SBram Moolenaarsyn match nsisMacro		contained "!searchparse\>" nextgroup=nsisSearchparseOpt skipwhite
60240962ec9SBram Moolenaarsyn region nsisSearchparseOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSearchparseKwd
60340962ec9SBram Moolenaarsyn match nsisSearchparseKwd	contained "/\%(ignorecase\|noerrors\|file\)\>"
60440962ec9SBram Moolenaar
60540962ec9SBram Moolenaarsyn match nsisMacro		contained "!searchreplace\>" nextgroup=nsisSearchreplaceOpt skipwhite
60640962ec9SBram Moolenaarsyn region nsisSearchreplaceOpt	contained start="" end="$" transparent keepend contains=@nsisAnyOpt,nsisSearchreplaceKwd
60740962ec9SBram Moolenaarsyn match nsisSearchreplaceKwd	contained "/ignorecase\>"
60840962ec9SBram Moolenaar
609071d4279SBram Moolenaar
610071d4279SBram Moolenaar
611071d4279SBram Moolenaar" Define the default highlighting.
61289bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
613071d4279SBram Moolenaar
614f37506f6SBram Moolenaarhi def link nsisInstruction		Function
615f37506f6SBram Moolenaarhi def link nsisComment			Comment
61640962ec9SBram Moolenaarhi def link nsisFirstComment		Comment
617f37506f6SBram Moolenaarhi def link nsisLocalLabel		Label
618f37506f6SBram Moolenaarhi def link nsisGlobalLabel		Label
619f37506f6SBram Moolenaarhi def link nsisStatement		Statement
620f37506f6SBram Moolenaarhi def link nsisString			String
621f37506f6SBram Moolenaarhi def link nsisBoolean			Boolean
62240962ec9SBram Moolenaarhi def link nsisOnOff			Boolean
62340962ec9SBram Moolenaarhi def link nsisFontKwd			Constant
62440962ec9SBram Moolenaarhi def link nsisLangKwd			Constant
62540962ec9SBram Moolenaarhi def link nsisPageKwd			Constant
62640962ec9SBram Moolenaarhi def link nsisPageExKwd		Constant
62740962ec9SBram Moolenaarhi def link nsisSectionKwd		Constant
62840962ec9SBram Moolenaarhi def link nsisSectionInKwd		Constant
62940962ec9SBram Moolenaarhi def link nsisSectionGroupKwd		Constant
63040962ec9SBram Moolenaarhi def link nsisVarKwd			Constant
63140962ec9SBram Moolenaarhi def link nsisAddBrandingImageKwd	Constant
63240962ec9SBram Moolenaarhi def link nsisBGGradientKwd		Constant
63340962ec9SBram Moolenaarhi def link nsisBrandingTextKwd		Constant
63440962ec9SBram Moolenaarhi def link nsisCRCCheckKwd		Constant
63540962ec9SBram Moolenaarhi def link nsisDirVerifyKwd		Constant
63640962ec9SBram Moolenaarhi def link nsisInstallColorsKwd	Constant
63740962ec9SBram Moolenaarhi def link nsisInstTypeKwd		Constant
63840962ec9SBram Moolenaarhi def link nsisLicenseBkColorKwd	Constant
63940962ec9SBram Moolenaarhi def link nsisLicenseForceSelectionKwd Constant
64040962ec9SBram Moolenaarhi def link nsisManifestDPIAwareKwd	Constant
641*079ba76aSBram Moolenaarhi def link nsisManifestLongPathAwareKwd Constant
64240962ec9SBram Moolenaarhi def link nsisManifestSupportedOSKwd	Constant
643*079ba76aSBram Moolenaarhi def link nsisPEAddResourceKwd	Constant
644*079ba76aSBram Moolenaarhi def link nsisPERemoveResourceKwd	Constant
64540962ec9SBram Moolenaarhi def link nsisRequestExecutionLevelKwd Constant
64640962ec9SBram Moolenaarhi def link nsisShowInstDetailsKwd	Constant
64740962ec9SBram Moolenaarhi def link nsisSilentInstallKwd	Constant
64840962ec9SBram Moolenaarhi def link nsisSilentUnInstallKwd	Constant
64940962ec9SBram Moolenaarhi def link nsisSetCompressKwd		Constant
65040962ec9SBram Moolenaarhi def link nsisSetCompressorKwd	Constant
65140962ec9SBram Moolenaarhi def link nsisSetOverwriteKwd		Constant
65240962ec9SBram Moolenaarhi def link nsisDeleteKwd		Constant
65340962ec9SBram Moolenaarhi def link nsisExecShellKwd		Constant
65440962ec9SBram Moolenaarhi def link nsisFileKwd			Constant
65540962ec9SBram Moolenaarhi def link nsisReserveFileKwd		Constant
65640962ec9SBram Moolenaarhi def link nsisRMDirKwd		Constant
65740962ec9SBram Moolenaarhi def link nsisDeleteRegKeyKwd		Constant
65840962ec9SBram Moolenaarhi def link nsisWriteRegMultiStrKwd	Constant
65940962ec9SBram Moolenaarhi def link nsisSetRegViewKwd		Constant
66040962ec9SBram Moolenaarhi def link nsisCopyFilesKwd		Constant
66140962ec9SBram Moolenaarhi def link nsisCreateShortcutKwd	Constant
662*079ba76aSBram Moolenaarhi def link nsisGetDLLVersionKwd	Constant
66340962ec9SBram Moolenaarhi def link nsisGetFullPathNameKwd	Constant
664f37506f6SBram Moolenaarhi def link nsisFileAttrib		Constant
665f37506f6SBram Moolenaarhi def link nsisMessageBox		Constant
66640962ec9SBram Moolenaarhi def link nsisFileWriteUTF16LEKwd	Constant
66740962ec9SBram Moolenaarhi def link nsisSetShellVarContextKwd	Constant
668*079ba76aSBram Moolenaarhi def link nsisLoadAndSetImageKwd	Constant
66940962ec9SBram Moolenaarhi def link nsisSendMessageKwd		Constant
67040962ec9SBram Moolenaarhi def link nsisSetBrandingImageKwd	Constant
67140962ec9SBram Moolenaarhi def link nsisSetDetailsViewKwd	Constant
67240962ec9SBram Moolenaarhi def link nsisSetDetailsPrintKwd	Constant
67340962ec9SBram Moolenaarhi def link nsisSetCtlColorsKwd		Constant
67440962ec9SBram Moolenaarhi def link nsisSetSilentKwd		Constant
675f37506f6SBram Moolenaarhi def link nsisRegistry		Identifier
676f37506f6SBram Moolenaarhi def link nsisNumber			Number
677f37506f6SBram Moolenaarhi def link nsisError			Error
678f37506f6SBram Moolenaarhi def link nsisUserVar			Identifier
679f37506f6SBram Moolenaarhi def link nsisSysVar			Identifier
680f37506f6SBram Moolenaarhi def link nsisAttribute		Type
681f37506f6SBram Moolenaarhi def link nsisCompiler		Type
68240962ec9SBram Moolenaarhi def link nsisVersionInfo		Type
683f37506f6SBram Moolenaarhi def link nsisTodo			Todo
68440962ec9SBram Moolenaarhi def link nsisCallback		Identifier
685071d4279SBram Moolenaar" preprocessor commands
686f37506f6SBram Moolenaarhi def link nsisPreprocSubst		PreProc
68740962ec9SBram Moolenaarhi def link nsisPreprocLangStr		PreProc
68840962ec9SBram Moolenaarhi def link nsisPreprocEnvVar		PreProc
689f37506f6SBram Moolenaarhi def link nsisDefine			Define
690f37506f6SBram Moolenaarhi def link nsisMacro			Macro
691f37506f6SBram Moolenaarhi def link nsisPreCondit		PreCondit
692f37506f6SBram Moolenaarhi def link nsisInclude			Include
693f37506f6SBram Moolenaarhi def link nsisSystem			PreProc
69440962ec9SBram Moolenaarhi def link nsisLineContinuation	Special
69540962ec9SBram Moolenaarhi def link nsisIncludeKwd		Constant
69640962ec9SBram Moolenaarhi def link nsisAddplugindirKwd		Constant
69740962ec9SBram Moolenaarhi def link nsisAppendfileKwd		Constant
69840962ec9SBram Moolenaarhi def link nsisDelfileKwd		Constant
69940962ec9SBram Moolenaarhi def link nsisPragmaKwd		Constant
70040962ec9SBram Moolenaarhi def link nsisVerboseKwd		Constant
70140962ec9SBram Moolenaarhi def link nsisDefineKwd		Constant
70240962ec9SBram Moolenaarhi def link nsisIfKwd			Constant
70340962ec9SBram Moolenaarhi def link nsisSearchparseKwd		Constant
70440962ec9SBram Moolenaarhi def link nsisSearchreplaceKwd	Constant
705071d4279SBram Moolenaar
706071d4279SBram Moolenaar
707071d4279SBram Moolenaarlet b:current_syntax = "nsis"
708071d4279SBram Moolenaar
70940962ec9SBram Moolenaarlet &cpo = s:cpo_save
71040962ec9SBram Moolenaarunlet s:cpo_save
711