" Vim syntax file " Language: SNOBOL4 " Maintainer: Rafal Sulejman " Site: http://rms.republika.pl/vim/syntax/snobol4.vim " Last change: 2006 may 1 " Changes: " - nonexistent Snobol4 keywords displayed as errors. " 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 syntax case ignore " Vanilla Snobol4 keywords syn keyword snobol4Keyword any apply arb arbno arg array syn keyword snobol4Keyword break syn keyword snobol4Keyword char clear code collect convert copy syn keyword snobol4Keyword data datatype date define detach differ dump dupl syn keyword snobol4Keyword endfile eq eval syn keyword snobol4Keyword field syn keyword snobol4Keyword ge gt ident syn keyword snobol4Keyword input integer item syn keyword snobol4Keyword le len lgt local lpad lt syn keyword snobol4Keyword ne notany syn keyword snobol4Keyword opsyn output syn keyword snobol4Keyword pos prototype syn keyword snobol4Keyword remdr replace rpad rpos rtab syn keyword snobol4Keyword size span stoptr syn keyword snobol4Keyword tab table time trace trim terminal syn keyword snobol4Keyword unload syn keyword snobol4Keyword value " Spitbol keywords " CSNOBOL keywords syn keyword snobol4Keyword sset syn region snobol4String matchgroup=Quote start=+"+ skip=+\\"+ end=+"+ syn region snobol4String matchgroup=Quote start=+'+ skip=+\\'+ end=+'+ syn match snobol4Statement "^-[^ ][^ ]*" syn match snobol4Comment "^\*.*$" syn match snobol4Comment ";\*.*$" syn match snobol4Constant "[^a-z]\.[a-z][a-z0-9\-]*" syn region snobol4Goto start=":[sf]\{0,1}(" end=")\|$\|;" contains=ALLBUT,snobol4ParenError syn match snobol4Number "\<\d*\(\.\d\d*\)*\>" syn match snobol4BogusSysVar "&\w\{1,}" syn match snobol4SysVar "&\(abort\|alphabet\|anchor\|arb\|bal\|case\|code\|dump\|errlimit\|errtext\|errtype\|fail\|fence\|fnclevel\|ftrace\|fullscan\|input\|lastno\|lcase\|maxlngth\|output\|parm\|rem\|rtntype\|stcount\|stfcount\|stlimit\|stno\|succeed\|trace\|trim\|ucase\)" syn match snobol4Label "^[^-\.\+ \t]\S\{1,}" " " Parens matching syn cluster snobol4ParenGroup contains=snobol4ParenError syn region snobol4Paren transparent start='(' end=')' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInBracket syn match snobol4ParenError display "[\])]" syn match snobol4ErrInParen display contained "[\]{}]\|<%\|%>" syn region snobol4Bracket transparent start='\[\|<:' end=']\|:>' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInParen syn match snobol4ErrInBracket display contained "[){}]\|<%\|%>" " optional shell shebang line syn match snobol4Comment "^\#\!.*$" " 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_snobol4_syntax_inits") if version < 508 let did_snobol4_syntax_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink snobol4Constant Constant HiLink snobol4Label Label HiLink snobol4Goto Repeat HiLink snobol4Conditional Conditional HiLink snobol4Repeat Repeat HiLink snobol4Number Number HiLink snobol4Error Error HiLink snobol4Statement PreProc HiLink snobol4String String HiLink snobol4Comment Comment HiLink snobol4Special Special HiLink snobol4Todo Todo HiLink snobol4Keyword Statement HiLink snobol4Function Statement HiLink snobol4Keyword Keyword HiLink snobol4MathsOperator Operator HiLink snobol4ParenError snobol4Error HiLink snobol4ErrInParen snobol4Error HiLink snobol4ErrInBracket snobol4Error HiLink snobol4SysVar Keyword HiLink snobol4BogusSysVar snobol4Error delcommand HiLink endif let b:current_syntax = "snobol4" " vim: ts=8