annotate runtime/syntax/snobol4.vim @ 0:76efa0be13f1

Initial revision
author atsuki
date Sat, 10 Nov 2007 15:07:22 +0900
parents
children e170173ecb68
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: SNOBOL4
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Rafal Sulejman <rms@poczta.onet.pl>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Site: http://rms.republika.pl/vim/syntax/snobol4.vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Last change: 2006 may 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 " Changes:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7 " - nonexistent Snobol4 keywords displayed as errors.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 " For version 5.x: Clear all syntax items
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10 " For version 6.x: Quit when a syntax file was already loaded
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 syntax case ignore
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18 " Vanilla Snobol4 keywords
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 syn keyword snobol4Keyword any apply arb arbno arg array
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn keyword snobol4Keyword break
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21 syn keyword snobol4Keyword char clear code collect convert copy
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 syn keyword snobol4Keyword data datatype date define detach differ dump dupl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 syn keyword snobol4Keyword endfile eq eval
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn keyword snobol4Keyword field
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 syn keyword snobol4Keyword ge gt ident
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn keyword snobol4Keyword input integer item
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn keyword snobol4Keyword le len lgt local lpad lt
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28 syn keyword snobol4Keyword ne notany
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 syn keyword snobol4Keyword opsyn output
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn keyword snobol4Keyword pos prototype
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn keyword snobol4Keyword remdr replace rpad rpos rtab
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32 syn keyword snobol4Keyword size span stoptr
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn keyword snobol4Keyword tab table time trace trim terminal
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34 syn keyword snobol4Keyword unload
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 syn keyword snobol4Keyword value
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 " Spitbol keywords
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 " CSNOBOL keywords
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38 syn keyword snobol4Keyword sset
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 syn region snobol4String matchgroup=Quote start=+"+ skip=+\\"+ end=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41 syn region snobol4String matchgroup=Quote start=+'+ skip=+\\'+ end=+'+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 syn match snobol4Statement "^-[^ ][^ ]*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn match snobol4Comment "^\*.*$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn match snobol4Comment ";\*.*$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn match snobol4Constant "[^a-z]\.[a-z][a-z0-9\-]*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46 syn region snobol4Goto start=":[sf]\{0,1}(" end=")\|$\|;" contains=ALLBUT,snobol4ParenError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47 syn match snobol4Number "\<\d*\(\.\d\d*\)*\>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn match snobol4BogusSysVar "&\w\{1,}"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 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\)"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50 syn match snobol4Label "^[^-\.\+ \t]\S\{1,}"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 "
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 " Parens matching
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn cluster snobol4ParenGroup contains=snobol4ParenError
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 syn region snobol4Paren transparent start='(' end=')' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInBracket
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 syn match snobol4ParenError display "[\])]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn match snobol4ErrInParen display contained "[\]{}]\|<%\|%>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn region snobol4Bracket transparent start='\[\|<:' end=']\|:>' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInParen
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 syn match snobol4ErrInBracket display contained "[){}]\|<%\|%>"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 " optional shell shebang line
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 syn match snobol4Comment "^\#\!.*$"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 if version >= 508 || !exists("did_snobol4_syntax_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 let did_snobol4_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 HiLink snobol4Constant Constant
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 HiLink snobol4Label Label
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 HiLink snobol4Goto Repeat
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78 HiLink snobol4Conditional Conditional
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 HiLink snobol4Repeat Repeat
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 HiLink snobol4Number Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 HiLink snobol4Error Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 HiLink snobol4Statement PreProc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 HiLink snobol4String String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 HiLink snobol4Comment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 HiLink snobol4Special Special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 HiLink snobol4Todo Todo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 HiLink snobol4Keyword Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 HiLink snobol4Function Statement
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 HiLink snobol4Keyword Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 HiLink snobol4MathsOperator Operator
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 HiLink snobol4ParenError snobol4Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 HiLink snobol4ErrInParen snobol4Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 HiLink snobol4ErrInBracket snobol4Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 HiLink snobol4SysVar Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 HiLink snobol4BogusSysVar snobol4Error
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 let b:current_syntax = "snobol4"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 " vim: ts=8