Mercurial > vim
comparison runtime/syntax/named.vim @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | af1bcb9a13c0 |
comparison
equal
deleted
inserted
replaced
6:c2daee826b8f | 7:3fc0f57ecb91 |
---|---|
1 " Vim syntax file | |
2 " Language: BIND 8.x configuration file | |
3 " Maintainer: glory hump <rnd@web-drive.ru> | |
4 " Last change: Mon May 21 04:51:01 SAMST 2001 | |
5 " Filenames: named.conf | |
6 " URL: http://rnd.web-drive.ru/vim/syntax/named.vim | |
7 " $Id$ | |
8 " | |
9 " NOTE | |
10 " it was not widely tested, i just tried it on my simple | |
11 " single-master-single-slave configuration. most syntax was borrowed | |
12 " directly from "BIND Configuration File Guide" without testing. | |
13 | |
14 " For version 5.x: Clear all syntax items | |
15 " For version 6.x: Quit when a syntax file was already loaded | |
16 if version < 600 | |
17 syntax clear | |
18 elseif exists("b:current_syntax") | |
19 finish | |
20 endif | |
21 | |
22 syn case match | |
23 | |
24 if version >= 600 | |
25 setlocal iskeyword=.,-,48-58,A-Z,a-z,_ | |
26 else | |
27 set iskeyword=.,-,48-58,A-Z,a-z,_ | |
28 endif | |
29 | |
30 let s:save_cpo = &cpo | |
31 set cpo-=C | |
32 | |
33 " BIND configuration file | |
34 | |
35 syn match namedComment "//.*" | |
36 syn region namedComment start="/\*" end="\*/" | |
37 syn region namedString start=/"/ end=/"/ contained | |
38 " --- omitted trailing semicolon FIXME | |
39 syn match namedError /[^;{]$/ | |
40 | |
41 " --- top-level keywords | |
42 | |
43 syn keyword namedInclude include nextgroup=namedString skipwhite | |
44 syn keyword namedKeyword acl key nextgroup=namedIntIdent skipwhite | |
45 syn keyword namedKeyword server nextgroup=namedIdentifier skipwhite | |
46 syn keyword namedKeyword controls nextgroup=namedSection skipwhite | |
47 syn keyword namedKeyword trusted-keys nextgroup=namedIntSection skipwhite | |
48 syn keyword namedKeyword logging nextgroup=namedLogSection skipwhite | |
49 syn keyword namedKeyword options nextgroup=namedOptSection skipwhite | |
50 syn keyword namedKeyword zone nextgroup=namedZoneString skipwhite | |
51 | |
52 " --- Identifier: name of following { ... } Section | |
53 syn match namedIdentifier contained /\k\+/ nextgroup=namedSection skipwhite | |
54 " --- IntIdent: name of following IntSection | |
55 syn match namedIntIdent contained /"\=\k\+"\=/ nextgroup=namedIntSection skipwhite | |
56 | |
57 " --- Section: { ... } clause | |
58 syn region namedSection contained start=+{+ end=+};+ contains=namedSection,namedIntKeyword | |
59 | |
60 " --- IntSection: section that does not contain other sections | |
61 syn region namedIntSection contained start=+{+ end=+}+ contains=namedIntKeyword,namedError | |
62 | |
63 " --- IntKeyword: keywords contained within `{ ... }' sections only | |
64 " + these keywords are contained within `key' and `acl' sections | |
65 syn keyword namedIntKeyword contained key algorithm | |
66 syn keyword namedIntKeyword contained secret nextgroup=namedString skipwhite | |
67 | |
68 " + these keywords are contained within `server' section only | |
69 syn keyword namedIntKeyword contained bogus support-ixfr nextgroup=namedBool,namedNotBool skipwhite | |
70 syn keyword namedIntKeyword contained transfers nextgroup=namedNumber,namedNotNumber skipwhite | |
71 syn keyword namedIntKeyword contained transfer-format | |
72 syn keyword namedIntKeyword contained keys nextgroup=namedIntSection skipwhite | |
73 | |
74 " + these keywords are contained within `controls' section only | |
75 syn keyword namedIntKeyword contained inet nextgroup=namedIPaddr,namedIPerror skipwhite | |
76 syn keyword namedIntKeyword contained unix nextgroup=namedString skipwhite | |
77 syn keyword namedIntKeyword contained port perm owner group nextgroup=namedNumber,namedNotNumber skipwhite | |
78 syn keyword namedIntKeyword contained allow nextgroup=namedIntSection skipwhite | |
79 | |
80 " --- options | |
81 syn region namedOptSection contained start=+{+ end=+};+ contains=namedOption,namedCNOption,namedComment,namedParenError | |
82 | |
83 syn keyword namedOption contained version directory | |
84 \ nextgroup=namedString skipwhite | |
85 syn keyword namedOption contained named-xfer dump-file pid-file | |
86 \ nextgroup=namedString skipwhite | |
87 syn keyword namedOption contained mem-statistics-file statistics-file | |
88 \ nextgroup=namedString skipwhite | |
89 syn keyword namedOption contained auth-nxdomain deallocate-on-exit | |
90 \ nextgroup=namedBool,namedNotBool skipwhite | |
91 syn keyword namedOption contained dialup fake-iquery fetch-glue | |
92 \ nextgroup=namedBool,namedNotBool skipwhite | |
93 syn keyword namedOption contained has-old-clients host-statistics | |
94 \ nextgroup=namedBool,namedNotBool skipwhite | |
95 syn keyword namedOption contained maintain-ixfr-base multiple-cnames | |
96 \ nextgroup=namedBool,namedNotBool skipwhite | |
97 syn keyword namedOption contained notify recursion rfc2308-type1 | |
98 \ nextgroup=namedBool,namedNotBool skipwhite | |
99 syn keyword namedOption contained use-id-pool treat-cr-as-space | |
100 \ nextgroup=namedBool,namedNotBool skipwhite | |
101 syn keyword namedOption contained also-notify forwarders | |
102 \ nextgroup=namedIntSection skipwhite | |
103 syn keyword namedOption contained forward check-names | |
104 syn keyword namedOption contained allow-query allow-transfer allow-recursion nextgroup=namedAML skipwhite | |
105 syn keyword namedOption contained blackhole listen-on | |
106 \ nextgroup=namedIntSection skipwhite | |
107 syn keyword namedOption contained lame-ttl max-transfer-time-in | |
108 \ nextgroup=namedNumber,namedNotNumber skipwhite | |
109 syn keyword namedOption contained max-ncache-ttl min-roots | |
110 \ nextgroup=namedNumber,namedNotNumber skipwhite | |
111 syn keyword namedOption contained serial-queries transfers-in | |
112 \ nextgroup=namedNumber,namedNotNumber skipwhite | |
113 syn keyword namedOption contained transfers-out transfers-per-ns | |
114 syn keyword namedOption contained transfer-format | |
115 syn keyword namedOption contained transfer-source | |
116 \ nextgroup=namedIPaddr,namedIPerror skipwhite | |
117 syn keyword namedOption contained max-ixfr-log-size | |
118 \ nextgroup=namedNumber,namedNotNumber skipwhite | |
119 syn keyword namedOption contained coresize datasize files stacksize | |
120 syn keyword namedOption contained cleaning-interval interface-interval statistics-interval heartbeat-interval | |
121 \ nextgroup=namedNumber,namedNotNumber skipwhite | |
122 syn keyword namedOption contained topology sortlist rrset-order | |
123 \ nextgroup=namedIntSection skipwhite | |
124 | |
125 syn match namedOption contained /\<query-source\s\+.*;/he=s+12 contains=namedQSKeywords | |
126 syn keyword namedQSKeywords contained address port | |
127 syn match namedCNOption contained /\<check-names\s\+.*;/he=s+11 contains=namedCNKeywords | |
128 syn keyword namedCNKeywords contained fail warn ignore master slave response | |
129 | |
130 " --- logging facilities | |
131 syn region namedLogSection contained start=+{+ end=+};+ contains=namedLogOption | |
132 syn keyword namedLogOption contained channel nextgroup=namedIntIdent skipwhite | |
133 syn keyword namedLogOption contained category nextgroup=namedIntIdent skipwhite | |
134 syn keyword namedIntKeyword contained syslog null versions size severity | |
135 syn keyword namedIntKeyword contained file nextgroup=namedString skipwhite | |
136 syn keyword namedIntKeyword contained print-category print-severity print-time nextgroup=namedBool,namedNotBool skipwhite | |
137 | |
138 " --- zone section | |
139 syn region namedZoneString contained oneline start=+"+ end=+"+ skipwhite | |
140 \ contains=namedDomain,namedIllegalDom | |
141 \ nextgroup=namedZoneClass,namedZoneSection | |
142 syn keyword namedZoneClass contained in hs hesiod chaos | |
143 \ IN HS HESIOD CHAOS | |
144 \ nextgroup=namedZoneSection skipwhite | |
145 | |
146 syn region namedZoneSection contained start=+{+ end=+};+ contains=namedZoneOpt,namedCNOption,namedComment,namedMasters,namedParenError | |
147 syn keyword namedZoneOpt contained file ixfr-base | |
148 \ nextgroup=namedString skipwhite | |
149 syn keyword namedZoneOpt contained notify dialup | |
150 \ nextgroup=namedBool,namedNotBool skipwhite | |
151 syn keyword namedZoneOpt contained pubkey forward | |
152 syn keyword namedZoneOpt contained max-transfer-time-in | |
153 \ nextgroup=namedNumber,namedNotNumber skipwhite | |
154 syn keyword namedZoneOpt contained type nextgroup=namedZoneType skipwhite | |
155 syn keyword namedZoneType contained master slave stub forward hint | |
156 | |
157 syn keyword namedZoneOpt contained masters forwarders | |
158 \ nextgroup=namedIPlist skipwhite | |
159 syn region namedIPlist contained start=+{+ end=+};+ contains=namedIPaddr,namedIPerror,namedParenError,namedComment | |
160 syn match namedZoneOpt contained "\<allow-\(update\|query\|transfer\)" | |
161 \ nextgroup=namedAML skipwhite | |
162 | |
163 " --- boolean parameter | |
164 syn match namedNotBool contained "[^ ;]\+" | |
165 syn keyword namedBool contained yes no true false 1 0 | |
166 | |
167 " --- number parameter | |
168 syn match namedNotNumber contained "[^ 0-9;]\+" | |
169 syn match namedNumber contained "\d\+" | |
170 | |
171 " --- address match list | |
172 syn region namedAML contained start=+{+ end=+};+ contains=namedParenError,namedComment | |
173 | |
174 " --- IPs & Domains | |
175 syn match namedIPaddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{3};/he=e-1 | |
176 syn match namedDomain contained /\<[0-9A-Za-z][-0-9A-Za-z.]\+\>/ nextgroup=namedSpareDot | |
177 syn match namedDomain contained /"\."/ms=s+1,me=e-1 | |
178 syn match namedSpareDot contained /\./ | |
179 | |
180 " --- syntax errors | |
181 syn match namedIllegalDom contained /"\S*[^-A-Za-z0-9.[:space:]]\S*"/ms=s+1,me=e-1 | |
182 syn match namedIPerror contained /\<\S*[^0-9.[:space:];]\S*/ | |
183 syn match namedEParenError contained +{+ | |
184 syn match namedParenError +}\([^;]\|$\)+ | |
185 | |
186 " Define the default highlighting. | |
187 " For version 5.7 and earlier: only when not done already | |
188 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
189 if version >= 508 || !exists("did_named_syn_inits") | |
190 if version < 508 | |
191 let did_named_syn_inits = 1 | |
192 command -nargs=+ HiLink hi link <args> | |
193 else | |
194 command -nargs=+ HiLink hi def link <args> | |
195 endif | |
196 | |
197 HiLink namedComment Comment | |
198 HiLink namedInclude Include | |
199 HiLink namedKeyword Keyword | |
200 HiLink namedIntKeyword Keyword | |
201 HiLink namedIdentifier Identifier | |
202 HiLink namedIntIdent Identifier | |
203 | |
204 HiLink namedString String | |
205 HiLink namedBool Type | |
206 HiLink namedNotBool Error | |
207 HiLink namedNumber Number | |
208 HiLink namedNotNumber Error | |
209 | |
210 HiLink namedOption namedKeyword | |
211 HiLink namedLogOption namedKeyword | |
212 HiLink namedCNOption namedKeyword | |
213 HiLink namedQSKeywords Type | |
214 HiLink namedCNKeywords Type | |
215 HiLink namedLogCategory Type | |
216 HiLink namedDomain Identifier | |
217 HiLink namedZoneOpt namedKeyword | |
218 HiLink namedZoneType Type | |
219 HiLink namedParenError Error | |
220 HiLink namedEParenError Error | |
221 HiLink namedIllegalDom Error | |
222 HiLink namedIPerror Error | |
223 HiLink namedSpareDot Error | |
224 HiLink namedError Error | |
225 | |
226 delcommand HiLink | |
227 endif | |
228 | |
229 let &cpo = s:save_cpo | |
230 unlet s:save_cpo | |
231 | |
232 let b:current_syntax = "named" | |
233 | |
234 " vim: ts=17 |