diff options
Diffstat (limited to 'runtime/syntax/natural.vim')
-rw-r--r-- | runtime/syntax/natural.vim | 252 |
1 files changed, 128 insertions, 124 deletions
diff --git a/runtime/syntax/natural.vim b/runtime/syntax/natural.vim index f7f140f58..262815137 100644 --- a/runtime/syntax/natural.vim +++ b/runtime/syntax/natural.vim @@ -1,205 +1,209 @@ " Vim syntax file " -" Language: NATURAL -" Version: 2.0.26.17 -" Maintainer: Marko Leipert <vim@mleipert.de> -" Last Changed: 2002-02-28 09:50:36 -" Support: http://www.winconsole.de/vim/syntax.html +" Language: NATURAL +" Version: 2.1.0.3 +" Maintainer: Marko von Oppen <marko@von-oppen.com> +" Last Changed: 2008-07-29 01:40:52 +" Support: http://www.von-oppen.com/ " For version 5.x: Clear all syntax items " For version 6.x: Quit when this syntax file was already loaded if v:version < 600 - syntax clear - set iskeyword+=-,*,#,+,_,/ + syntax clear + set iskeyword+=-,*,#,+,_,/ elseif exists("b:current_syntax") - finish + finish else - setlocal iskeyword+=-,*,#,+,_,/ + setlocal iskeyword+=-,*,#,+,_,/ endif " NATURAL is case insensitive syntax case ignore " preprocessor -syn keyword naturalInclude include nextgroup=naturalObjName skipwhite +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 +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 +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 -syn keyword naturalKeyword examine full replace giving separate delimiter modified -syn keyword naturalKeyword suspend identical suppress +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 +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 +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 +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 mark -syn keyword naturalKeyword alarm text help eject index -syn keyword naturalKeyword format printer skip lines +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 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 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}\>" +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]*\>" +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]*\>" +syn match naturalSysVar "\<\*[a-z][-a-z0-9]*\>" "integer number, or floating point number without a dot. -syn match naturalNumber "\<-\=\d\+\>" +syn match naturalNumber "\<-\=\d\+\>" "floating point number, with dot -syn match naturalNumber "\<-\=\d\+\.\d\+\>" +syn match naturalNumber "\<-\=\d\+\.\d\+\>" "floating point number, starting with a dot -syn match naturalNumber "\.\d\+" +syn match naturalNumber "\.\d\+" " Formats in write statement -syn match naturalFormat "\<\d\+[TX]\>" +syn match naturalFormat "\<\d\+[TX]\>" " String and Character contstants -syn match naturalString "H'\x\+'" -syn region naturalString start=+"+ end=+"+ -syn region naturalString start=+'+ end=+'+ +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]\>" +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 +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 +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 +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 +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}" +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]*" +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})" +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=* + set foldignore=* endif if v:version >= 508 || !exists("did_natural_syntax_inits") - if v:version < 508 - let did_natural_syntax_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - " The default methods for highlighting. Can be overridden later - - " Constants - HiLink naturalFormat Constant - HiLink naturalAttribute Constant - HiLink naturalNumber Number - HiLink naturalString String - HiLink naturalBoolean Boolean - - " All kinds of keywords - HiLink naturalConditional Conditional - HiLink naturalRepeat Repeat - HiLink naturalLoop Repeat - HiLink naturalFlow Keyword - HiLink naturalError Keyword - HiLink naturalKeyword Keyword - HiLink naturalOperator Operator - HiLink naturalParGui Operator - - " Labels - HiLink naturalLabel Label - HiLink naturalRefLabel Label - - " Comments - HiLink naturalPComment Comment - HiLink naturalComment Comment - HiLink naturalTodo Todo - HiLink naturalCommentMark PreProc - - HiLink naturalInclude Include - HiLink naturalSysVar Identifier - HiLink naturalLineNo LineNr - HiLink naturalLineRef Error - HiLink naturalSpecial Special - HiLink naturalComKey Todo - - " illegal things - HiLink naturalRMKeyword Error - HiLink naturalLegalIdent Error - - HiLink naturalType Type - HiLink naturalFunction Function - HiLink naturalObjName Function - - delcommand HiLink + if v:version < 508 + let did_natural_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + " The default methods for highlighting. Can be overridden later + + " Constants + HiLink naturalFormat Constant + HiLink naturalAttribute Constant + HiLink naturalNumber Number + HiLink naturalString String + HiLink naturalBoolean Boolean + + " All kinds of keywords + HiLink naturalConditional Conditional + HiLink naturalRepeat Repeat + HiLink naturalLoop Repeat + HiLink naturalFlow Keyword + HiLink naturalError Keyword + HiLink naturalKeyword Keyword + HiLink naturalOperator Operator + HiLink naturalParGui Operator + + " Labels + HiLink naturalLabel Label + HiLink naturalRefLabel Label + + " Comments + HiLink naturalPComment Comment + HiLink naturalComment Comment + HiLink naturalTodo Todo + HiLink naturalCommentMark PreProc + + HiLink naturalInclude Include + HiLink naturalSysVar Identifier + HiLink naturalLineNo LineNr + HiLink naturalLineRef Error + HiLink naturalSpecial Special + HiLink naturalComKey Todo + + " illegal things + HiLink naturalRMKeyword Error + HiLink naturalLegalIdent Error + + HiLink naturalType Type + HiLink naturalFunction Function + HiLink naturalObjName PreProc + + delcommand HiLink endif let b:current_syntax = "natural" -" vim:set ts=4 sw=4 noet ft=vim list: +" vim:set ts=8 sw=8 noet ft=vim: |