mirror of
				https://github.com/vim/vim.git
				synced 2025-11-03 09:44:48 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			114 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:		CL
 | 
						|
"			(pronounced alphabetically, and NOT known as Clever)
 | 
						|
"			(CL was created by Multibase, http://www.mbase.com.au)
 | 
						|
" Filename extensions:	*.ent
 | 
						|
"			*.eni
 | 
						|
" Maintainer:		Philip Uren	<philuSPAX@ieee.org> Remove SPAX spam block
 | 
						|
" Version:              4
 | 
						|
" Last Change:		May 11 2012
 | 
						|
 | 
						|
" 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=4
 |