xref: /vim-8.2.3635/runtime/syntax/iss.vim (revision 6c391a74)
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