晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/proc/thread-self/root/usr/share/vim/vim80/syntax/ |
| Current File : //proc/thread-self/root/usr/share/vim/vim80/syntax/named.vim |
" Vim syntax file
" Language: BIND configuration file
" Maintainer: Nick Hibma <nick@van-laarhoven.org>
" Last change: 2007-01-30
" Filenames: named.conf, rndc.conf
" Location: http://www.van-laarhoven.org/vim/syntax/named.vim
"
" Previously maintained by glory hump <rnd@web-drive.ru> and updated by Marcin
" Dalecki.
"
" This file could do with a lot of improvements, so comments are welcome.
" Please submit the named.conf (segment) with any comments.
"
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case match
setlocal iskeyword=.,-,48-58,A-Z,a-z,_
syn sync match namedSync grouphere NONE "^(zone|controls|acl|key)"
let s:save_cpo = &cpo
set cpo-=C
" BIND configuration file
syn match namedComment "//.*"
syn match namedComment "#.*"
syn region namedComment start="/\*" end="\*/"
syn region namedString start=/"/ end=/"/ contained
" --- omitted trailing semicolon
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
" + these keywords are contained within `update-policy' section only
syn keyword namedIntKeyword contained grant nextgroup=namedString skipwhite
syn keyword namedIntKeyword contained name self subdomain wildcard nextgroup=namedString skipwhite
syn keyword namedIntKeyword TXT A PTR NS SOA A6 CNAME MX ANY 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=namedIPlist 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 keyword namedZoneOpt contained allow-update allow-query allow-transfer
\ nextgroup=namedAML skipwhite
syn keyword namedZoneOpt contained update-policy
\ nextgroup=namedIntSection 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,namedString
" --- 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.
" Only when an item doesn't have highlighting yet
hi def link namedComment Comment
hi def link namedInclude Include
hi def link namedKeyword Keyword
hi def link namedIntKeyword Keyword
hi def link namedIdentifier Identifier
hi def link namedIntIdent Identifier
hi def link namedString String
hi def link namedBool Type
hi def link namedNotBool Error
hi def link namedNumber Number
hi def link namedNotNumber Error
hi def link namedOption namedKeyword
hi def link namedLogOption namedKeyword
hi def link namedCNOption namedKeyword
hi def link namedQSKeywords Type
hi def link namedCNKeywords Type
hi def link namedLogCategory Type
hi def link namedIPaddr Number
hi def link namedDomain Identifier
hi def link namedZoneOpt namedKeyword
hi def link namedZoneType Type
hi def link namedParenError Error
hi def link namedEParenError Error
hi def link namedIllegalDom Error
hi def link namedIPerror Error
hi def link namedSpareDot Error
hi def link namedError Error
let &cpo = s:save_cpo
unlet s:save_cpo
let b:current_syntax = "named"
" vim: ts=17
|