annotate runtime/syntax/monk.vim @ 7012:0175e7cfea2e

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