mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07: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"
|
||
|
|