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