diff runtime/syntax/natural.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children 67300faee616
line wrap: on
line diff
--- a/runtime/syntax/natural.vim	Mon Nov 10 01:13:56 2008 +0000
+++ b/runtime/syntax/natural.vim	Wed Nov 26 15:02:10 2008 +0900
@@ -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
+  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
+  " 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
+  " 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
+  " Labels
+  HiLink naturalLabel		Label
+  HiLink naturalRefLabel	Label
 
-	" Comments
-	HiLink naturalPComment		Comment
-	HiLink naturalComment		Comment
-	HiLink naturalTodo			Todo
-	HiLink naturalCommentMark	PreProc
+  " 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
+  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
+  " illegal things
+  HiLink naturalRMKeyword	Error
+  HiLink naturalLegalIdent	Error
 
-	HiLink naturalType			Type
-	HiLink naturalFunction		Function
-	HiLink naturalObjName		Function
+  HiLink naturalType		Type
+  HiLink naturalFunction	Function
+  HiLink naturalObjName		PreProc
 
-	delcommand HiLink
+  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: