blob: 557cd0a5c9cff85d134722ecb72bf51d82331e26 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Inno Setup File (iss file) and My InnoSetup extension
3" Maintainer: Dominique Stéphan (dominique@mggen.com)
Bram Moolenaar8299df92004-07-10 09:47:34 +00004" Last change: 2004 July 5
Bram Moolenaar071d4272004-06-13 20:20:40 +00005
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:"
Bram Moolenaar8299df92004-07-10 09:47:34 +000028syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:"
Bram Moolenaar071d4272004-06-13 20:20:40 +000029syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:"
Bram Moolenaar8299df92004-07-10 09:47:34 +000030syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:"
31syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:"
Bram Moolenaar071d4272004-06-13 20:20:40 +000032syn 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:"
Bram Moolenaar8299df92004-07-10 09:47:34 +000037syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:"
38syn match issName "StatusMsg:\|RunOnceId:\|Tasks:"
39syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:"
Bram Moolenaar071d4272004-06-13 20:20:40 +000040
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]
Bram Moolenaar8299df92004-07-10 09:47:34 +000053syn keyword issFilesCopyMode normal onlyifdoesntexist alwaysoverwrite alwaysskipifsameorolder dontcopy
Bram Moolenaar071d4272004-06-13 20:20:40 +000054syn keyword issFilesAttribs readonly hidden system
Bram Moolenaar8299df92004-07-10 09:47:34 +000055syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000062
63" [Icons]
Bram Moolenaar8299df92004-07-10 09:47:34 +000064syn keyword issIconsFlags closeonexit createonlyiffileexists dontcloseonexit
65syn keyword issIconsFlags runmaximized runminimized uninsneveruninstall useapppaths
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
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
Bram Moolenaar8299df92004-07-10 09:47:34 +000073syn keyword issRegFlags createvalueifdoesntexist deletekey deletevalue dontcreatekey
74syn keyword issRegFlags preservestringtype noerror uninsclearvalue
75syn keyword issRegFlags uninsdeletekey uninsdeletekeyifempty uninsdeletevalue
Bram Moolenaar071d4272004-06-13 20:20:40 +000076
77" [Run] and [UninstallRun]
Bram Moolenaar8299df92004-07-10 09:47:34 +000078syn keyword issRunFlags hidewizard nowait postinstall runhidden runmaximized
79syn keyword issRunFlags runminimized shellexec skipifdoesntexist skipifnotsilent
80syn keyword issRunFlags skipifsilent unchecked waituntilidle
Bram Moolenaar071d4272004-06-13 20:20:40 +000081
82" [Types]
83syn keyword issTypesFlags iscustom
84
85" [Components]
Bram Moolenaar8299df92004-07-10 09:47:34 +000086syn keyword issComponentsFlags dontinheritcheck exclusive fixed restart disablenouninstallwarning
Bram Moolenaar071d4272004-06-13 20:20:40 +000087
88" [UninstallDelete] and [InstallDelete]
89syn keyword issInstallDeleteType files filesandordirs dirifempty
90
Bram Moolenaar8299df92004-07-10 09:47:34 +000091" [Tasks]
92syn keyword issTasksFlags checkedonce dontinheritcheck exclusive restart unchecked
93
Bram Moolenaar071d4272004-06-13 20:20:40 +000094
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
Bram Moolenaar8299df92004-07-10 09:47:34 +0000119 HiLink issFilesPermissions Keyword
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120 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
Bram Moolenaar8299df92004-07-10 09:47:34 +0000130 HiLink issTasksFlags Keyword
Bram Moolenaar071d4272004-06-13 20:20:40 +0000131
132
133 delcommand HiLink
134endif
135
136let b:current_syntax = "iss"
137
138" vim:ts=8