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