1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Inno Setup File (iss file) and My InnoSetup extension 321cf823aSBram Moolenaar" Maintainer: Jason Mills ([email protected]) 4cb80aa2dSBram Moolenaar" Previous Maintainer: Dominique Stéphan ([email protected]) 5*6c391a74SBram Moolenaar" Last Change: 2021 Aug 30 61cd871b5SBram Moolenaar" 71cd871b5SBram Moolenaar" Todo: 8*6c391a74SBram Moolenaar" - The parameter String: is matched as flag string (because of case ignore). 91cd871b5SBram Moolenaar" - Pascal scripting syntax is not recognized. 101cd871b5SBram Moolenaar" - Embedded double quotes confuse string matches. e.g. "asfd""asfa" 11071d4279SBram Moolenaar 1289bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1389bcfda6SBram Moolenaarif exists("b:current_syntax") 14071d4279SBram Moolenaar finish 15071d4279SBram Moolenaarendif 16071d4279SBram Moolenaar 17071d4279SBram Moolenaar" shut case off 18071d4279SBram Moolenaarsyn case ignore 19071d4279SBram Moolenaar 2021cf823aSBram Moolenaar" Preprocessor 2121cf823aSBram Moolenaarsyn region issPreProc start="^\s*#" end="$" 2221cf823aSBram Moolenaar 23071d4279SBram Moolenaar" Section 241cd871b5SBram Moolenaarsyn region issSection start="\[" end="\]" 25071d4279SBram Moolenaar 26071d4279SBram Moolenaar" Label in the [Setup] Section 271cd871b5SBram Moolenaarsyn match issDirective "^[^=]\+=" 28071d4279SBram Moolenaar 29071d4279SBram Moolenaar" URL 30071d4279SBram Moolenaarsyn match issURL "http[s]\=:\/\/.*$" 31071d4279SBram Moolenaar 321cd871b5SBram Moolenaar" Parameters used for any section. 331cd871b5SBram Moolenaar" syn match issParam"[^: ]\+:" 341cd871b5SBram Moolenaarsyn match issParam "Name:" 351cd871b5SBram Moolenaarsyn match issParam "MinVersion:\|OnlyBelowVersion:\|Languages:" 361cd871b5SBram Moolenaarsyn match issParam "Source:\|DestDir:\|DestName:\|CopyMode:" 371cd871b5SBram Moolenaarsyn match issParam "Attribs:\|Permissions:\|FontInstall:\|Flags:" 381cd871b5SBram Moolenaarsyn match issParam "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:" 391cd871b5SBram Moolenaarsyn match issParam "IconFilename:\|IconIndex:" 401cd871b5SBram Moolenaarsyn match issParam "Section:\|Key:\|String:" 411cd871b5SBram Moolenaarsyn match issParam "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:" 421cd871b5SBram Moolenaarsyn match issParam "RunOnceId:" 431cd871b5SBram Moolenaarsyn match issParam "Type:\|Excludes:" 441cd871b5SBram Moolenaarsyn match issParam "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:" 451cd871b5SBram Moolenaarsyn match issParam "StatusMsg:\|RunOnceId:\|Tasks:" 461cd871b5SBram Moolenaarsyn match issParam "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:" 47071d4279SBram Moolenaar 485be4ceecSBram Moolenaarsyn match issComment "^\s*;.*$" contains=@Spell 49071d4279SBram Moolenaar 50071d4279SBram Moolenaar" folder constant 515be4ceecSBram Moolenaarsyn match issFolder "{[^{]*}" contains=@NoSpell 52071d4279SBram Moolenaar 53071d4279SBram Moolenaar" string 545be4ceecSBram Moolenaarsyn region issString start=+"+ end=+"+ contains=issFolder,@Spell 55071d4279SBram Moolenaar 56071d4279SBram Moolenaar" [Dirs] 57071d4279SBram Moolenaarsyn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall 58071d4279SBram Moolenaar 59071d4279SBram Moolenaar" [Files] 608299df96SBram Moolenaarsyn keyword issFilesCopyMode normal onlyifdoesntexist alwaysoverwrite alwaysskipifsameorolder dontcopy 61071d4279SBram Moolenaarsyn keyword issFilesAttribs readonly hidden system 628299df96SBram Moolenaarsyn keyword issFilesPermissions full modify readexec 638299df96SBram Moolenaarsyn keyword issFilesFlags allowunsafefiles comparetimestampalso confirmoverwrite deleteafterinstall 648299df96SBram Moolenaarsyn keyword issFilesFlags dontcopy dontverifychecksum external fontisnttruetype ignoreversion 658299df96SBram Moolenaarsyn keyword issFilesFlags isreadme onlyifdestfileexists onlyifdoesntexist overwritereadonly 668299df96SBram Moolenaarsyn keyword issFilesFlags promptifolder recursesubdirs regserver regtypelib restartreplace 678299df96SBram Moolenaarsyn keyword issFilesFlags sharedfile skipifsourcedoesntexist sortfilesbyextension touch 688299df96SBram Moolenaarsyn keyword issFilesFlags uninsremovereadonly uninsrestartdelete uninsneveruninstall 691cd871b5SBram Moolenaarsyn keyword issFilesFlags replacesameversion nocompression noencryption noregerror 701cd871b5SBram Moolenaar 71071d4279SBram Moolenaar 72071d4279SBram Moolenaar" [Icons] 738299df96SBram Moolenaarsyn keyword issIconsFlags closeonexit createonlyiffileexists dontcloseonexit 748299df96SBram Moolenaarsyn keyword issIconsFlags runmaximized runminimized uninsneveruninstall useapppaths 75071d4279SBram Moolenaar 76071d4279SBram Moolenaar" [INI] 77071d4279SBram Moolenaarsyn keyword issINIFlags createkeyifdoesntexist uninsdeleteentry uninsdeletesection uninsdeletesectionifempty 78071d4279SBram Moolenaar 79071d4279SBram Moolenaar" [Registry] 80071d4279SBram Moolenaarsyn keyword issRegRootKey HKCR HKCU HKLM HKU HKCC 81071d4279SBram Moolenaarsyn keyword issRegValueType none string expandsz multisz dword binary 828299df96SBram Moolenaarsyn keyword issRegFlags createvalueifdoesntexist deletekey deletevalue dontcreatekey 838299df96SBram Moolenaarsyn keyword issRegFlags preservestringtype noerror uninsclearvalue 848299df96SBram Moolenaarsyn keyword issRegFlags uninsdeletekey uninsdeletekeyifempty uninsdeletevalue 85071d4279SBram Moolenaar 86071d4279SBram Moolenaar" [Run] and [UninstallRun] 878299df96SBram Moolenaarsyn keyword issRunFlags hidewizard nowait postinstall runhidden runmaximized 888299df96SBram Moolenaarsyn keyword issRunFlags runminimized shellexec skipifdoesntexist skipifnotsilent 898299df96SBram Moolenaarsyn keyword issRunFlags skipifsilent unchecked waituntilidle 90071d4279SBram Moolenaar 91071d4279SBram Moolenaar" [Types] 92071d4279SBram Moolenaarsyn keyword issTypesFlags iscustom 93071d4279SBram Moolenaar 94071d4279SBram Moolenaar" [Components] 958299df96SBram Moolenaarsyn keyword issComponentsFlags dontinheritcheck exclusive fixed restart disablenouninstallwarning 96071d4279SBram Moolenaar 97071d4279SBram Moolenaar" [UninstallDelete] and [InstallDelete] 98071d4279SBram Moolenaarsyn keyword issInstallDeleteType files filesandordirs dirifempty 99071d4279SBram Moolenaar 1008299df96SBram Moolenaar" [Tasks] 1018299df96SBram Moolenaarsyn keyword issTasksFlags checkedonce dontinheritcheck exclusive restart unchecked 1028299df96SBram Moolenaar 103071d4279SBram Moolenaar 104071d4279SBram Moolenaar" Define the default highlighting. 10589bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 106071d4279SBram Moolenaar 107071d4279SBram Moolenaar" The default methods for highlighting. Can be overridden later 108f37506f6SBram Moolenaarhi def link issSection Special 109f37506f6SBram Moolenaarhi def link issComment Comment 110f37506f6SBram Moolenaarhi def link issDirective Type 111f37506f6SBram Moolenaarhi def link issParam Type 112f37506f6SBram Moolenaarhi def link issFolder Special 113f37506f6SBram Moolenaarhi def link issString String 114f37506f6SBram Moolenaarhi def link issURL Include 115f37506f6SBram Moolenaarhi def link issPreProc PreProc 116071d4279SBram Moolenaar 117f37506f6SBram Moolenaarhi def link issDirsFlags Keyword 118f37506f6SBram Moolenaarhi def link issFilesCopyMode Keyword 119f37506f6SBram Moolenaarhi def link issFilesAttribs Keyword 120f37506f6SBram Moolenaarhi def link issFilesPermissions Keyword 121f37506f6SBram Moolenaarhi def link issFilesFlags Keyword 122f37506f6SBram Moolenaarhi def link issIconsFlags Keyword 123f37506f6SBram Moolenaarhi def link issINIFlags Keyword 124f37506f6SBram Moolenaarhi def link issRegRootKey Keyword 125f37506f6SBram Moolenaarhi def link issRegValueType Keyword 126f37506f6SBram Moolenaarhi def link issRegFlags Keyword 127f37506f6SBram Moolenaarhi def link issRunFlags Keyword 128f37506f6SBram Moolenaarhi def link issTypesFlags Keyword 129f37506f6SBram Moolenaarhi def link issComponentsFlags Keyword 130f37506f6SBram Moolenaarhi def link issInstallDeleteType Keyword 131f37506f6SBram Moolenaarhi def link issTasksFlags Keyword 132071d4279SBram Moolenaar 133071d4279SBram Moolenaar 134071d4279SBram Moolenaarlet b:current_syntax = "iss" 135071d4279SBram Moolenaar 136071d4279SBram Moolenaar" vim:ts=8 137