晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/proc/thread-self/root/proc/thread-self/root/usr/share/vim/vim80/syntax/ |
| Current File : //proc/thread-self/root/proc/thread-self/root/usr/share/vim/vim80/syntax/natural.vim |
" Vim syntax file
"
" Language: NATURAL
" Version: 2.1.0.5
" Maintainer: Marko von Oppen <marko@von-oppen.com>
" Last Changed: 2012-02-05 18:50:43
" Support: http://www.von-oppen.com/
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
setlocal iskeyword+=-,*,#,+,_,/
let s:cpo_save = &cpo
set cpo&vim
" NATURAL is case insensitive
syntax case ignore
" preprocessor
syn keyword naturalInclude include nextgroup=naturalObjName skipwhite
" define data
syn keyword naturalKeyword define data end-define
syn keyword naturalKeyword independent global parameter local redefine view
syn keyword naturalKeyword const[ant] init initial
" loops
syn keyword naturalLoop read end-read end-work find end-find histogram end-histogram
syn keyword naturalLoop end-all sort end-sort sorted descending ascending
syn keyword naturalRepeat repeat end-repeat while until for step end-for
syn keyword naturalKeyword in file with field starting from ending at thru by isn where
syn keyword naturalError on error end-error
syn keyword naturalKeyword accept reject end-enddata number unique retain as release
syn keyword naturalKeyword start end-start break end-break physical page top sequence
syn keyword naturalKeyword end-toppage end-endpage end-endfile before processing
syn keyword naturalKeyword end-before
" conditionals
syn keyword naturalConditional if then else end-if end-norec
syn keyword naturalConditional decide end-decide value when condition none any
" assignment / calculation
syn keyword naturalKeyword reset assign move left right justified compress to into edited
syn keyword naturalKeyword add subtract multiply divide compute name
syn keyword naturalKeyword all giving remainder rounded leaving space numeric
syn keyword naturalKeyword examine full replace giving separate delimiter modified
syn keyword naturalKeyword suspend identical suppress
" program flow
syn keyword naturalFlow callnat fetch return enter escape bottom top stack formatted
syn keyword naturalFlow command call
syn keyword naturalflow end-subroutine routine
" file operations
syn keyword naturalKeyword update store get delete end transaction work once close
" other keywords
syn keyword naturalKeyword first every of no record[s] found ignore immediate
syn keyword naturalKeyword set settime key control stop terminate
" in-/output
syn keyword naturalKeyword write display input reinput notitle nohdr map newpage
syn keyword naturalKeyword alarm text help eject index window base size
syn keyword naturalKeyword format printer skip lines
" functions
syn keyword naturalKeyword abs atn cos exp frac int log sgn sin sqrt tan val old
syn keyword naturalKeyword pos
" report mode keywords
syn keyword naturalRMKeyword same loop obtain indexed do doend
" Subroutine name
syn keyword naturalFlow perform subroutine nextgroup=naturalFunction skipwhite
syn match naturalFunction "\<[a-z][-_a-z0-9]*\>"
syn keyword naturalFlow using nextgroup=naturalKeyword,naturalObjName skipwhite
syn match naturalObjName "\<[a-z][-_a-z0-9]\{,7}\>"
" Labels
syn match naturalLabel "\<[+#a-z][-_#a-z0-9]*\."
syn match naturalRef "\<[+#a-z][-_#a-z0-9]*\>\.\<[+#a-z][*]\=[-_#a-z0-9]*\>"
" mark keyword special handling
syn keyword naturalKeyword mark nextgroup=naturalMark skipwhite
syn match naturalMark "\<\*[a-z][-_#.a-z0-9]*\>"
" System variables
syn match naturalSysVar "\<\*[a-z][-a-z0-9]*\>"
"integer number, or floating point number without a dot.
syn match naturalNumber "\<-\=\d\+\>"
"floating point number, with dot
syn match naturalNumber "\<-\=\d\+\.\d\+\>"
"floating point number, starting with a dot
syn match naturalNumber "\.\d\+"
" Formats in write statement
syn match naturalFormat "\<\d\+[TX]\>"
" String and Character contstants
syn match naturalString "H'\x\+'"
syn region naturalString start=+"+ end=+"+
syn region naturalString start=+'+ end=+'+
" Type definition
syn match naturalAttribute "\<[-a-z][a-z]=[-a-z0-9_\.,]\+\>"
syn match naturalType contained "\<[ABINP]\d\+\(,\d\+\)\=\>"
syn match naturalType contained "\<[CL]\>"
" "TODO" / other comments
syn keyword naturalTodo contained todo test
syn match naturalCommentMark contained "[a-z][^ \t/:|]*\(\s[^ \t/:'"|]\+\)*:\s"he=e-1
" comments
syn region naturalComment start="/\*" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark
syn region naturalComment start="^\*[ *]" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark
syn region naturalComment start="^\d\{4} \*[\ \*]"lc=5 end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark
syn match naturalComment "^\*$"
syn match naturalComment "^\d\{4} \*$"lc=5
" /* is legal syntax in parentheses e.g. "#ident(label./*)"
syn region naturalPComment contained start="/\*\s*[^),]" end="$" contains=naturalTodo,naturalLineRef,naturalCommentMark
" operators
syn keyword naturalOperator and or not eq ne gt lt ge le mask scan modified
" constants
syn keyword naturalBoolean true false
syn match naturalLineNo "^\d\{4}"
" identifiers
syn match naturalIdent "\<[+#a-z][-_#a-z0-9]*\>[^\.']"me=e-1
syn match naturalIdent "\<[+#a-z][-_#a-z0-9]*$"
syn match naturalLegalIdent "[+#a-z][-_#a-z0-9]*/[-_#a-z0-9]*"
" parentheses
syn region naturalPar matchgroup=naturalParGui start="(" end=")" contains=naturalLabel,naturalRef,naturalOperator,@naturalConstant,naturalType,naturalSysVar,naturalPar,naturalLineNo,naturalPComment
syn match naturalLineRef "(\d\{4})"
" build syntax groups
syntax cluster naturalConstant contains=naturalString,naturalNumber,naturalAttribute,naturalBoolean
" folding
if v:version >= 600
set foldignore=*
endif
" The default methods for highlighting. Can be overridden later
" Constants
hi def link naturalFormat Constant
hi def link naturalAttribute Constant
hi def link naturalNumber Number
hi def link naturalString String
hi def link naturalBoolean Boolean
" All kinds of keywords
hi def link naturalConditional Conditional
hi def link naturalRepeat Repeat
hi def link naturalLoop Repeat
hi def link naturalFlow Keyword
hi def link naturalError Keyword
hi def link naturalKeyword Keyword
hi def link naturalOperator Operator
hi def link naturalParGui Operator
" Labels
hi def link naturalLabel Label
hi def link naturalRefLabel Label
" Comments
hi def link naturalPComment Comment
hi def link naturalComment Comment
hi def link naturalTodo Todo
hi def link naturalCommentMark PreProc
hi def link naturalInclude Include
hi def link naturalSysVar Identifier
hi def link naturalLineNo LineNr
hi def link naturalLineRef Error
hi def link naturalSpecial Special
hi def link naturalComKey Todo
" illegal things
hi def link naturalRMKeyword Error
hi def link naturalLegalIdent Error
hi def link naturalType Type
hi def link naturalFunction Function
hi def link naturalObjName PreProc
let b:current_syntax = "natural"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim:set ts=8 sw=8 noet ft=vim list:
|