diff 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
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/named.vim
@@ -0,0 +1,234 @@
+" Vim syntax file
+" Language:	BIND 8.x configuration file
+" Maintainer:	glory hump <rnd@web-drive.ru>
+" Last change:	Mon May 21 04:51:01 SAMST 2001
+" Filenames:	named.conf
+" URL:	http://rnd.web-drive.ru/vim/syntax/named.vim
+" $Id$
+"
+" NOTE
+"    it was not widely tested, i just tried it on my simple
+"    single-master-single-slave configuration. most syntax was borrowed
+"    directly from "BIND Configuration File Guide" without testing.
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+syn case match
+
+if version >= 600
+  setlocal iskeyword=.,-,48-58,A-Z,a-z,_
+else
+  set iskeyword=.,-,48-58,A-Z,a-z,_
+endif
+
+let s:save_cpo = &cpo
+set cpo-=C
+
+" BIND configuration file
+
+syn match	namedComment	"//.*"
+syn region	namedComment	start="/\*" end="\*/"
+syn region	namedString	start=/"/ end=/"/ contained
+" --- omitted trailing semicolon FIXME
+syn match	namedError	/[^;{]$/
+
+" --- top-level keywords
+
+syn keyword	namedInclude	include nextgroup=namedString skipwhite
+syn keyword	namedKeyword	acl key nextgroup=namedIntIdent skipwhite
+syn keyword	namedKeyword	server nextgroup=namedIdentifier skipwhite
+syn keyword	namedKeyword	controls nextgroup=namedSection skipwhite
+syn keyword	namedKeyword	trusted-keys nextgroup=namedIntSection skipwhite
+syn keyword	namedKeyword	logging nextgroup=namedLogSection skipwhite
+syn keyword	namedKeyword	options nextgroup=namedOptSection skipwhite
+syn keyword	namedKeyword	zone nextgroup=namedZoneString skipwhite
+
+" --- Identifier: name of following { ... } Section
+syn match	namedIdentifier	contained /\k\+/ nextgroup=namedSection skipwhite
+" --- IntIdent: name of following IntSection
+syn match	namedIntIdent	contained /"\=\k\+"\=/ nextgroup=namedIntSection skipwhite
+
+" --- Section: { ... } clause
+syn region	namedSection	contained start=+{+ end=+};+ contains=namedSection,namedIntKeyword
+
+" --- IntSection: section that does not contain other sections
+syn region	namedIntSection	contained start=+{+ end=+}+ contains=namedIntKeyword,namedError
+
+" --- IntKeyword: keywords contained within `{ ... }' sections only
+" + these keywords are contained within `key' and `acl' sections
+syn keyword	namedIntKeyword	contained key algorithm
+syn keyword	namedIntKeyword	contained secret nextgroup=namedString skipwhite
+
+" + these keywords are contained within `server' section only
+syn keyword	namedIntKeyword	contained bogus support-ixfr nextgroup=namedBool,namedNotBool skipwhite
+syn keyword	namedIntKeyword	contained transfers nextgroup=namedNumber,namedNotNumber skipwhite
+syn keyword	namedIntKeyword	contained transfer-format
+syn keyword	namedIntKeyword	contained keys nextgroup=namedIntSection skipwhite
+
+" + these keywords are contained within `controls' section only
+syn keyword	namedIntKeyword	contained inet nextgroup=namedIPaddr,namedIPerror skipwhite
+syn keyword	namedIntKeyword	contained unix nextgroup=namedString skipwhite
+syn keyword	namedIntKeyword	contained port perm owner group nextgroup=namedNumber,namedNotNumber skipwhite
+syn keyword	namedIntKeyword	contained allow nextgroup=namedIntSection skipwhite
+
+" --- options
+syn region	namedOptSection	contained start=+{+ end=+};+ contains=namedOption,namedCNOption,namedComment,namedParenError
+
+syn keyword	namedOption	contained version directory
+\		nextgroup=namedString skipwhite
+syn keyword	namedOption	contained named-xfer dump-file pid-file
+\		nextgroup=namedString skipwhite
+syn keyword	namedOption	contained mem-statistics-file statistics-file
+\		nextgroup=namedString skipwhite
+syn keyword	namedOption	contained auth-nxdomain deallocate-on-exit
+\		nextgroup=namedBool,namedNotBool skipwhite
+syn keyword	namedOption	contained dialup fake-iquery fetch-glue
+\		nextgroup=namedBool,namedNotBool skipwhite
+syn keyword	namedOption	contained has-old-clients host-statistics
+\		nextgroup=namedBool,namedNotBool skipwhite
+syn keyword	namedOption	contained maintain-ixfr-base multiple-cnames
+\		nextgroup=namedBool,namedNotBool skipwhite
+syn keyword	namedOption	contained notify recursion rfc2308-type1
+\		nextgroup=namedBool,namedNotBool skipwhite
+syn keyword	namedOption	contained use-id-pool treat-cr-as-space
+\		nextgroup=namedBool,namedNotBool skipwhite
+syn keyword	namedOption	contained also-notify forwarders
+\		nextgroup=namedIntSection skipwhite
+syn keyword	namedOption	contained forward check-names
+syn keyword	namedOption	contained allow-query allow-transfer allow-recursion	nextgroup=namedAML skipwhite
+syn keyword	namedOption	contained blackhole listen-on
+\		nextgroup=namedIntSection skipwhite
+syn keyword	namedOption	contained lame-ttl max-transfer-time-in
+\		nextgroup=namedNumber,namedNotNumber skipwhite
+syn keyword	namedOption	contained max-ncache-ttl min-roots
+\		nextgroup=namedNumber,namedNotNumber skipwhite
+syn keyword	namedOption	contained serial-queries transfers-in
+\		nextgroup=namedNumber,namedNotNumber skipwhite
+syn keyword	namedOption	contained transfers-out transfers-per-ns
+syn keyword	namedOption	contained transfer-format
+syn keyword	namedOption	contained transfer-source
+\		nextgroup=namedIPaddr,namedIPerror skipwhite
+syn keyword	namedOption	contained max-ixfr-log-size
+\		nextgroup=namedNumber,namedNotNumber skipwhite
+syn keyword	namedOption	contained coresize datasize files stacksize
+syn keyword	namedOption	contained cleaning-interval interface-interval statistics-interval heartbeat-interval
+\		nextgroup=namedNumber,namedNotNumber skipwhite
+syn keyword	namedOption	contained topology sortlist rrset-order
+\		nextgroup=namedIntSection skipwhite
+
+syn match	namedOption	contained /\<query-source\s\+.*;/he=s+12 contains=namedQSKeywords
+syn keyword	namedQSKeywords	contained address port
+syn match	namedCNOption	contained /\<check-names\s\+.*;/he=s+11 contains=namedCNKeywords
+syn keyword	namedCNKeywords	contained fail warn ignore master slave response
+
+" --- logging facilities
+syn region	namedLogSection	contained start=+{+ end=+};+ contains=namedLogOption
+syn keyword	namedLogOption	contained channel nextgroup=namedIntIdent skipwhite
+syn keyword	namedLogOption	contained category nextgroup=namedIntIdent skipwhite
+syn keyword	namedIntKeyword	contained syslog null versions size severity
+syn keyword	namedIntKeyword	contained file nextgroup=namedString skipwhite
+syn keyword	namedIntKeyword	contained print-category print-severity print-time nextgroup=namedBool,namedNotBool skipwhite
+
+" --- zone section
+syn region	namedZoneString	contained oneline start=+"+ end=+"+ skipwhite
+\		contains=namedDomain,namedIllegalDom
+\		nextgroup=namedZoneClass,namedZoneSection
+syn keyword	namedZoneClass	contained in hs hesiod chaos
+\		IN HS HESIOD CHAOS
+\		nextgroup=namedZoneSection skipwhite
+
+syn region	namedZoneSection	contained start=+{+ end=+};+ contains=namedZoneOpt,namedCNOption,namedComment,namedMasters,namedParenError
+syn keyword	namedZoneOpt	contained file ixfr-base
+\		nextgroup=namedString skipwhite
+syn keyword	namedZoneOpt	contained notify dialup
+\		nextgroup=namedBool,namedNotBool skipwhite
+syn keyword	namedZoneOpt	contained pubkey forward
+syn keyword	namedZoneOpt	contained max-transfer-time-in
+\		nextgroup=namedNumber,namedNotNumber skipwhite
+syn keyword	namedZoneOpt	contained type nextgroup=namedZoneType skipwhite
+syn keyword	namedZoneType	contained master slave stub forward hint
+
+syn keyword	namedZoneOpt	contained masters forwarders
+\		nextgroup=namedIPlist skipwhite
+syn region	namedIPlist	contained start=+{+ end=+};+ contains=namedIPaddr,namedIPerror,namedParenError,namedComment
+syn match	namedZoneOpt	contained "\<allow-\(update\|query\|transfer\)"
+\		nextgroup=namedAML skipwhite
+
+" --- boolean parameter
+syn match	namedNotBool	contained "[^ 	;]\+"
+syn keyword	namedBool	contained yes no true false 1 0
+
+" --- number parameter
+syn match	namedNotNumber	contained "[^ 	0-9;]\+"
+syn match	namedNumber	contained "\d\+"
+
+" --- address match list
+syn region	namedAML	contained start=+{+ end=+};+ contains=namedParenError,namedComment
+
+" --- IPs & Domains
+syn match	namedIPaddr	contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{3};/he=e-1
+syn match	namedDomain	contained /\<[0-9A-Za-z][-0-9A-Za-z.]\+\>/ nextgroup=namedSpareDot
+syn match	namedDomain	contained /"\."/ms=s+1,me=e-1
+syn match	namedSpareDot	contained /\./
+
+" --- syntax errors
+syn match	namedIllegalDom	contained /"\S*[^-A-Za-z0-9.[:space:]]\S*"/ms=s+1,me=e-1
+syn match	namedIPerror	contained /\<\S*[^0-9.[:space:];]\S*/
+syn match	namedEParenError	contained +{+
+syn match	namedParenError	+}\([^;]\|$\)+
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_named_syn_inits")
+  if version < 508
+    let did_named_syn_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink namedComment	Comment
+  HiLink namedInclude	Include
+  HiLink namedKeyword	Keyword
+  HiLink namedIntKeyword	Keyword
+  HiLink namedIdentifier	Identifier
+  HiLink namedIntIdent	Identifier
+
+  HiLink namedString	String
+  HiLink namedBool	Type
+  HiLink namedNotBool	Error
+  HiLink namedNumber	Number
+  HiLink namedNotNumber	Error
+
+  HiLink namedOption	namedKeyword
+  HiLink namedLogOption	namedKeyword
+  HiLink namedCNOption	namedKeyword
+  HiLink namedQSKeywords	Type
+  HiLink namedCNKeywords	Type
+  HiLink namedLogCategory	Type
+  HiLink namedDomain	Identifier
+  HiLink namedZoneOpt	namedKeyword
+  HiLink namedZoneType	Type
+  HiLink namedParenError	Error
+  HiLink namedEParenError	Error
+  HiLink namedIllegalDom	Error
+  HiLink namedIPerror	Error
+  HiLink namedSpareDot	Error
+  HiLink namedError	Error
+
+  delcommand HiLink
+endif
+
+let &cpo = s:save_cpo
+unlet s:save_cpo
+
+let b:current_syntax = "named"
+
+" vim: ts=17