codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: SNOBOL43" Maintainer: Rafal Sulejman <rms@poczta.onet.pl>4" Site: http://rms.republika.pl/vim/syntax/snobol4.vim5" Last change: : Thu, 25 Jan 2018 14:21:24 +01006" Changes: 7" - system variables updated for SNOBOL4 2.0+8" - strict snobol4 mode (set snobol4_strict_mode to activate)9" - incorrect HL of dots in strings corrected10" - incorrect HL of dot-variables in parens corrected 11" - one character labels weren't displayed correctly.12" - nonexistent Snobol4 keywords displayed as errors.13 14" Quit when a syntax file was already loaded15if exists("b:current_syntax")16 finish17endif18 19syntax case ignore20 21" Snobol4 keywords22syn keyword snobol4Keyword any apply arb arbno arg array23syn keyword snobol4Keyword break24syn keyword snobol4Keyword char clear code collect convert copy25syn keyword snobol4Keyword data datatype date define detach differ dump dupl26syn keyword snobol4Keyword endfile eq eval27syn keyword snobol4Keyword field28syn keyword snobol4Keyword ge gt ident29syn keyword snobol4Keyword input integer item30syn keyword snobol4Keyword le len lgt local lpad lt31syn keyword snobol4Keyword ne notany32syn keyword snobol4Keyword opsyn output33syn keyword snobol4Keyword pos prototype34syn keyword snobol4Keyword remdr replace rpad rpos rtab rewind35syn keyword snobol4Keyword size span stoptr36syn keyword snobol4Keyword tab table time trace trim terminal37syn keyword snobol4Keyword unload38syn keyword snobol4Keyword value39 40" CSNOBOL keywords41syn keyword snobol4ExtKeyword breakx42syn keyword snobol4ExtKeyword char chop43syn keyword snobol4ExtKeyword date delete44syn keyword snobol4ExtKeyword exp45syn keyword snobol4ExtKeyword freeze function46syn keyword snobol4ExtKeyword host47syn keyword snobol4ExtKeyword io_findunit48syn keyword snobol4ExtKeyword label lpad leq lge lle llt lne log49syn keyword snobol4ExtKeyword ord50syn keyword snobol4ExtKeyword reverse rpad rsort rename51syn keyword snobol4ExtKeyword serv_listen sset set sort sqrt substr52syn keyword snobol4ExtKeyword thaw53syn keyword snobol4ExtKeyword vdiffer54 55syn region snobol4String matchgroup=Quote start=+"+ end=+"+56syn region snobol4String matchgroup=Quote start=+'+ end=+'+57syn match snobol4BogusStatement "^-[^ ][^ ]*"58syn match snobol4Statement "^-\(include\|copy\|module\|line\|plusopts\|case\|error\|noerrors\|list\|unlist\|execute\|noexecute\|copy\)"59syn match snobol4Constant /"[^a-z"']\.[a-z][a-z0-9\-]*"/hs=s+160syn region snobol4Goto start=":[sf]\{0,1}(" end=")\|$\|;" contains=ALLBUT,snobol4ParenError61syn match snobol4Number "\<\d*\(\.\d\d*\)*\>" 62syn match snobol4BogusSysVar "&\w\{1,}"63syn match snobol4SysVar "&\<\(abort\|alphabet\|anchor\|arb\|bal\|case\|code\|digits\|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\)\>"64syn match snobol4ExtSysVar "&\(gtrace\|line\|file\|lastline\|lastfile\)"65syn match snobol4Label "\(^\|;\)[^-\.\+ \t\*\.]\{1,}[^ \t\*\;]*"66syn match snobol4Comment "\(^\|;\)\([\*\|!;#].*$\)"67 68" Parens matching69syn cluster snobol4ParenGroup contains=snobol4ParenError70syn region snobol4Paren transparent start='(' end=')' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInBracket71syn match snobol4ParenError display "[\])]"72syn match snobol4ErrInParen display contained "[\]{}]\|<%\|%>"73syn region snobol4Bracket transparent start='\[\|<:' end=']\|:>' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInParen74syn match snobol4ErrInBracket display contained "[){}]\|<%\|%>"75 76" optional shell shebang line77" syn match snobol4Comment "^\#\!.*$"78 79" Define the default highlighting.80" Only when an item doesn't have highlighting yet81 82hi def link snobol4Constant Constant83hi def link snobol4Label Label84hi def link snobol4Goto Repeat85hi def link snobol4Conditional Conditional86hi def link snobol4Repeat Repeat87hi def link snobol4Number Number88hi def link snobol4Error Error89hi def link snobol4Statement PreProc90hi def link snobol4BogusStatement snobol4Error91hi def link snobol4String String92hi def link snobol4Comment Comment93hi def link snobol4Special Special94hi def link snobol4Todo Todo95hi def link snobol4Keyword Keyword96hi def link snobol4Function Function97hi def link snobol4MathsOperator Operator98hi def link snobol4ParenError snobol4Error99hi def link snobol4ErrInParen snobol4Error100hi def link snobol4ErrInBracket snobol4Error101hi def link snobol4SysVar Keyword102hi def link snobol4BogusSysVar snobol4Error103if exists("snobol4_strict_mode")104 hi def link snobol4ExtSysVar WarningMsg105 hi def link snobol4ExtKeyword WarningMsg106else107 hi def link snobol4ExtSysVar snobol4SysVar108 hi def link snobol4ExtKeyword snobol4Keyword109endif110 111 112let b:current_syntax = "snobol4"113" vim: ts=8114 