Mercurial > vim
annotate runtime/syntax/snobol4.vim @ 21093:99a602b27e0e
Runtime file updates
Commit: https://github.com/vim/vim/commit/e46a4405056276b4cbdacee76b11f85c8ea1830b
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jun 30 20:38:27 2020 +0200
Runtime file updates
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 30 Jun 2020 20:45:06 +0200 |
parents | 371ceeebbdaa |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: SNOBOL4 | |
3 " Maintainer: Rafal Sulejman <rms@poczta.onet.pl> | |
857 | 4 " Site: http://rms.republika.pl/vim/syntax/snobol4.vim |
13125 | 5 " Last change: : Thu, 25 Jan 2018 14:21:24 +0100 |
857 | 6 " Changes: |
13125 | 7 " - system variables updated for SNOBOL4 2.0+ |
1624 | 8 " - strict snobol4 mode (set snobol4_strict_mode to activate) |
9 " - incorrect HL of dots in strings corrected | |
10 " - incorrect HL of dot-variables in parens corrected | |
11 " - one character labels weren't displayed correctly. | |
857 | 12 " - nonexistent Snobol4 keywords displayed as errors. |
7 | 13 |
13125 | 14 " Quit when a syntax file was already loaded |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
1624
diff
changeset
|
15 if exists("b:current_syntax") |
7 | 16 finish |
17 endif | |
18 | |
19 syntax case ignore | |
1624 | 20 |
21 " Snobol4 keywords | |
22 syn keyword snobol4Keyword any apply arb arbno arg array | |
23 syn keyword snobol4Keyword break | |
24 syn keyword snobol4Keyword char clear code collect convert copy | |
25 syn keyword snobol4Keyword data datatype date define detach differ dump dupl | |
26 syn keyword snobol4Keyword endfile eq eval | |
27 syn keyword snobol4Keyword field | |
28 syn keyword snobol4Keyword ge gt ident | |
29 syn keyword snobol4Keyword input integer item | |
30 syn keyword snobol4Keyword le len lgt local lpad lt | |
31 syn keyword snobol4Keyword ne notany | |
32 syn keyword snobol4Keyword opsyn output | |
33 syn keyword snobol4Keyword pos prototype | |
34 syn keyword snobol4Keyword remdr replace rpad rpos rtab rewind | |
35 syn keyword snobol4Keyword size span stoptr | |
36 syn keyword snobol4Keyword tab table time trace trim terminal | |
37 syn keyword snobol4Keyword unload | |
38 syn keyword snobol4Keyword value | |
39 | |
7 | 40 " CSNOBOL keywords |
1624 | 41 syn keyword snobol4ExtKeyword breakx |
42 syn keyword snobol4ExtKeyword char chop | |
43 syn keyword snobol4ExtKeyword date delete | |
44 syn keyword snobol4ExtKeyword exp | |
45 syn keyword snobol4ExtKeyword freeze function | |
46 syn keyword snobol4ExtKeyword host | |
47 syn keyword snobol4ExtKeyword io_findunit | |
48 syn keyword snobol4ExtKeyword label lpad leq lge lle llt lne log | |
49 syn keyword snobol4ExtKeyword ord | |
50 syn keyword snobol4ExtKeyword reverse rpad rsort rename | |
51 syn keyword snobol4ExtKeyword serv_listen sset set sort sqrt substr | |
52 syn keyword snobol4ExtKeyword thaw | |
53 syn keyword snobol4ExtKeyword vdiffer | |
7 | 54 |
1624 | 55 syn region snobol4String matchgroup=Quote start=+"+ end=+"+ |
56 syn region snobol4String matchgroup=Quote start=+'+ end=+'+ | |
57 syn match snobol4BogusStatement "^-[^ ][^ ]*" | |
58 syn match snobol4Statement "^-\(include\|copy\|module\|line\|plusopts\|case\|error\|noerrors\|list\|unlist\|execute\|noexecute\|copy\)" | |
59 syn match snobol4Constant /"[^a-z"']\.[a-z][a-z0-9\-]*"/hs=s+1 | |
60 syn region snobol4Goto start=":[sf]\{0,1}(" end=")\|$\|;" contains=ALLBUT,snobol4ParenError | |
857 | 61 syn match snobol4Number "\<\d*\(\.\d\d*\)*\>" |
1624 | 62 syn match snobol4BogusSysVar "&\w\{1,}" |
13125 | 63 syn 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\)\>" |
1624 | 64 syn match snobol4ExtSysVar "&\(gtrace\|line\|file\|lastline\|lastfile\)" |
65 syn match snobol4Label "\(^\|;\)[^-\.\+ \t\*\.]\{1,}[^ \t\*\;]*" | |
66 syn match snobol4Comment "\(^\|;\)\([\*\|!;#].*$\)" | |
67 | |
7 | 68 " Parens matching |
69 syn cluster snobol4ParenGroup contains=snobol4ParenError | |
70 syn region snobol4Paren transparent start='(' end=')' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInBracket | |
71 syn match snobol4ParenError display "[\])]" | |
72 syn match snobol4ErrInParen display contained "[\]{}]\|<%\|%>" | |
73 syn region snobol4Bracket transparent start='\[\|<:' end=']\|:>' contains=ALLBUT,@snobol4ParenGroup,snobol4ErrInParen | |
857 | 74 syn match snobol4ErrInBracket display contained "[){}]\|<%\|%>" |
7 | 75 |
76 " optional shell shebang line | |
1624 | 77 " syn match snobol4Comment "^\#\!.*$" |
7 | 78 |
79 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
1624
diff
changeset
|
80 " Only when an item doesn't have highlighting yet |
7 | 81 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
82 hi def link snobol4Constant Constant |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
83 hi def link snobol4Label Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
84 hi def link snobol4Goto Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
85 hi def link snobol4Conditional Conditional |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
86 hi def link snobol4Repeat Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
87 hi def link snobol4Number Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
88 hi def link snobol4Error Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
89 hi def link snobol4Statement PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
90 hi def link snobol4BogusStatement snobol4Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
91 hi def link snobol4String String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
92 hi def link snobol4Comment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
93 hi def link snobol4Special Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
94 hi def link snobol4Todo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
95 hi def link snobol4Keyword Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
96 hi def link snobol4Function Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
97 hi def link snobol4MathsOperator Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
98 hi def link snobol4ParenError snobol4Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
99 hi def link snobol4ErrInParen snobol4Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
100 hi def link snobol4ErrInBracket snobol4Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
101 hi def link snobol4SysVar Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
102 hi def link snobol4BogusSysVar snobol4Error |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
1624
diff
changeset
|
103 if exists("snobol4_strict_mode") |
13125 | 104 hi def link snobol4ExtSysVar WarningMsg |
105 hi def link snobol4ExtKeyword WarningMsg | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
1624
diff
changeset
|
106 else |
13125 | 107 hi def link snobol4ExtSysVar snobol4SysVar |
108 hi def link snobol4ExtKeyword snobol4Keyword | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
1624
diff
changeset
|
109 endif |
7 | 110 |
111 | |
112 let b:current_syntax = "snobol4" | |
113 " vim: ts=8 |