晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/proc/thread-self/root/usr/share/vim/vim80/syntax/ |
| Current File : //proc/thread-self/root/usr/share/vim/vim80/syntax/dtd.vim |
" Vim syntax file
" Language: DTD (Document Type Definition for XML)
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Author and previous maintainer:
" Daniel Amyot <damyot@site.uottawa.ca>
" Last Change: Tue, 27 Apr 2004 14:54:59 CEST
" Filenames: *.dtd
"
" REFERENCES:
" http://www.w3.org/TR/html40/
" http://www.w3.org/TR/NOTE-html-970421
"
" TODO:
" - improve synchronizing.
if exists("b:current_syntax")
finish
endif
let s:dtd_cpo_save = &cpo
set cpo&vim
if !exists("dtd_ignore_case")
" I prefer having the case takes into consideration.
syn case match
else
syn case ignore
endif
" the following line makes the opening <! and
" closing > highlighted using 'dtdFunction'.
"
" PROVIDES: @dtdTagHook
"
syn region dtdTag matchgroup=dtdFunction
\ start=+<!+ end=+>+ matchgroup=NONE
\ contains=dtdTag,dtdTagName,dtdError,dtdComment,dtdString,dtdAttrType,dtdAttrDef,dtdEnum,dtdParamEntityInst,dtdParamEntityDecl,dtdCard,@dtdTagHook
if !exists("dtd_no_tag_errors")
" mark everything as an error which starts with a <!
" and is not overridden later. If this is annoying,
" it can be switched off by setting the variable
" dtd_no_tag_errors.
syn region dtdError contained start=+<!+lc=2 end=+>+
endif
" if this is a html like comment hightlight also
" the opening <! and the closing > as Comment.
syn region dtdComment start=+<![ \t]*--+ end=+-->+ contains=dtdTodo,@Spell
" proper DTD comment
syn region dtdComment contained start=+--+ end=+--+ contains=dtdTodo,@Spell
" Start tags (keywords). This is contained in dtdFunction.
" Note that everything not contained here will be marked
" as error.
syn match dtdTagName contained +<!\(ATTLIST\|DOCTYPE\|ELEMENT\|ENTITY\|NOTATION\|SHORTREF\|USEMAP\|\[\)+lc=2,hs=s+2
" wildcards and operators
syn match dtdCard contained "|"
syn match dtdCard contained ","
" evenutally overridden by dtdEntity
syn match dtdCard contained "&"
syn match dtdCard contained "?"
syn match dtdCard contained "\*"
syn match dtdCard contained "+"
" ...and finally, special cases.
syn match dtdCard "ANY"
syn match dtdCard "EMPTY"
if !exists("dtd_no_param_entities")
" highlight parameter entity declarations
" and instances. Note that the closing `;'
" is optional.
" instances
syn region dtdParamEntityInst oneline matchgroup=dtdParamEntityPunct
\ start="%[-_a-zA-Z0-9.]\+"he=s+1,rs=s+1
\ skip=+[-_a-zA-Z0-9.]+
\ end=";\|\>"
\ matchgroup=NONE contains=dtdParamEntityPunct
syn match dtdParamEntityPunct contained "\."
" declarations
" syn region dtdParamEntityDecl oneline matchgroup=dtdParamEntityDPunct start=+<!ENTITY % +lc=8 skip=+[-_a-zA-Z0-9.]+ matchgroup=NONE end="\>" contains=dtdParamEntityDPunct
syn match dtdParamEntityDecl +<!ENTITY % [-_a-zA-Z0-9.]*+lc=8 contains=dtdParamEntityDPunct
syn match dtdParamEntityDPunct contained "%\|\."
endif
" &entities; compare with xml
syn match dtdEntity "&[^; \t]*;" contains=dtdEntityPunct
syn match dtdEntityPunct contained "[&.;]"
" Strings are between quotes
syn region dtdString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=dtdAttrDef,dtdAttrType,dtdEnum,dtdParamEntityInst,dtdEntity,dtdCard
syn region dtdString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=dtdAttrDef,dtdAttrType,dtdEnum,dtdParamEntityInst,dtdEntity,dtdCard
" Enumeration of elements or data between parenthesis
"
" PROVIDES: @dtdEnumHook
"
syn region dtdEnum matchgroup=dtdType start="(" end=")" matchgroup=NONE contains=dtdEnum,dtdParamEntityInst,dtdCard,@dtdEnumHook
"Attribute types
syn keyword dtdAttrType NMTOKEN ENTITIES NMTOKENS ID CDATA
syn keyword dtdAttrType IDREF IDREFS
" ENTITY has to treated special for not overriding <!ENTITY
syn match dtdAttrType +[^!]\<ENTITY+
"Attribute Definitions
syn match dtdAttrDef "#REQUIRED"
syn match dtdAttrDef "#IMPLIED"
syn match dtdAttrDef "#FIXED"
syn case match
" define some common keywords to mark TODO
" and important sections inside comments.
syn keyword dtdTodo contained TODO FIXME XXX
syn sync lines=250
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
" The default highlighting.
hi def link dtdFunction Function
hi def link dtdTag Normal
hi def link dtdType Type
hi def link dtdAttrType dtdType
hi def link dtdAttrDef dtdType
hi def link dtdConstant Constant
hi def link dtdString dtdConstant
hi def link dtdEnum dtdConstant
hi def link dtdCard dtdFunction
hi def link dtdEntity Statement
hi def link dtdEntityPunct dtdType
hi def link dtdParamEntityInst dtdConstant
hi def link dtdParamEntityPunct dtdType
hi def link dtdParamEntityDecl dtdType
hi def link dtdParamEntityDPunct dtdComment
hi def link dtdComment Comment
hi def link dtdTagName Statement
hi def link dtdError Error
hi def link dtdTodo Todo
let &cpo = s:dtd_cpo_save
unlet s:dtd_cpo_save
let b:current_syntax = "dtd"
" vim: ts=8
|