diff runtime/syntax/cl.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children e170173ecb68
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/runtime/syntax/cl.vim	Sat Nov 10 15:07:22 2007 +0900
@@ -0,0 +1,110 @@
+" Vim syntax file
+" Language:	cl ("Clever Language" by Multibase, http://www.mbase.com.au)
+" Filename extensions: *.ent, *.eni
+" Maintainer:	Philip Uren <philuSPAX@ieee.org> - Remove SPAX spam block
+" Last update:	Wed Apr 12 08:47:18 EST 2006
+" $Id$
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+	syntax clear
+elseif exists("b:current_syntax")
+	finish
+endif
+
+if version >= 600
+	setlocal iskeyword=@,48-57,_,-,
+else
+	set iskeyword=@,48-57,_,-,
+endif
+
+syn case ignore
+
+syn sync lines=300
+
+"If/else/elsif/endif and while/wend mismatch errors
+syn match	clifError		"\<wend\>"
+syn match	clifError		"\<elsif\>"
+syn match	clifError		"\<else\>"
+syn match	clifError		"\<endif\>"
+
+syn match	clSpaceError		"\s\+$"
+
+" If and while regions
+syn region	clLoop		transparent matchgroup=clWhile start="\<while\>" matchgroup=clWhile end="\<wend\>" contains=ALLBUT,clBreak,clProcedure
+syn region	clIf		transparent matchgroup=clConditional start="\<if\>" matchgroup=clConditional end="\<endif\>"   contains=ALLBUT,clBreak,clProcedure
+
+" Make those TODO notes and debugging stand out!
+syn keyword	clTodo		contained	TODO BUG DEBUG FIX
+syn match	clNeedsWork	contained	"NEED[S]*\s\s*WORK"
+syn keyword	clDebug		contained	debug
+
+syn match	clComment	"#.*$"		contains=clTodo,clNeedsWork
+syn region	clProcedure	oneline		start="^\s*[{}]" end="$"
+syn match	clInclude	"^\s*include\s.*"
+
+" We don't put "debug" in the clSetOptions;
+" we contain it in clSet so we can make it stand out.
+syn keyword	clSetOptions	transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim
+syn match	clSet		"^\s*set\s.*" contains=clSetOptions,clDebug
+
+syn match	clPreProc	"^\s*#P.*"
+
+syn keyword	clConditional	else elsif
+syn keyword	clWhile		continue endloop
+" 'break' needs to be a region so we can sync on it above.
+syn region	clBreak		oneline start="^\s*break" end="$"
+
+syn match	clOperator	"[!;|)(:.><+*=-]"
+
+syn match	clNumber	"\<\d\+\(u\=l\=\|lu\|f\)\>"
+
+syn region	clString	matchgroup=clQuote	start=+"+ end=+"+	skip=+\\"+
+syn region	clString	matchgroup=clQuote	start=+'+ end=+'+	skip=+\\'+
+
+syn keyword	clReserved	ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH
+
+syn keyword	clFunction	asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match
+
+syn keyword	clStatement	clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if	version >= 508 || !exists("did_cl_syntax_inits")
+	if	version < 508
+		let did_cl_syntax_inits = 1
+		command -nargs=+ HiLink hi link <args>
+	else
+		command -nargs=+ HiLink hi def link <args>
+	endif
+
+	HiLink clifError	Error
+	HiLink clSpaceError	Error
+	HiLink clWhile		Repeat
+	HiLink clConditional	Conditional
+	HiLink clDebug		Debug
+	HiLink clNeedsWork	Todo
+	HiLink clTodo		Todo
+	HiLink clComment	Comment
+	HiLink clProcedure	Procedure
+	HiLink clBreak		Procedure
+	HiLink clInclude	Include
+	HiLink clSetOption	Statement
+	HiLink clSet		Identifier
+	HiLink clPreProc	PreProc
+	HiLink clOperator	Operator
+	HiLink clNumber		Number
+	HiLink clString		String
+	HiLink clQuote		Delimiter
+	HiLink clReserved	Identifier
+	HiLink clFunction	Function
+	HiLink clStatement	Statement
+
+	delcommand HiLink
+endif
+
+let b:current_syntax = "cl"
+
+" vim: ts=8 sw=8