neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

nsis.vim (37370B)


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