mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
	
	
		
			272 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			272 lines
		
	
	
		
			9.6 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	NSIS script, for version of NSIS 1.91 and later | ||
|  | " Maintainer:	Alex Jakushev <Alex.Jakushev@kemek.lt> | ||
|  | " Last Change:	2004 May 12 | ||
|  | 
 | ||
|  | " For version 5.x: Clear all syntax items | ||
|  | " For version 6.x: Quit when a syntax file was already loaded | ||
|  | if version < 600 | ||
|  |   syntax clear | ||
|  | elseif exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | syn case ignore | ||
|  | 
 | ||
|  | 
 | ||
|  | "COMMENTS | ||
|  | syn keyword nsisTodo	todo attention note fixme readme | ||
|  | syn region nsisComment	start=";"  end="$" contains=nsisTodo | ||
|  | syn region nsisComment	start="#"  end="$" contains=nsisTodo | ||
|  | 
 | ||
|  | "LABELS | ||
|  | syn match nsisLocalLabel	"\a\S\{-}:" | ||
|  | syn match nsisGlobalLabel	"\.\S\{-1,}:" | ||
|  | 
 | ||
|  | "PREPROCESSOR | ||
|  | syn match nsisPreprocSubst	"${.\{-}}" | ||
|  | syn match nsisDefine		"!define\>" | ||
|  | syn match nsisDefine		"!undef\>" | ||
|  | syn match nsisPreCondit		"!ifdef\>" | ||
|  | syn match nsisPreCondit		"!ifndef\>" | ||
|  | syn match nsisPreCondit		"!endif\>" | ||
|  | syn match nsisPreCondit		"!else\>" | ||
|  | syn match nsisMacro		"!macro\>" | ||
|  | syn match nsisMacro		"!macroend\>" | ||
|  | syn match nsisMacro		"!insertmacro\>" | ||
|  | 
 | ||
|  | "COMPILER UTILITY | ||
|  | syn match nsisInclude		"!include\>" | ||
|  | syn match nsisSystem		"!cd\>" | ||
|  | syn match nsisSystem		"!system\>" | ||
|  | syn match nsisSystem		"!packhdr\>" | ||
|  | 
 | ||
|  | "VARIABLES | ||
|  | syn match nsisUserVar		"$\d" | ||
|  | syn match nsisUserVar		"$R\d" | ||
|  | syn match nsisSysVar		"$INSTDIR" | ||
|  | syn match nsisSysVar		"$OUTDIR" | ||
|  | syn match nsisSysVar		"$CMDLINE" | ||
|  | syn match nsisSysVar		"$PROGRAMFILES" | ||
|  | syn match nsisSysVar		"$DESKTOP" | ||
|  | syn match nsisSysVar		"$EXEDIR" | ||
|  | syn match nsisSysVar		"$WINDIR" | ||
|  | syn match nsisSysVar		"$SYSDIR" | ||
|  | syn match nsisSysVar		"$TEMP" | ||
|  | syn match nsisSysVar		"$STARTMENU" | ||
|  | syn match nsisSysVar		"$SMPROGRAMS" | ||
|  | syn match nsisSysVar		"$SMSTARTUP" | ||
|  | syn match nsisSysVar		"$QUICKLAUNCH" | ||
|  | syn match nsisSysVar		"$HWNDPARENT" | ||
|  | syn match nsisSysVar		"$\\r" | ||
|  | syn match nsisSysVar		"$\\n" | ||
|  | syn match nsisSysVar		"$\$" | ||
|  | 
 | ||
|  | "STRINGS | ||
|  | syn region nsisString	start=/"/ skip=/'\|`/ end=/"/ contains=nsisPreprocSubst,nsisUserVar,nsisSysVar,nsisRegistry | ||
|  | syn region nsisString	start=/'/ skip=/"\|`/ end=/'/ contains=nsisPreprocSubst,nsisUserVar,nsisSysVar,nsisRegistry | ||
|  | syn region nsisString	start=/`/ skip=/"\|'/ end=/`/ contains=nsisPreprocSubst,nsisUserVar,nsisSysVar,nsisRegistry | ||
|  | 
 | ||
|  | "CONSTANTS | ||
|  | syn keyword nsisBoolean		true false on off | ||
|  | 
 | ||
|  | syn keyword nsisAttribOptions	hide show nevershow auto force try ifnewer normal silent silentlog | ||
|  | syn keyword nsisAttribOptions	smooth colored SET CUR END RO none listonly textonly both current all | ||
|  | syn keyword nsisAttribOptions	zlib bzip2 lzma | ||
|  | 
 | ||
|  | syn match nsisAttribOptions	'\/NOCUSTOM' | ||
|  | syn match nsisAttribOptions	'\/CUSTOMSTRING' | ||
|  | syn match nsisAttribOptions	'\/COMPONENTSONLYONCUSTOM' | ||
|  | syn match nsisAttribOptions	'\/windows' | ||
|  | syn match nsisAttribOptions	'\/r' | ||
|  | syn match nsisAttribOptions	'\/oname' | ||
|  | syn match nsisAttribOptions	'\/REBOOTOK' | ||
|  | syn match nsisAttribOptions	'\/SILENT' | ||
|  | syn match nsisAttribOptions	'\/FILESONLY' | ||
|  | syn match nsisAttribOptions	'\/SHORT' | ||
|  | 
 | ||
|  | syn keyword nsisExecShell	SW_SHOWNORMAL SW_SHOWMAXIMIZED SW_SHOWMINIMIZED | ||
|  | 
 | ||
|  | syn keyword nsisRegistry	HKCR HKLM HKCU HKU HKCC HKDD HKPD | ||
|  | syn keyword nsisRegistry	HKEY_CLASSES_ROOT HKEY_LOCAL_MACHINE HKEY_CURRENT_USER HKEY_USERS | ||
|  | syn keyword nsisRegistry	HKEY_CURRENT_CONFIG HKEY_DYN_DATA HKEY_PERFORMANCE_DATA | ||
|  | 
 | ||
|  | syn keyword nsisFileAttrib	NORMAL ARCHIVE HIDDEN OFFLINE READONLY SYSTEM TEMPORARY | ||
|  | syn keyword nsisFileAttrib	FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_ARCHIVE FILE_ATTRIBUTE_HIDDEN | ||
|  | syn keyword nsisFileAttrib	FILE_ATTRIBUTE_OFFLINE FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_SYSTEM | ||
|  | syn keyword nsisFileAttrib	FILE_ATTRIBUTE_TEMPORARY | ||
|  | 
 | ||
|  | syn keyword nsisMessageBox	MB_OK MB_OKCANCEL MB_ABORTRETRYIGNORE MB_RETRYCANCEL MB_YESNO MB_YESNOCANCEL | ||
|  | syn keyword nsisMessageBox	MB_ICONEXCLAMATION MB_ICONINFORMATION MB_ICONQUESTION MB_ICONSTOP | ||
|  | syn keyword nsisMessageBox	MB_TOPMOST MB_SETFOREGROUND MB_RIGHT | ||
|  | syn keyword nsisMessageBox	MB_DEFBUTTON1 MB_DEFBUTTON2 MB_DEFBUTTON3 MB_DEFBUTTON4 | ||
|  | syn keyword nsisMessageBox	IDABORT IDCANCEL IDIGNORE IDNO IDOK IDRETRY IDYES | ||
|  | 
 | ||
|  | syn match nsisNumber		"\<[^0]\d*\>" | ||
|  | syn match nsisNumber		"\<0x\x\+\>" | ||
|  | syn match nsisNumber		"\<0\o*\>" | ||
|  | 
 | ||
|  | 
 | ||
|  | "INSTALLER ATTRIBUTES - General installer configuration | ||
|  | syn keyword nsisAttribute	OutFile Name Caption SubCaption BrandingText Icon | ||
|  | syn keyword nsisAttribute	WindowIcon BGGradient SilentInstall SilentUnInstall | ||
|  | syn keyword nsisAttribute	CRCCheck MiscButtonText InstallButtonText FileErrorText | ||
|  | 
 | ||
|  | "INSTALLER ATTRIBUTES - Install directory configuration | ||
|  | syn keyword nsisAttribute	InstallDir InstallDirRegKey | ||
|  | 
 | ||
|  | "INSTALLER ATTRIBUTES - License page configuration | ||
|  | syn keyword nsisAttribute	LicenseText LicenseData | ||
|  | 
 | ||
|  | "INSTALLER ATTRIBUTES - Component page configuration | ||
|  | syn keyword nsisAttribute	ComponentText InstType EnabledBitmap DisabledBitmap SpaceTexts | ||
|  | 
 | ||
|  | "INSTALLER ATTRIBUTES - Directory page configuration | ||
|  | syn keyword nsisAttribute	DirShow DirText AllowRootDirInstall | ||
|  | 
 | ||
|  | "INSTALLER ATTRIBUTES - Install page configuration | ||
|  | syn keyword nsisAttribute	InstallColors InstProgressFlags AutoCloseWindow | ||
|  | syn keyword nsisAttribute	ShowInstDetails DetailsButtonText CompletedText | ||
|  | 
 | ||
|  | "INSTALLER ATTRIBUTES - Uninstall configuration | ||
|  | syn keyword nsisAttribute	UninstallText UninstallIcon UninstallCaption | ||
|  | syn keyword nsisAttribute	UninstallSubCaption ShowUninstDetails UninstallButtonText | ||
|  | 
 | ||
|  | "COMPILER ATTRIBUTES | ||
|  | syn keyword nsisCompiler	SetOverwrite SetCompress SetCompressor SetDatablockOptimize SetDateSave | ||
|  | 
 | ||
|  | 
 | ||
|  | "FUNCTIONS - general purpose | ||
|  | syn keyword nsisInstruction	SetOutPath File Exec ExecWait ExecShell | ||
|  | syn keyword nsisInstruction	Rename Delete RMDir | ||
|  | 
 | ||
|  | "FUNCTIONS - registry & ini | ||
|  | syn keyword nsisInstruction	WriteRegStr WriteRegExpandStr WriteRegDWORD WriteRegBin | ||
|  | syn keyword nsisInstruction	WriteINIStr ReadRegStr ReadRegDWORD ReadINIStr ReadEnvStr | ||
|  | syn keyword nsisInstruction	ExpandEnvStrings DeleteRegValue DeleteRegKey EnumRegKey | ||
|  | syn keyword nsisInstruction	EnumRegValue DeleteINISec DeleteINIStr | ||
|  | 
 | ||
|  | "FUNCTIONS - general purpose, advanced | ||
|  | syn keyword nsisInstruction	CreateDirectory CopyFiles SetFileAttributes CreateShortCut | ||
|  | syn keyword nsisInstruction	GetFullPathName SearchPath GetTempFileName CallInstDLL | ||
|  | syn keyword nsisInstruction	RegDLL UnRegDLL GetDLLVersion GetDLLVersionLocal | ||
|  | syn keyword nsisInstruction	GetFileTime GetFileTimeLocal | ||
|  | 
 | ||
|  | "FUNCTIONS - Branching, flow control, error checking, user interaction, etc instructions | ||
|  | syn keyword nsisInstruction	Goto Call Return IfErrors ClearErrors SetErrors FindWindow | ||
|  | syn keyword nsisInstruction	SendMessage IsWindow IfFileExists MessageBox StrCmp | ||
|  | syn keyword nsisInstruction	IntCmp IntCmpU Abort Quit GetFunctionAddress GetLabelAddress | ||
|  | syn keyword nsisInstruction	GetCurrentAddress | ||
|  | 
 | ||
|  | "FUNCTIONS - File and directory i/o instructions | ||
|  | syn keyword nsisInstruction	FindFirst FindNext FindClose FileOpen FileClose FileRead | ||
|  | syn keyword nsisInstruction	FileWrite FileReadByte FileWriteByte FileSeek | ||
|  | 
 | ||
|  | "FUNCTIONS - Misc instructions | ||
|  | syn keyword nsisInstruction	SetDetailsView SetDetailsPrint SetAutoClose DetailPrint | ||
|  | syn keyword nsisInstruction	Sleep BringToFront HideWindow SetShellVarContext | ||
|  | 
 | ||
|  | "FUNCTIONS - String manipulation support | ||
|  | syn keyword nsisInstruction	StrCpy StrLen | ||
|  | 
 | ||
|  | "FUNCTIONS - Stack support | ||
|  | syn keyword nsisInstruction	Push Pop Exch | ||
|  | 
 | ||
|  | "FUNCTIONS - Integer manipulation support | ||
|  | syn keyword nsisInstruction	IntOp IntFmt | ||
|  | 
 | ||
|  | "FUNCTIONS - Rebooting support | ||
|  | syn keyword nsisInstruction	Reboot IfRebootFlag SetRebootFlag | ||
|  | 
 | ||
|  | "FUNCTIONS - Uninstaller instructions | ||
|  | syn keyword nsisInstruction	WriteUninstaller | ||
|  | 
 | ||
|  | "FUNCTIONS - Install logging instructions | ||
|  | syn keyword nsisInstruction	LogSet LogText | ||
|  | 
 | ||
|  | "FUNCTIONS - Section management instructions | ||
|  | syn keyword nsisInstruction	SectionSetFlags SectionGetFlags SectionSetText | ||
|  | syn keyword nsisInstruction	SectionGetText | ||
|  | 
 | ||
|  | 
 | ||
|  | "SPECIAL FUNCTIONS - install | ||
|  | syn match nsisCallback		"\.onInit" | ||
|  | syn match nsisCallback		"\.onUserAbort" | ||
|  | syn match nsisCallback		"\.onInstSuccess" | ||
|  | syn match nsisCallback		"\.onInstFailed" | ||
|  | syn match nsisCallback		"\.onVerifyInstDir" | ||
|  | syn match nsisCallback		"\.onNextPage" | ||
|  | syn match nsisCallback		"\.onPrevPage" | ||
|  | syn match nsisCallback		"\.onSelChange" | ||
|  | 
 | ||
|  | "SPECIAL FUNCTIONS - uninstall | ||
|  | syn match nsisCallback		"un\.onInit" | ||
|  | syn match nsisCallback		"un\.onUserAbort" | ||
|  | syn match nsisCallback		"un\.onInstSuccess" | ||
|  | syn match nsisCallback		"un\.onInstFailed" | ||
|  | syn match nsisCallback		"un\.onVerifyInstDir" | ||
|  | syn match nsisCallback		"un\.onNextPage" | ||
|  | 
 | ||
|  | 
 | ||
|  | "STATEMENTS - sections | ||
|  | syn keyword nsisStatement	Section SectionIn SectionEnd SectionDivider | ||
|  | syn keyword nsisStatement	AddSize | ||
|  | 
 | ||
|  | "STATEMENTS - functions | ||
|  | syn keyword nsisStatement	Function FunctionEnd | ||
|  | 
 | ||
|  | "STATEMENTS - pages | ||
|  | syn keyword nsisStatement	Page UninstPage PageEx PageExEnc PageCallbacks | ||
|  | 
 | ||
|  | 
 | ||
|  | "ERROR | ||
|  | syn keyword nsisError		UninstallExeName | ||
|  | 
 | ||
|  | 
 | ||
|  | " Define the default highlighting. | ||
|  | " For version 5.7 and earlier: only when not done already | ||
|  | " For version 5.8 and later: only when an item doesn't have highlighting yet | ||
|  | if version >= 508 || !exists("did_nsis_syn_inits") | ||
|  | 
 | ||
|  |   if version < 508 | ||
|  |     let did_nsys_syn_inits = 1 | ||
|  |     command -nargs=+ HiLink hi link <args> | ||
|  |   else | ||
|  |     command -nargs=+ HiLink hi def link <args> | ||
|  |   endif | ||
|  | 
 | ||
|  | 
 | ||
|  |   HiLink nsisInstruction		Function | ||
|  |   HiLink nsisComment			Comment | ||
|  |   HiLink nsisLocalLabel			Label | ||
|  |   HiLink nsisGlobalLabel		Label | ||
|  |   HiLink nsisStatement			Statement | ||
|  |   HiLink nsisString			String | ||
|  |   HiLink nsisBoolean			Boolean | ||
|  |   HiLink nsisAttribOptions		Constant | ||
|  |   HiLink nsisExecShell			Constant | ||
|  |   HiLink nsisFileAttrib			Constant | ||
|  |   HiLink nsisMessageBox			Constant | ||
|  |   HiLink nsisRegistry			Identifier | ||
|  |   HiLink nsisNumber			Number | ||
|  |   HiLink nsisError			Error | ||
|  |   HiLink nsisUserVar			Identifier | ||
|  |   HiLink nsisSysVar			Identifier | ||
|  |   HiLink nsisAttribute			Type | ||
|  |   HiLink nsisCompiler			Type | ||
|  |   HiLink nsisTodo			Todo | ||
|  |   HiLink nsisCallback			Operator | ||
|  |   " preprocessor commands | ||
|  |   HiLink nsisPreprocSubst		PreProc | ||
|  |   HiLink nsisDefine			Define | ||
|  |   HiLink nsisMacro			Macro | ||
|  |   HiLink nsisPreCondit			PreCondit | ||
|  |   HiLink nsisInclude			Include | ||
|  |   HiLink nsisSystem			PreProc | ||
|  | 
 | ||
|  |   delcommand HiLink | ||
|  | endif | ||
|  | 
 | ||
|  | let b:current_syntax = "nsis" | ||
|  | 
 |