Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/iss.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " 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 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 " For version 5.x: Clear all syntax items | |
13 " For version 6.x: Quit when a syntax file was already loaded | |
14 if version < 600 | |
15 syntax clear | |
16 elseif exists("b:current_syntax") | |
17 finish | |
18 endif | |
19 | |
20 " shut case off | |
21 syn case ignore | |
22 | |
23 " Preprocessor | |
24 syn region issPreProc start="^\s*#" end="$" | |
25 | |
26 " Section | |
27 syn region issSection start="\[" end="\]" | |
28 | |
29 " Label in the [Setup] Section | |
30 syn match issDirective "^[^=]\+=" | |
31 | |
32 " URL | |
33 syn match issURL "http[s]\=:\/\/.*$" | |
34 | |
35 " Parameters used for any section. | |
36 " syn match issParam"[^: ]\+:" | |
37 syn match issParam "Name:" | |
38 syn match issParam "MinVersion:\|OnlyBelowVersion:\|Languages:" | |
39 syn match issParam "Source:\|DestDir:\|DestName:\|CopyMode:" | |
40 syn match issParam "Attribs:\|Permissions:\|FontInstall:\|Flags:" | |
41 syn match issParam "FileName:\|Parameters:\|WorkingDir:\|HotKey:\|Comment:" | |
42 syn match issParam "IconFilename:\|IconIndex:" | |
43 syn match issParam "Section:\|Key:\|String:" | |
44 syn match issParam "Root:\|SubKey:\|ValueType:\|ValueName:\|ValueData:" | |
45 syn match issParam "RunOnceId:" | |
46 syn match issParam "Type:\|Excludes:" | |
47 syn match issParam "Components:\|Description:\|GroupDescription:\|Types:\|ExtraDiskSpaceRequired:" | |
48 syn match issParam "StatusMsg:\|RunOnceId:\|Tasks:" | |
49 syn match issParam "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:" | |
50 | |
51 syn match issComment "^\s*;.*$" | |
52 | |
53 " folder constant | |
54 syn match issFolder "{[^{]*}" | |
55 | |
56 " string | |
57 syn region issString start=+"+ end=+"+ contains=issFolder | |
58 | |
59 " [Dirs] | |
60 syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall | |
61 | |
62 " [Files] | |
63 syn keyword issFilesCopyMode normal onlyifdoesntexist alwaysoverwrite alwaysskipifsameorolder dontcopy | |
64 syn keyword issFilesAttribs readonly hidden system | |
65 syn keyword issFilesPermissions full modify readexec | |
66 syn keyword issFilesFlags allowunsafefiles comparetimestampalso confirmoverwrite deleteafterinstall | |
67 syn keyword issFilesFlags dontcopy dontverifychecksum external fontisnttruetype ignoreversion | |
68 syn keyword issFilesFlags isreadme onlyifdestfileexists onlyifdoesntexist overwritereadonly | |
69 syn keyword issFilesFlags promptifolder recursesubdirs regserver regtypelib restartreplace | |
70 syn keyword issFilesFlags sharedfile skipifsourcedoesntexist sortfilesbyextension touch | |
71 syn keyword issFilesFlags uninsremovereadonly uninsrestartdelete uninsneveruninstall | |
72 syn keyword issFilesFlags replacesameversion nocompression noencryption noregerror | |
73 | |
74 | |
75 " [Icons] | |
76 syn keyword issIconsFlags closeonexit createonlyiffileexists dontcloseonexit | |
77 syn keyword issIconsFlags runmaximized runminimized uninsneveruninstall useapppaths | |
78 | |
79 " [INI] | |
80 syn keyword issINIFlags createkeyifdoesntexist uninsdeleteentry uninsdeletesection uninsdeletesectionifempty | |
81 | |
82 " [Registry] | |
83 syn keyword issRegRootKey HKCR HKCU HKLM HKU HKCC | |
84 syn keyword issRegValueType none string expandsz multisz dword binary | |
85 syn keyword issRegFlags createvalueifdoesntexist deletekey deletevalue dontcreatekey | |
86 syn keyword issRegFlags preservestringtype noerror uninsclearvalue | |
87 syn keyword issRegFlags uninsdeletekey uninsdeletekeyifempty uninsdeletevalue | |
88 | |
89 " [Run] and [UninstallRun] | |
90 syn keyword issRunFlags hidewizard nowait postinstall runhidden runmaximized | |
91 syn keyword issRunFlags runminimized shellexec skipifdoesntexist skipifnotsilent | |
92 syn keyword issRunFlags skipifsilent unchecked waituntilidle | |
93 | |
94 " [Types] | |
95 syn keyword issTypesFlags iscustom | |
96 | |
97 " [Components] | |
98 syn keyword issComponentsFlags dontinheritcheck exclusive fixed restart disablenouninstallwarning | |
99 | |
100 " [UninstallDelete] and [InstallDelete] | |
101 syn keyword issInstallDeleteType files filesandordirs dirifempty | |
102 | |
103 " [Tasks] | |
104 syn keyword issTasksFlags checkedonce dontinheritcheck exclusive restart unchecked | |
105 | |
106 | |
107 " Define the default highlighting. | |
108 " For version 5.7 and earlier: only when not done already | |
109 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
110 if version >= 508 || !exists("did_iss_syntax_inits") | |
111 if version < 508 | |
112 let did_iss_syntax_inits = 1 | |
113 command -nargs=+ HiLink hi link <args> | |
114 else | |
115 command -nargs=+ HiLink hi def link <args> | |
116 endif | |
117 | |
118 " The default methods for highlighting. Can be overridden later | |
119 HiLink issSection Special | |
120 HiLink issComment Comment | |
121 HiLink issDirective Type | |
122 HiLink issParam Type | |
123 HiLink issFolder Special | |
124 HiLink issString String | |
125 HiLink issURL Include | |
126 HiLink issPreProc PreProc | |
127 | |
128 HiLink issDirsFlags Keyword | |
129 HiLink issFilesCopyMode Keyword | |
130 HiLink issFilesAttribs Keyword | |
131 HiLink issFilesPermissions Keyword | |
132 HiLink issFilesFlags Keyword | |
133 HiLink issIconsFlags Keyword | |
134 HiLink issINIFlags Keyword | |
135 HiLink issRegRootKey Keyword | |
136 HiLink issRegValueType Keyword | |
137 HiLink issRegFlags Keyword | |
138 HiLink issRunFlags Keyword | |
139 HiLink issTypesFlags Keyword | |
140 HiLink issComponentsFlags Keyword | |
141 HiLink issInstallDeleteType Keyword | |
142 HiLink issTasksFlags Keyword | |
143 | |
144 delcommand HiLink | |
145 endif | |
146 | |
147 let b:current_syntax = "iss" | |
148 | |
149 " vim:ts=8 |