/runtime/syntax/cl.vim
https://bitbucket.org/ultra_iter/vim-qt · Vim Script · 113 lines · 69 code · 23 blank · 21 comment · 5 complexity · f81375c97f51fb17767ab2011b4c54dc MD5 · raw file
- " 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