mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 09:44:31 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			257 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			257 lines
		
	
	
		
			9.3 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
 | 
						|
 | 
						|
" quit when a syntax file was already loaded
 | 
						|
if 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.
 | 
						|
" Only when an item doesn't have highlighting yet
 | 
						|
 | 
						|
hi def link nsisInstruction		Function
 | 
						|
hi def link nsisComment			Comment
 | 
						|
hi def link nsisLocalLabel			Label
 | 
						|
hi def link nsisGlobalLabel		Label
 | 
						|
hi def link nsisStatement			Statement
 | 
						|
hi def link nsisString			String
 | 
						|
hi def link nsisBoolean			Boolean
 | 
						|
hi def link nsisAttribOptions		Constant
 | 
						|
hi def link nsisExecShell			Constant
 | 
						|
hi def link nsisFileAttrib			Constant
 | 
						|
hi def link nsisMessageBox			Constant
 | 
						|
hi def link nsisRegistry			Identifier
 | 
						|
hi def link nsisNumber			Number
 | 
						|
hi def link nsisError			Error
 | 
						|
hi def link nsisUserVar			Identifier
 | 
						|
hi def link nsisSysVar			Identifier
 | 
						|
hi def link nsisAttribute			Type
 | 
						|
hi def link nsisCompiler			Type
 | 
						|
hi def link nsisTodo			Todo
 | 
						|
hi def link nsisCallback			Operator
 | 
						|
" preprocessor commands
 | 
						|
hi def link nsisPreprocSubst		PreProc
 | 
						|
hi def link nsisDefine			Define
 | 
						|
hi def link nsisMacro			Macro
 | 
						|
hi def link nsisPreCondit			PreCondit
 | 
						|
hi def link nsisInclude			Include
 | 
						|
hi def link nsisSystem			PreProc
 | 
						|
 | 
						|
 | 
						|
let b:current_syntax = "nsis"
 | 
						|
 |