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