xref: /vim-8.2.3635/runtime/syntax/cl.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
21aeaf8c0SBram Moolenaar" Language:		CL
334700a6aSBram Moolenaar" 			(pronounced alphabetically: "Cee-El".
434700a6aSBram Moolenaar" 			CL stands for Clever Language,
534700a6aSBram Moolenaar" 			but the language is CL, not "Clever".
634700a6aSBram Moolenaar" 			CL was created by Multibase, http://www.mbase.com.au)
71aeaf8c0SBram Moolenaar" Filename extensions:	*.ent
81aeaf8c0SBram Moolenaar"			*.eni
91aeaf8c0SBram Moolenaar" Maintainer:		Philip Uren	<[email protected]> Remove SPAX spam block
1034700a6aSBram Moolenaar" Version:              6
1134700a6aSBram Moolenaar" Last Change:		Mar 06 2013
12071d4279SBram Moolenaar
1389bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1489bcfda6SBram Moolenaarif exists("b:current_syntax")
15071d4279SBram Moolenaar	finish
16071d4279SBram Moolenaarendif
17071d4279SBram Moolenaar
18fa13eef3SBram Moolenaarsetlocal iskeyword=@,48-57,_,-
19071d4279SBram Moolenaar
20071d4279SBram Moolenaarsyn case ignore
21071d4279SBram Moolenaar
22071d4279SBram Moolenaarsyn sync lines=300
23071d4279SBram Moolenaar
24071d4279SBram Moolenaar"If/else/elsif/endif and while/wend mismatch errors
25071d4279SBram Moolenaarsyn match	clifError	"\<wend\>"
26071d4279SBram Moolenaarsyn match	clifError	"\<elsif\>"
27071d4279SBram Moolenaarsyn match	clifError	"\<else\>"
28071d4279SBram Moolenaarsyn match	clifError	"\<endif\>"
29071d4279SBram Moolenaar
304c3f536fSBram Moolenaarsyn match	clSpaceError	"\s\+$"
314c3f536fSBram Moolenaar
32071d4279SBram Moolenaar" If and while regions
33071d4279SBram Moolenaarsyn region	clLoop		transparent matchgroup=clWhile start="\<while\>" matchgroup=clWhile end="\<wend\>" contains=ALLBUT,clBreak,clProcedure
34071d4279SBram Moolenaarsyn region	clIf		transparent matchgroup=clConditional start="\<if\>" matchgroup=clConditional end="\<endif\>"   contains=ALLBUT,clBreak,clProcedure
35071d4279SBram Moolenaar
36071d4279SBram Moolenaar" Make those TODO notes and debugging stand out!
37071d4279SBram Moolenaarsyn keyword	clTodo		contained	TODO BUG DEBUG FIX
384c3f536fSBram Moolenaarsyn match	clNeedsWork	contained	"NEED[S]*\s\s*WORK"
39071d4279SBram Moolenaarsyn keyword	clDebug		contained	debug
40071d4279SBram Moolenaar
41d09acef4SBram Moolenaarsyn match	clComment	"#.*$"		contains=clTodo,clNeedsWork,@Spell
42071d4279SBram Moolenaarsyn region	clProcedure	oneline		start="^\s*[{}]" end="$"
43071d4279SBram Moolenaarsyn match	clInclude	"^\s*include\s.*"
44071d4279SBram Moolenaar
45071d4279SBram Moolenaar" We don't put "debug" in the clSetOptions;
46071d4279SBram Moolenaar" we contain it in clSet so we can make it stand out.
47071d4279SBram Moolenaarsyn keyword	clSetOptions	transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim
48071d4279SBram Moolenaarsyn match	clSet		"^\s*set\s.*" contains=clSetOptions,clDebug
49071d4279SBram Moolenaar
50071d4279SBram Moolenaarsyn match	clPreProc	"^\s*#P.*"
51071d4279SBram Moolenaar
52071d4279SBram Moolenaarsyn keyword	clConditional	else elsif
53071d4279SBram Moolenaarsyn keyword	clWhile		continue endloop
54071d4279SBram Moolenaar" 'break' needs to be a region so we can sync on it above.
55071d4279SBram Moolenaarsyn region	clBreak		oneline start="^\s*break" end="$"
56071d4279SBram Moolenaar
57071d4279SBram Moolenaarsyn match	clOperator	"[!;|)(:.><+*=-]"
58071d4279SBram Moolenaar
59071d4279SBram Moolenaarsyn match	clNumber	"\<\d\+\(u\=l\=\|lu\|f\)\>"
60071d4279SBram Moolenaar
61d09acef4SBram Moolenaarsyn region	clString	matchgroup=clQuote	start=+"+ end=+"+	skip=+\\"+ contains=@Spell
62d09acef4SBram Moolenaarsyn region	clString	matchgroup=clQuote	start=+'+ end=+'+	skip=+\\'+ contains=@Spell
63071d4279SBram Moolenaar
64071d4279SBram Moolenaarsyn 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
65071d4279SBram Moolenaar
66071d4279SBram Moolenaarsyn 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
67071d4279SBram Moolenaar
68071d4279SBram Moolenaarsyn 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
69071d4279SBram Moolenaar
70071d4279SBram Moolenaar" Define the default highlighting.
7189bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
72071d4279SBram Moolenaar
73*f37506f6SBram Moolenaarhi def link clifError	Error
74*f37506f6SBram Moolenaarhi def link clSpaceError	Error
75*f37506f6SBram Moolenaarhi def link clWhile		Repeat
76*f37506f6SBram Moolenaarhi def link clConditional	Conditional
77*f37506f6SBram Moolenaarhi def link clDebug		Debug
78*f37506f6SBram Moolenaarhi def link clNeedsWork	Todo
79*f37506f6SBram Moolenaarhi def link clTodo		Todo
80*f37506f6SBram Moolenaarhi def link clComment	Comment
81*f37506f6SBram Moolenaarhi def link clProcedure	Procedure
82*f37506f6SBram Moolenaarhi def link clBreak		Procedure
83*f37506f6SBram Moolenaarhi def link clInclude	Include
84*f37506f6SBram Moolenaarhi def link clSetOption	Statement
85*f37506f6SBram Moolenaarhi def link clSet		Identifier
86*f37506f6SBram Moolenaarhi def link clPreProc	PreProc
87*f37506f6SBram Moolenaarhi def link clOperator	Operator
88*f37506f6SBram Moolenaarhi def link clNumber		Number
89*f37506f6SBram Moolenaarhi def link clString		String
90*f37506f6SBram Moolenaarhi def link clQuote		Delimiter
91*f37506f6SBram Moolenaarhi def link clReserved	Identifier
92*f37506f6SBram Moolenaarhi def link clFunction	Function
93*f37506f6SBram Moolenaarhi def link clStatement	Statement
94071d4279SBram Moolenaar
95071d4279SBram Moolenaar
96071d4279SBram Moolenaarlet b:current_syntax = "cl"
97071d4279SBram Moolenaar
98d09acef4SBram Moolenaar" vim: ts=8 sw=8
99