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