annotate runtime/syntax/monk.vim @ 754:3a779b47f235 v7.0223

updated for version 7.0223
author vimboss
date Mon, 13 Mar 2006 22:18:45 +0000
parents 3fc0f57ecb91
children b7811ab264bf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: Monk (See-Beyond Technologies)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 " Maintainer: Mike Litherland <litherm@ccf.org>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " Last Change: March 6, 2002
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " This syntax file is good enough for my needs, but others
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 " may desire more features. Suggestions and bug reports
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " are solicited by the author (above).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 " Originally based on the Scheme syntax file by:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 " Maintainer: Dirk van Deun <dvandeun@poboxes.com>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 " Last Change: April 30, 1998
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 " In fact it's almost identical. :)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 " The original author's notes:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " This script incorrectly recognizes some junk input as numerals:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 " parsing the complete system of Scheme numerals using the pattern
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 " language is practically impossible: I did a lax approximation.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 " Initializing:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " For version 5.x: Clear all syntax items
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 " For version 6.x: Quit when a syntax file was already loaded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 if version < 600
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 syntax clear
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 elseif exists("b:current_syntax")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 syn case ignore
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 " Fascist highlighting: everything that doesn't fit the rules is an error...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 syn match monkError oneline ![^ \t()";]*!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 syn match monkError oneline ")"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 " Quoted and backquoted stuff
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 syn region monkQuoted matchgroup=Delimiter start="['`]" end=![ \t()";]!me=e-1 contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 syn region monkQuoted matchgroup=Delimiter start="['`](" matchgroup=Delimiter end=")" contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 syn region monkQuoted matchgroup=Delimiter start="['`]#(" matchgroup=Delimiter end=")" contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 syn region monkStrucRestricted matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 syn region monkStrucRestricted matchgroup=Delimiter start="#(" matchgroup=Delimiter end=")" contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 syn region monkUnquote matchgroup=Delimiter start="," end=![ \t()";]!me=e-1 contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 syn region monkUnquote matchgroup=Delimiter start=",@" end=![ \t()";]!me=e-1 contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 syn region monkUnquote matchgroup=Delimiter start=",(" end=")" contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 syn region monkUnquote matchgroup=Delimiter start=",@(" end=")" contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 syn region monkUnquote matchgroup=Delimiter start=",#(" end=")" contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 syn region monkUnquote matchgroup=Delimiter start=",@#(" end=")" contains=ALLBUT,monkStruc,monkSyntax,monkFunc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 " R5RS Scheme Functions and Syntax:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 if version < 600
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 set iskeyword=33,35-39,42-58,60-90,94,95,97-122,126,_
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 setlocal iskeyword=33,35-39,42-58,60-90,94,95,97-122,126,_
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 syn keyword monkSyntax lambda and or if cond case define let let* letrec
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 syn keyword monkSyntax begin do delay set! else =>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 syn keyword monkSyntax quote quasiquote unquote unquote-splicing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 syn keyword monkSyntax define-syntax let-syntax letrec-syntax syntax-rules
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 syn keyword monkFunc not boolean? eq? eqv? equal? pair? cons car cdr set-car!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 syn keyword monkFunc set-cdr! caar cadr cdar cddr caaar caadr cadar caddr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 syn keyword monkFunc cdaar cdadr cddar cdddr caaaar caaadr caadar caaddr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 syn keyword monkFunc cadaar cadadr caddar cadddr cdaaar cdaadr cdadar cdaddr
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 syn keyword monkFunc cddaar cddadr cdddar cddddr null? list? list length
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 syn keyword monkFunc append reverse list-ref memq memv member assq assv assoc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 syn keyword monkFunc symbol? symbol->string string->symbol number? complex?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 syn keyword monkFunc real? rational? integer? exact? inexact? = < > <= >=
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 syn keyword monkFunc zero? positive? negative? odd? even? max min + * - / abs
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 syn keyword monkFunc quotient remainder modulo gcd lcm numerator denominator
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 syn keyword monkFunc floor ceiling truncate round rationalize exp log sin cos
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 syn keyword monkFunc tan asin acos atan sqrt expt make-rectangular make-polar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 syn keyword monkFunc real-part imag-part magnitude angle exact->inexact
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 syn keyword monkFunc inexact->exact number->string string->number char=?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 syn keyword monkFunc char-ci=? char<? char-ci<? char>? char-ci>? char<=?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 syn keyword monkFunc char-ci<=? char>=? char-ci>=? char-alphabetic? char?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 syn keyword monkFunc char-numeric? char-whitespace? char-upper-case?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 syn keyword monkFunc char-lower-case?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 syn keyword monkFunc char->integer integer->char char-upcase char-downcase
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 syn keyword monkFunc string? make-string string string-length string-ref
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 syn keyword monkFunc string-set! string=? string-ci=? string<? string-ci<?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 syn keyword monkFunc string>? string-ci>? string<=? string-ci<=? string>=?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 syn keyword monkFunc string-ci>=? substring string-append vector? make-vector
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 syn keyword monkFunc vector vector-length vector-ref vector-set! procedure?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 syn keyword monkFunc apply map for-each call-with-current-continuation
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 syn keyword monkFunc call-with-input-file call-with-output-file input-port?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 syn keyword monkFunc output-port? current-input-port current-output-port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 syn keyword monkFunc open-input-file open-output-file close-input-port
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 syn keyword monkFunc close-output-port eof-object? read read-char peek-char
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 syn keyword monkFunc write display newline write-char call/cc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 syn keyword monkFunc list-tail string->list list->string string-copy
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 syn keyword monkFunc string-fill! vector->list list->vector vector-fill!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 syn keyword monkFunc force with-input-from-file with-output-to-file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 syn keyword monkFunc char-ready? load transcript-on transcript-off eval
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 syn keyword monkFunc dynamic-wind port? values call-with-values
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 syn keyword monkFunc monk-report-environment null-environment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 syn keyword monkFunc interaction-environment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 " Keywords specific to STC's implementation
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 syn keyword monkFunc $event-clear $event-parse $event->string $make-event-map
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 syn keyword monkFunc $resolve-event-definition change-pattern copy copy-strip
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 syn keyword monkFunc count-data-children count-map-children count-rep data-map
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 syn keyword monkFunc duplicate duplicate-strip file-check file-lookup get
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 syn keyword monkFunc insert list-lookup node-has-data? not-verify path?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 syn keyword monkFunc path-defined-as-repeating? path-nodeclear path-nodedepth
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 syn keyword monkFunc path-nodename path-nodeparentname path->string path-valid?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 syn keyword monkFunc regex string->path timestamp uniqueid verify
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 " Keywords from the Monk function library (from e*Gate 4.1 programmers ref)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 syn keyword monkFunc allcap? capitalize char-punctuation? char-substitute
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 syn keyword monkFunc char-to-char conv count-used-children degc->degf
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 syn keyword monkFunc diff-two-dates display-error empty-string? fail_id
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 syn keyword monkFunc fail_id_if fail_translation fail_translation_if
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 syn keyword monkFunc find-get-after find-get-before get-timestamp julian-date?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 syn keyword monkFunc julian->standard leap-year? map-string not-empty-string?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 syn keyword monkFunc standard-date? standard->julian string-begins-with?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 syn keyword monkFunc string-contains? string-ends-with? string-search-from-left
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 syn keyword monkFunc string-search-from-right string->ssn strip-punct
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 syn keyword monkFunc strip-string substring=? symbol-table-get symbol-table-put
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
131 syn keyword monkFunc trim-string-left trim-string-right valid-decimal?
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 syn keyword monkFunc valid-integer? verify-type
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 " Writing out the complete description of Scheme numerals without
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 " using variables is a day's work for a trained secretary...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 " This is a useful lax approximation:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 syn match monkNumber oneline "[-#+0-9.][-#+/0-9a-f@i.boxesfdl]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 syn match monkError oneline ![-#+0-9.][-#+/0-9a-f@i.boxesfdl]*[^-#+/0-9a-f@i.boxesfdl \t()";][^ \t()";]*!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 syn match monkOther oneline ![+-][ \t()";]!me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 syn match monkOther oneline ![+-]$!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 " ... so that a single + or -, inside a quoted context, would not be
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 " interpreted as a number (outside such contexts, it's a monkFunc)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 syn match monkDelimiter oneline !\.[ \t()";]!me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 syn match monkDelimiter oneline !\.$!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 " ... and a single dot is not a number but a delimiter
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 " Simple literals:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 syn match monkBoolean oneline "#[tf]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 syn match monkError oneline !#[tf][^ \t()";]\+!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 syn match monkChar oneline "#\\"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 syn match monkChar oneline "#\\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 syn match monkError oneline !#\\.[^ \t()";]\+!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158 syn match monkChar oneline "#\\space"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
159 syn match monkError oneline !#\\space[^ \t()";]\+!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 syn match monkChar oneline "#\\newline"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 syn match monkError oneline !#\\newline[^ \t()";]\+!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
162
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163 " This keeps all other stuff unhighlighted, except *stuff* and <stuff>:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 syn match monkOther oneline ,[a-z!$%&*/:<=>?^_~][-a-z!$%&*/:<=>?^_~0-9+.@]*,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 syn match monkError oneline ,[a-z!$%&*/:<=>?^_~][-a-z!$%&*/:<=>?^_~0-9+.@]*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 syn match monkOther oneline "\.\.\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 syn match monkError oneline !\.\.\.[^ \t()";]\+!
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 " ... a special identifier
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 syn match monkConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[ \t()";],me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 syn match monkConstant oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*$,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 syn match monkError oneline ,\*[-a-z!$%&*/:<=>?^_~0-9+.@]*\*[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 syn match monkConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[ \t()";],me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 syn match monkConstant oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>$,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 syn match monkError oneline ,<[-a-z!$%&*/:<=>?^_~0-9+.@]*>[^-a-z!$%&*/:<=>?^_~0-9+.@ \t()";]\+[^ \t()";]*,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 " Monk input and output structures
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 syn match monkSyntax oneline "\(\~input\|\[I\]->\)[^ \t]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 syn match monkFunc oneline "\(\~output\|\[O\]->\)[^ \t]*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184 " Non-quoted lists, and strings:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 syn region monkStruc matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 syn region monkStruc matchgroup=Delimiter start="#(" matchgroup=Delimiter end=")" contains=ALL
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 syn region monkString start=+"+ skip=+\\[\\"]+ end=+"+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 " Comments:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193 syn match monkComment ";.*$"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 " Synchronization and the wrapping up...
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 syn sync match matchPlace grouphere NONE "^[^ \t]"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 " ... i.e. synchronize on a line that starts at the left margin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 " Define the default highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 " For version 5.7 and earlier: only when not done already
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 " For version 5.8 and later: only when an item doesn't have highlighting yet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 if version >= 508 || !exists("did_monk_syntax_inits")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 if version < 508
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 let did_monk_syntax_inits = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 command -nargs=+ HiLink hi link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 command -nargs=+ HiLink hi def link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
211 HiLink monkSyntax Statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 HiLink monkFunc Function
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 HiLink monkString String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215 HiLink monkChar Character
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 HiLink monkNumber Number
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 HiLink monkBoolean Boolean
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
218
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219 HiLink monkDelimiter Delimiter
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 HiLink monkConstant Constant
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 HiLink monkComment Comment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 HiLink monkError Error
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 delcommand HiLink
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 let b:current_syntax = "monk"