blob: f94c7cdf025795b7cbac8ac8c874528b26114c59 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaar21cf8232004-07-16 20:18:37 +00002" Language: Inno Setup File (iss file) and My InnoSetup extension
3" Maintainer: Jason Mills (jmills@cs.mun.ca)
4" Previous Maintainer: Dominique Stéphan (dominique@mggen.com)
5" Last Change: 2004 Jul 13
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
7" For version 5.x: Clear all syntax items
8" For version 6.x: Quit when a syntax file was already loaded
9if version < 600
10 syntax clear
11elseif exists("b:current_syntax")
12 finish
13endif
14
15" shut case off
16syn case ignore
17
Bram Moolenaar21cf8232004-07-16 20:18:37 +000018" Preprocessor
19syn region issPreProc start="^\s*#" end="$"
20
Bram Moolenaar071d4272004-06-13 20:20:40 +000021" Section
Bram Moolenaar21cf8232004-07-16 20:18:37 +000022syn region issHeader start="\[" end="\]"
Bram Moolenaar071d4272004-06-13 20:20:40 +000023
24" Label in the [Setup] Section
Bram Moolenaar21cf8232004-07-16 20:18:37 +000025syn match issLabel "^[^=]\+="
Bram Moolenaar071d4272004-06-13 20:20:40 +000026
27" URL
Bram Moolenaar21cf8232004-07-16 20:18:37 +000028syn match issURL "http[s]\=:\/\/.*$"
Bram Moolenaar071d4272004-06-13 20:20:40 +000029
Bram Moolenaar21cf8232004-07-16 20:18:37 +000030" syn match issName "[^: ]\+:"
31syn match issName "Name:"
32syn match issName "MinVersion:\|OnlyBelowVersion:\|Languages:"
33syn match issName "Source:\|DestDir:\|DestName:\|CopyMode:"
34syn match issName "Attribs:\|Permissions:\|FontInstall:\|Flags:"
35syn match issName "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:"
36syn match issName "IconFilename:\|IconIndex:"
37syn match issName "Section:\|Key:\|String:"
38syn match issName "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:"
39syn match issName "RunOnceId:"
40syn match issName "Type:"
41syn match issName "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:"
42syn match issName "StatusMsg:\|RunOnceId:\|Tasks:"
43syn match issName "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:"
Bram Moolenaar071d4272004-06-13 20:20:40 +000044
Bram Moolenaar21cf8232004-07-16 20:18:37 +000045syn match issComment "^;.*$"
Bram Moolenaar071d4272004-06-13 20:20:40 +000046
47" folder constant
Bram Moolenaar21cf8232004-07-16 20:18:37 +000048syn match issFolder "{[^{]*}"
Bram Moolenaar071d4272004-06-13 20:20:40 +000049
50" string
Bram Moolenaar21cf8232004-07-16 20:18:37 +000051syn region issString start=+"+ end=+"+ contains=issFolder
Bram Moolenaar071d4272004-06-13 20:20:40 +000052
53" [Dirs]
54syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall
55
56" [Files]
Bram Moolenaar8299df92004-07-10 09:47:34 +000057syn keyword issFilesCopyMode normal onlyifdoesntexist alwaysoverwrite alwaysskipifsameorolder dontcopy
Bram Moolenaar071d4272004-06-13 20:20:40 +000058syn keyword issFilesAttribs readonly hidden system
Bram Moolenaar8299df92004-07-10 09:47:34 +000059syn keyword issFilesPermissions full modify readexec
60syn keyword issFilesFlags allowunsafefiles comparetimestampalso confirmoverwrite deleteafterinstall
61syn keyword issFilesFlags dontcopy dontverifychecksum external fontisnttruetype ignoreversion
62syn keyword issFilesFlags isreadme onlyifdestfileexists onlyifdoesntexist overwritereadonly
63syn keyword issFilesFlags promptifolder recursesubdirs regserver regtypelib restartreplace
64syn keyword issFilesFlags sharedfile skipifsourcedoesntexist sortfilesbyextension touch
65syn keyword issFilesFlags uninsremovereadonly uninsrestartdelete uninsneveruninstall
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
67" [Icons]
Bram Moolenaar8299df92004-07-10 09:47:34 +000068syn keyword issIconsFlags closeonexit createonlyiffileexists dontcloseonexit
69syn keyword issIconsFlags runmaximized runminimized uninsneveruninstall useapppaths
Bram Moolenaar071d4272004-06-13 20:20:40 +000070
71" [INI]
72syn keyword issINIFlags createkeyifdoesntexist uninsdeleteentry uninsdeletesection uninsdeletesectionifempty
73
74" [Registry]
75syn keyword issRegRootKey HKCR HKCU HKLM HKU HKCC
76syn keyword issRegValueType none string expandsz multisz dword binary
Bram Moolenaar8299df92004-07-10 09:47:34 +000077syn keyword issRegFlags createvalueifdoesntexist deletekey deletevalue dontcreatekey
78syn keyword issRegFlags preservestringtype noerror uninsclearvalue
79syn keyword issRegFlags uninsdeletekey uninsdeletekeyifempty uninsdeletevalue
Bram Moolenaar071d4272004-06-13 20:20:40 +000080
81" [Run] and [UninstallRun]
Bram Moolenaar8299df92004-07-10 09:47:34 +000082syn keyword issRunFlags hidewizard nowait postinstall runhidden runmaximized
83syn keyword issRunFlags runminimized shellexec skipifdoesntexist skipifnotsilent
84syn keyword issRunFlags skipifsilent unchecked waituntilidle
Bram Moolenaar071d4272004-06-13 20:20:40 +000085
86" [Types]
87syn keyword issTypesFlags iscustom
88
89" [Components]
Bram Moolenaar8299df92004-07-10 09:47:34 +000090syn keyword issComponentsFlags dontinheritcheck exclusive fixed restart disablenouninstallwarning
Bram Moolenaar071d4272004-06-13 20:20:40 +000091
92" [UninstallDelete] and [InstallDelete]
93syn keyword issInstallDeleteType files filesandordirs dirifempty
94
Bram Moolenaar8299df92004-07-10 09:47:34 +000095" [Tasks]
96syn keyword issTasksFlags checkedonce dontinheritcheck exclusive restart unchecked
97
Bram Moolenaar071d4272004-06-13 20:20:40 +000098
99" Define the default highlighting.
100" For version 5.7 and earlier: only when not done already
101" For version 5.8 and later: only when an item doesn't have highlighting yet
102if version >= 508 || !exists("did_iss_syntax_inits")
103 if version < 508
104 let did_iss_syntax_inits = 1
105 command -nargs=+ HiLink hi link <args>
106 else
107 command -nargs=+ HiLink hi def link <args>
108 endif
109
110 " The default methods for highlighting. Can be overridden later
Bram Moolenaar21cf8232004-07-16 20:18:37 +0000111 HiLink issHeader Special
112 HiLink issComment Comment
113 HiLink issLabel Type
114 HiLink issName Type
115 HiLink issFolder Special
116 HiLink issString String
117 HiLink issValue String
118 HiLink issURL Include
119 HiLink issPreProc PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000120
Bram Moolenaar21cf8232004-07-16 20:18:37 +0000121 HiLink issDirsFlags Keyword
122 HiLink issFilesCopyMode Keyword
123 HiLink issFilesAttribs Keyword
124 HiLink issFilesFlags Keyword
125 HiLink issIconsFlags Keyword
126 HiLink issINIFlags Keyword
127 HiLink issRegRootKey Keyword
128 HiLink issRegValueType Keyword
129 HiLink issRegFlags Keyword
130 HiLink issRunFlags Keyword
131 HiLink issTypesFlags Keyword
132 HiLink issComponentsFlags Keyword
133 HiLink issInstallDeleteType Keyword
134 HiLink issTasksFlags Keyword
Bram Moolenaar071d4272004-06-13 20:20:40 +0000135
136 delcommand HiLink
137endif
138
139let b:current_syntax = "iss"
140
141" vim:ts=8