| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							| 
									
										
										
										
											2004-07-16 20:18:37 +00:00
										 |  |  | " Language:             Inno Setup File (iss file) and My InnoSetup extension | 
					
						
							|  |  |  | " Maintainer:           Jason Mills (jmills@cs.mun.ca) | 
					
						
							| 
									
										
										
										
											2020-10-26 21:12:46 +01:00
										 |  |  | " Previous Maintainer:  Dominique Stéphan (dominique@mggen.com) | 
					
						
							| 
									
										
										
										
											2021-09-09 21:55:11 +02:00
										 |  |  | " Last Change:          2021 Aug 30 | 
					
						
							| 
									
										
										
										
											2004-12-19 22:46:22 +00:00
										 |  |  | " | 
					
						
							|  |  |  | " Todo: | 
					
						
							| 
									
										
										
										
											2021-09-09 21:55:11 +02:00
										 |  |  | "  - The parameter String: is matched as flag string (because of case ignore). | 
					
						
							| 
									
										
										
										
											2004-12-19 22:46:22 +00:00
										 |  |  | "  - Pascal scripting syntax is not recognized. | 
					
						
							|  |  |  | "  - Embedded double quotes confuse string matches. e.g. "asfd""asfa" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " quit when a syntax file was already loaded | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " shut case off | 
					
						
							|  |  |  | syn case ignore | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-07-16 20:18:37 +00:00
										 |  |  | " Preprocessor | 
					
						
							|  |  |  | syn region issPreProc start="^\s*#" end="$" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Section | 
					
						
							| 
									
										
										
										
											2004-12-19 22:46:22 +00:00
										 |  |  | syn region issSection	start="\[" end="\]" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Label in the [Setup] Section | 
					
						
							| 
									
										
										
										
											2004-12-19 22:46:22 +00:00
										 |  |  | syn match  issDirective	"^[^=]\+=" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " URL | 
					
						
							| 
									
										
										
										
											2004-12-19 22:46:22 +00:00
										 |  |  | syn match  issURL	"http[s]\=:\/\/.*$" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Parameters used for any section. | 
					
						
							|  |  |  | " syn match  issParam"[^: ]\+:" | 
					
						
							|  |  |  | syn match  issParam	"Name:" | 
					
						
							|  |  |  | syn match  issParam	"MinVersion:\|OnlyBelowVersion:\|Languages:" | 
					
						
							|  |  |  | syn match  issParam	"Source:\|DestDir:\|DestName:\|CopyMode:" | 
					
						
							|  |  |  | syn match  issParam	"Attribs:\|Permissions:\|FontInstall:\|Flags:" | 
					
						
							|  |  |  | syn match  issParam	"FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:" | 
					
						
							|  |  |  | syn match  issParam	"IconFilename:\|IconIndex:" | 
					
						
							|  |  |  | syn match  issParam	"Section:\|Key:\|String:" | 
					
						
							|  |  |  | syn match  issParam	"Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:" | 
					
						
							|  |  |  | syn match  issParam	"RunOnceId:" | 
					
						
							|  |  |  | syn match  issParam	"Type:\|Excludes:" | 
					
						
							|  |  |  | syn match  issParam	"Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:" | 
					
						
							|  |  |  | syn match  issParam	"StatusMsg:\|RunOnceId:\|Tasks:" | 
					
						
							|  |  |  | syn match  issParam	"MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-27 19:34:08 +02:00
										 |  |  | syn match  issComment	"^\s*;.*$" contains=@Spell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " folder constant | 
					
						
							| 
									
										
										
										
											2019-09-27 19:34:08 +02:00
										 |  |  | syn match  issFolder	"{[^{]*}" contains=@NoSpell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " string | 
					
						
							| 
									
										
										
										
											2019-09-27 19:34:08 +02:00
										 |  |  | syn region issString	start=+"+ end=+"+ contains=issFolder,@Spell | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " [Dirs] | 
					
						
							|  |  |  | syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " [Files] | 
					
						
							| 
									
										
										
										
											2004-07-10 09:47:34 +00:00
										 |  |  | syn keyword issFilesCopyMode normal onlyifdoesntexist alwaysoverwrite alwaysskipifsameorolder dontcopy | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | syn keyword issFilesAttribs readonly hidden system | 
					
						
							| 
									
										
										
										
											2004-07-10 09:47:34 +00:00
										 |  |  | syn keyword issFilesPermissions full modify readexec | 
					
						
							|  |  |  | syn keyword issFilesFlags allowunsafefiles comparetimestampalso confirmoverwrite deleteafterinstall | 
					
						
							|  |  |  | syn keyword issFilesFlags dontcopy dontverifychecksum external fontisnttruetype ignoreversion  | 
					
						
							|  |  |  | syn keyword issFilesFlags isreadme onlyifdestfileexists onlyifdoesntexist overwritereadonly  | 
					
						
							|  |  |  | syn keyword issFilesFlags promptifolder recursesubdirs regserver regtypelib restartreplace | 
					
						
							|  |  |  | syn keyword issFilesFlags sharedfile skipifsourcedoesntexist sortfilesbyextension touch  | 
					
						
							|  |  |  | syn keyword issFilesFlags uninsremovereadonly uninsrestartdelete uninsneveruninstall | 
					
						
							| 
									
										
										
										
											2004-12-19 22:46:22 +00:00
										 |  |  | syn keyword issFilesFlags replacesameversion nocompression noencryption noregerror | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " [Icons] | 
					
						
							| 
									
										
										
										
											2004-07-10 09:47:34 +00:00
										 |  |  | syn keyword issIconsFlags closeonexit createonlyiffileexists dontcloseonexit  | 
					
						
							|  |  |  | syn keyword issIconsFlags runmaximized runminimized uninsneveruninstall useapppaths | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " [INI] | 
					
						
							|  |  |  | syn keyword issINIFlags createkeyifdoesntexist uninsdeleteentry uninsdeletesection uninsdeletesectionifempty | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " [Registry] | 
					
						
							|  |  |  | syn keyword issRegRootKey   HKCR HKCU HKLM HKU HKCC | 
					
						
							|  |  |  | syn keyword issRegValueType none string expandsz multisz dword binary | 
					
						
							| 
									
										
										
										
											2004-07-10 09:47:34 +00:00
										 |  |  | syn keyword issRegFlags createvalueifdoesntexist deletekey deletevalue dontcreatekey  | 
					
						
							|  |  |  | syn keyword issRegFlags preservestringtype noerror uninsclearvalue  | 
					
						
							|  |  |  | syn keyword issRegFlags uninsdeletekey uninsdeletekeyifempty uninsdeletevalue | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " [Run] and [UninstallRun] | 
					
						
							| 
									
										
										
										
											2004-07-10 09:47:34 +00:00
										 |  |  | syn keyword issRunFlags hidewizard nowait postinstall runhidden runmaximized | 
					
						
							|  |  |  | syn keyword issRunFlags runminimized shellexec skipifdoesntexist skipifnotsilent  | 
					
						
							|  |  |  | syn keyword issRunFlags skipifsilent unchecked waituntilidle | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " [Types] | 
					
						
							|  |  |  | syn keyword issTypesFlags iscustom | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " [Components] | 
					
						
							| 
									
										
										
										
											2004-07-10 09:47:34 +00:00
										 |  |  | syn keyword issComponentsFlags dontinheritcheck exclusive fixed restart disablenouninstallwarning | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " [UninstallDelete] and [InstallDelete] | 
					
						
							|  |  |  | syn keyword issInstallDeleteType files filesandordirs dirifempty | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-07-10 09:47:34 +00:00
										 |  |  | " [Tasks] | 
					
						
							|  |  |  | syn keyword issTasksFlags checkedonce dontinheritcheck exclusive restart unchecked  | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Define the default highlighting. | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " Only when an item doesn't have highlighting yet | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " The default methods for highlighting.  Can be overridden later | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link issSection	Special | 
					
						
							|  |  |  | hi def link issComment	Comment | 
					
						
							|  |  |  | hi def link issDirective	Type | 
					
						
							|  |  |  | hi def link issParam	Type | 
					
						
							|  |  |  | hi def link issFolder	Special | 
					
						
							|  |  |  | hi def link issString	String | 
					
						
							|  |  |  | hi def link issURL	Include | 
					
						
							|  |  |  | hi def link issPreProc	PreProc  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | hi def link issDirsFlags		Keyword | 
					
						
							|  |  |  | hi def link issFilesCopyMode	Keyword | 
					
						
							|  |  |  | hi def link issFilesAttribs	Keyword | 
					
						
							|  |  |  | hi def link issFilesPermissions	Keyword | 
					
						
							|  |  |  | hi def link issFilesFlags		Keyword | 
					
						
							|  |  |  | hi def link issIconsFlags		Keyword | 
					
						
							|  |  |  | hi def link issINIFlags		Keyword | 
					
						
							|  |  |  | hi def link issRegRootKey		Keyword | 
					
						
							|  |  |  | hi def link issRegValueType	Keyword | 
					
						
							|  |  |  | hi def link issRegFlags		Keyword | 
					
						
							|  |  |  | hi def link issRunFlags		Keyword | 
					
						
							|  |  |  | hi def link issTypesFlags		Keyword | 
					
						
							|  |  |  | hi def link issComponentsFlags	Keyword | 
					
						
							|  |  |  | hi def link issInstallDeleteType	Keyword | 
					
						
							|  |  |  | hi def link issTasksFlags		Keyword | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "iss" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " vim:ts=8 |