1" Vim syntax file 2" Language: Inno Setup File (iss file) and My InnoSetup extension 3" Maintainer: Dominique St�phan ([email protected]) 4" Last change: 2004 July 5 5 6" For version 5.x: Clear all syntax items 7" For version 6.x: Quit when a syntax file was already loaded 8if version < 600 9 syntax clear 10elseif exists("b:current_syntax") 11 finish 12endif 13 14" shut case off 15syn case ignore 16 17" Section 18syn region issHeader start="\[" end="\]" 19 20" Label in the [Setup] Section 21syn match issLabel "^[^=]\+=" 22 23" URL 24syn match issURL "http[s]\=:\/\/.*$" 25 26" syn match issName "[^: ]\+:" 27syn match issName "Name:" 28syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:" 29syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:" 30syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:" 31syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:" 32syn match issName "IconFilename:\|IconIndex:" 33syn match issName "Section:\|Key:\|String:" 34syn match issName "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:" 35syn match issName "RunOnceId:" 36syn match issName "Type:" 37syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:" 38syn match issName "StatusMsg:\|RunOnceId:\|Tasks:" 39syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:" 40 41syn match issComment "^;.*$" 42 43" folder constant 44syn match issFolder "{[^{]*}" 45 46" string 47syn region issString start=+"+ end=+"+ contains=issFolder 48 49" [Dirs] 50syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall 51 52" [Files] 53syn keyword issFilesCopyMode normal onlyifdoesntexist alwaysoverwrite alwaysskipifsameorolder dontcopy 54syn keyword issFilesAttribs readonly hidden system 55syn keyword issFilesPermissions full modify readexec 56syn keyword issFilesFlags allowunsafefiles comparetimestampalso confirmoverwrite deleteafterinstall 57syn keyword issFilesFlags dontcopy dontverifychecksum external fontisnttruetype ignoreversion 58syn keyword issFilesFlags isreadme onlyifdestfileexists onlyifdoesntexist overwritereadonly 59syn keyword issFilesFlags promptifolder recursesubdirs regserver regtypelib restartreplace 60syn keyword issFilesFlags sharedfile skipifsourcedoesntexist sortfilesbyextension touch 61syn keyword issFilesFlags uninsremovereadonly uninsrestartdelete uninsneveruninstall 62 63" [Icons] 64syn keyword issIconsFlags closeonexit createonlyiffileexists dontcloseonexit 65syn keyword issIconsFlags runmaximized runminimized uninsneveruninstall useapppaths 66 67" [INI] 68syn keyword issINIFlags createkeyifdoesntexist uninsdeleteentry uninsdeletesection uninsdeletesectionifempty 69 70" [Registry] 71syn keyword issRegRootKey HKCR HKCU HKLM HKU HKCC 72syn keyword issRegValueType none string expandsz multisz dword binary 73syn keyword issRegFlags createvalueifdoesntexist deletekey deletevalue dontcreatekey 74syn keyword issRegFlags preservestringtype noerror uninsclearvalue 75syn keyword issRegFlags uninsdeletekey uninsdeletekeyifempty uninsdeletevalue 76 77" [Run] and [UninstallRun] 78syn keyword issRunFlags hidewizard nowait postinstall runhidden runmaximized 79syn keyword issRunFlags runminimized shellexec skipifdoesntexist skipifnotsilent 80syn keyword issRunFlags skipifsilent unchecked waituntilidle 81 82" [Types] 83syn keyword issTypesFlags iscustom 84 85" [Components] 86syn keyword issComponentsFlags dontinheritcheck exclusive fixed restart disablenouninstallwarning 87 88" [UninstallDelete] and [InstallDelete] 89syn keyword issInstallDeleteType files filesandordirs dirifempty 90 91" [Tasks] 92syn keyword issTasksFlags checkedonce dontinheritcheck exclusive restart unchecked 93 94 95" Define the default highlighting. 96" For version 5.7 and earlier: only when not done already 97" For version 5.8 and later: only when an item doesn't have highlighting yet 98if version >= 508 || !exists("did_iss_syntax_inits") 99 if version < 508 100 let did_iss_syntax_inits = 1 101 command -nargs=+ HiLink hi link <args> 102 else 103 command -nargs=+ HiLink hi def link <args> 104 endif 105 106 " The default methods for highlighting. Can be overridden later 107 HiLink issHeader Special 108 HiLink issComment Comment 109 HiLink issLabel Type 110 HiLink issName Type 111 HiLink issFolder Special 112 HiLink issString String 113 HiLink issValue String 114 HiLink issURL Include 115 116 HiLink issDirsFlags Keyword 117 HiLink issFilesCopyMode Keyword 118 HiLink issFilesAttribs Keyword 119 HiLink issFilesPermissions Keyword 120 HiLink issFilesFlags Keyword 121 HiLink issIconsFlags Keyword 122 HiLink issINIFlags Keyword 123 HiLink issRegRootKey Keyword 124 HiLink issRegValueType Keyword 125 HiLink issRegFlags Keyword 126 HiLink issRunFlags Keyword 127 HiLink issTypesFlags Keyword 128 HiLink issComponentsFlags Keyword 129 HiLink issInstallDeleteType Keyword 130 HiLink issTasksFlags Keyword 131 132 133 delcommand HiLink 134endif 135 136let b:current_syntax = "iss" 137 138" vim:ts=8 139