Mercurial > vim
annotate runtime/syntax/racket.vim @ 36234:29285ff8e3be
Added tag v9.1.0755 for changeset 750eba1d24d77838f3de587124f465f0cd15d056
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 03 Oct 2024 11:00:07 +0200 |
parents | e0535b3b9d77 |
children |
rev | line source |
---|---|
29996 | 1 " Vim syntax file |
2 " Language: Racket | |
3 " Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com> | |
4 " Previous Maintainer: Will Langstroth <will@langstroth.com> | |
5 " URL: https://github.com/benknoble/vim-racket | |
6 " Description: Contains all of the keywords in #lang racket | |
33956
e0535b3b9d77
runtime(racket): update Racket runtime files (#13693)
Christian Brabandt <cb@256bit.org>
parents:
29996
diff
changeset
|
7 " Last Change: 2023 Sep 22 |
29996 | 8 |
9 " Initializing: | |
10 if exists("b:current_syntax") | |
11 finish | |
12 endif | |
13 | |
14 " Highlight unmatched parens | |
15 syntax match racketError ,[]})], | |
16 | |
17 if version < 800 | |
18 set iskeyword=33,35-39,42-58,60-90,94,95,97-122,126,_ | |
19 else | |
20 " syntax iskeyword 33,35-39,42-58,60-90,94,95,97-122,126,_ | |
21 " converted from decimal to char | |
22 " :s/\d\+/\=submatch(0)->str2nr()->nr2char()/g | |
23 " but corrected to remove duplicate _, move ^ to end | |
24 syntax iskeyword @,!,#-',*-:,<-Z,a-z,~,_,^ | |
25 " expanded | |
26 " syntax iskeyword !,#,$,%,&,',*,+,,,-,.,/,0-9,:,<,=,>,?,@,A-Z,_,a-z,~,^ | |
27 endif | |
28 | |
29 " Forms in order of appearance at | |
30 " http://docs.racket-lang.org/reference/index.html | |
31 " | |
32 syntax keyword racketSyntax module module* module+ require provide quote | |
33 syntax keyword racketSyntax #%datum #%expression #%top #%variable-reference #%app | |
34 syntax keyword racketSyntax lambda case-lambda let let* letrec | |
35 syntax keyword racketSyntax let-values let*-values let-syntax letrec-syntax | |
36 syntax keyword racketSyntax let-syntaxes letrec-syntaxes letrec-syntaxes+values | |
37 syntax keyword racketSyntax local shared | |
38 syntax keyword racketSyntax if cond and or case define else => | |
39 syntax keyword racketSyntax define define-values define-syntax define-syntaxes | |
40 syntax keyword racketSyntax define-for-syntax define-require-syntax define-provide-syntax | |
41 syntax keyword racketSyntax define-syntax-rule | |
42 syntax keyword racketSyntax define-record-type | |
43 syntax keyword racketSyntax begin begin0 | |
44 syntax keyword racketSyntax begin-for-syntax | |
45 syntax keyword racketSyntax when unless | |
46 syntax keyword racketSyntax set! set!-values | |
47 syntax keyword racketSyntax for for/list for/vector for/hash for/hasheq for/hasheqv | |
48 syntax keyword racketSyntax for/and for/or for/lists for/first | |
49 syntax keyword racketSyntax for/last for/fold | |
50 syntax keyword racketSyntax for* for*/list for*/vector for*/hash for*/hasheq for*/hasheqv | |
51 syntax keyword racketSyntax for*/and for*/or for*/lists for*/first | |
52 syntax keyword racketSyntax for*/last for*/fold | |
53 syntax keyword racketSyntax for/fold/derived for*/fold/derived | |
54 syntax keyword racketSyntax define-sequence-syntax :do-in do | |
55 syntax keyword racketSyntax with-continuation-mark | |
56 syntax keyword racketSyntax quasiquote unquote unquote-splicing quote-syntax | |
57 syntax keyword racketSyntax #%top-interaction | |
58 syntax keyword racketSyntax define-package open-package package-begin | |
59 syntax keyword racketSyntax define* define*-values define*-syntax define*-syntaxes open*-package | |
60 syntax keyword racketSyntax package? package-exported-identifiers package-original-identifiers | |
61 syntax keyword racketSyntax block #%stratified-body | |
62 | |
63 " 8 Contracts | |
64 " 8.2 Function contracts | |
65 syntax keyword racketSyntax -> ->* ->i ->d case-> dynamic->* unconstrained-domain-> | |
66 | |
67 " 8.6.1 Nested Contract Boundaries | |
68 syntax keyword racketSyntax with-contract define/contract define-struct/contract | |
69 syntax keyword racketSyntax invariant-assertion current-contract-region | |
70 | |
71 " 9 Pattern Matching | |
72 syntax keyword racketSyntax match match* match/values define/match | |
73 syntax keyword racketSyntax match-lambda match-lambda* match-lambda** | |
74 syntax keyword racketSyntax match-let match-let* match-let-values match-let*-values | |
75 syntax keyword racketSyntax match-letrec match-define match-define-values | |
76 | |
77 " 10.2.3 Handling Exceptions | |
78 syntax keyword racketSyntax with-handlers with-handlers* | |
79 | |
80 " 10.4 Continuations | |
81 syntax keyword racketSyntax let/cc let/ec | |
82 | |
83 " 10.4.1 Additional Control Operators | |
84 syntax keyword racketSyntax % prompt control prompt-at control-at reset shift | |
85 syntax keyword racketSyntax reset-at shift-at prompt0 reset0 control0 shift0 | |
86 syntax keyword racketSyntax prompt0-at reset0-at control0-at shift0-at | |
87 syntax keyword racketSyntax set cupto | |
88 | |
89 " 11.3.2 Parameters | |
90 syntax keyword racketSyntax parameterize parameterize* | |
91 | |
92 " 12.5 Writing | |
93 syntax keyword racketSyntax write display displayln print | |
94 syntax keyword racketSyntax fprintf printf eprintf format | |
95 syntax keyword racketSyntax print-pair-curly-braces print-mpair-curly-braces print-unreadable | |
96 syntax keyword racketSyntax print-graph print-struct print-box print-vector-length print-hash-table | |
97 syntax keyword racketSyntax print-boolean-long-form print-reader-abbreviations print-as-expression print-syntax-width | |
98 syntax keyword racketSyntax current-write-relative-directory port-write-handler port-display-handler | |
99 syntax keyword racketSyntax port-print-handler global-port-print-handler | |
100 | |
101 " 13.7 Custodians | |
102 syntax keyword racketSyntax custodian? custodian-memory-accounting-available? custodian-box? | |
103 syntax keyword racketSyntax make-custodian custodian-shutdown-all current-custodian custodian-managed-list | |
104 syntax keyword racketSyntax custodian-require-memory custodian-limit-memory | |
105 syntax keyword racketSyntax make-custodian-box custodian-box-value | |
106 | |
107 " lambda sign | |
108 syntax match racketSyntax /\<[\u03bb]\>/ | |
109 | |
110 | |
111 " Functions ================================================================== | |
112 | |
113 syntax keyword racketFunc boolean? not equal? eqv? eq? equal?/recur immutable? | |
114 syntax keyword racketFunc true false symbol=? boolean=? false? | |
115 syntax keyword racketFunc number? complex? real? rational? integer? | |
116 syntax keyword racketFunc exact-integer? exact-nonnegative-integer? | |
117 syntax keyword racketFunc exact-positive-integer? inexact-real? | |
118 syntax keyword racketFunc fixnum? flonum? zero? positive? negative? | |
119 syntax keyword racketFunc even? odd? exact? inexact? | |
120 syntax keyword racketFunc inexact->exact exact->inexact | |
121 | |
122 " 3.2.2 General Arithmetic | |
123 | |
124 " 3.2.2.1 Arithmetic | |
125 syntax keyword racketFunc + - * / quotient remainder quotient/remainder modulo | |
126 syntax keyword racketFunc add1 sub1 abs max min gcd lcm round exact-round floor | |
127 syntax keyword racketFunc ceiling truncate numerator denominator rationalize | |
128 | |
129 " 3.2.2.2 Number Comparison | |
130 syntax keyword racketFunc = < <= > >= | |
131 | |
132 " 3.2.2.3 Powers and Roots | |
133 syntax keyword racketFunc sqrt integer-sqrt integer-sqrt/remainder | |
134 syntax keyword racketFunc expt exp log | |
135 | |
136 " 3.2.2.3 Trigonometric Functions | |
137 syntax keyword racketFunc sin cos tan asin acos atan | |
138 | |
139 " 3.2.2.4 Complex Numbers | |
140 syntax keyword racketFunc make-rectangular make-polar | |
141 syntax keyword racketFunc real-part imag-part magnitude angle | |
142 syntax keyword racketFunc bitwise-ior bitwise-and bitwise-xor bitwise-not | |
143 syntax keyword racketFunc bitwise-bit-set? bitwise-bit-field arithmetic-shift | |
144 syntax keyword racketFunc integer-length | |
145 | |
146 " 3.2.2.5 Random Numbers | |
147 syntax keyword racketFunc random random-seed | |
148 syntax keyword racketFunc make-pseudo-random-generator pseudo-random-generator? | |
149 syntax keyword racketFunc current-pseudo-random-generator pseudo-random-generator->vector | |
150 syntax keyword racketFunc vector->pseudo-random-generator vector->pseudo-random-generator! | |
151 | |
152 " 3.2.2.8 Number-String Conversions | |
153 syntax keyword racketFunc number->string string->number real->decimal-string | |
154 syntax keyword racketFunc integer->integer-bytes | |
155 syntax keyword racketFunc floating-point-bytes->real real->floating-point-bytes | |
156 syntax keyword racketFunc system-big-endian? | |
157 | |
158 " 3.2.2.9 Extra Constants and Functions | |
159 syntax keyword racketFunc pi sqr sgn conjugate sinh cosh tanh order-of-magnitude | |
160 | |
161 " 3.2.3 Flonums | |
162 | |
163 " 3.2.3.1 Flonum Arithmetic | |
164 syntax keyword racketFunc fl+ fl- fl* fl/ flabs | |
165 syntax keyword racketFunc fl= fl< fl> fl<= fl>= flmin flmax | |
166 syntax keyword racketFunc flround flfloor flceiling fltruncate | |
167 syntax keyword racketFunc flsin flcos fltan flasin flacos flatan | |
168 syntax keyword racketFunc fllog flexp flsqrt | |
169 syntax keyword racketFunc ->fl fl->exact-integer make-flrectangular | |
170 syntax keyword racketFunc flreal-part flimag-part | |
171 | |
172 " 3.2.3.2 Flonum Vectors | |
173 syntax keyword racketFunc flvector? flvector make-flvector flvector-length | |
174 syntax keyword racketFunc flvector-ref flvector-set! flvector-copy in-flvector | |
175 syntax keyword racketFunc shared-flvector make-shared-flvector | |
176 syntax keyword racketSyntax for/flvector for*/flvector | |
177 | |
178 " 3.2.4 Fixnums | |
179 syntax keyword racketFunc fx+ fx- fx* fxquotient fxremainder fxmodulo fxabs | |
180 syntax keyword racketFunc fxand fxior fxxor fxnot fxlshift fxrshift | |
181 syntax keyword racketFunc fx= fx< fx> fx<= fx>= fxmin fxmax fx->fl fl->fx | |
182 | |
183 " 3.2.4.2 Fixnum Vectors | |
184 syntax keyword racketFunc fxvector? fxvector make-fxvector fxvector-length | |
185 syntax keyword racketFunc fxvector-ref fxvector-set! fxvector-copy in-fxvector | |
186 syntax keyword racketFunc for/fxvector for*/fxvector | |
187 syntax keyword racketFunc shared-fxvector make-shared-fxvector | |
188 | |
189 " 3.3 Strings | |
190 syntax keyword racketFunc string? make-string string string->immutable-string string-length | |
191 syntax keyword racketFunc string-ref string-set! substring string-copy string-copy! | |
192 syntax keyword racketFunc string-fill! string-append string->list list->string | |
193 syntax keyword racketFunc build-string string=? string<? string<=? string>? string>=? | |
194 syntax keyword racketFunc string-ci=? string-ci<? string-ci<=? string-ci>? string-ci>=? | |
195 syntax keyword racketFunc string-upcase string-downcase string-titlecase string-foldcase | |
196 syntax keyword racketFunc string-normalize-nfd string-normalize-nfc string-normalize-nfkc | |
197 syntax keyword racketFunc string-normalize-spaces string-trim | |
198 syntax keyword racketFunc string-locale=? string-locale>? string-locale<? | |
199 syntax keyword racketFunc string-locale-ci=? string-locale<=? | |
200 syntax keyword racketFunc string-locale-upcase string-locale-downcase | |
201 syntax keyword racketFunc string-append* string-join | |
202 | |
203 " 3.4 Bytestrings | |
204 syntax keyword racketFunc bytes? make-bytes bytes bytes->immutable-bytes byte? | |
205 syntax keyword racketFunc bytes-length bytes-ref bytes-set! subbytes bytes-copy | |
206 syntax keyword racketFunc bytes-copy! bytes-fill! bytes-append bytes->list list->bytes | |
207 syntax keyword racketFunc make-shared-bytes shared-bytes | |
208 syntax keyword racketFunc bytes=? bytes<? bytes>? | |
209 syntax keyword racketFunc bytes->string/utf-8 bytes->string/latin-1 | |
210 syntax keyword racketFunc string->bytes/locale string->bytes/latin-1 string->bytes/utf-8 | |
211 syntax keyword racketFunc string-utf-8-length bytes-utf8-ref bytes-utf-8-index | |
212 syntax keyword racketFunc bytes-open-converter bytes-close-converter | |
213 syntax keyword racketFunc bytes-convert bytes-convert-end bytes-converter? | |
214 syntax keyword racketFunc locale-string-encoding | |
215 | |
216 " 3.5 Characters | |
217 syntax keyword racketFunc char? char->integer integer->char | |
218 syntax keyword racketFunc char=? char<? char<=? char>? char>=? | |
219 syntax keyword racketFunc char-ci=? char-ci<? char-ci<=? char-ci>? char-ci>=? | |
220 syntax keyword racketFunc char-alphabetic? char-lower-case? char-upper-case? char-title-case? | |
221 syntax keyword racketFunc char-numeric? char-symbolic? char-punctuation? char-graphic? | |
222 syntax keyword racketFunc char-whitespace? char-blank? | |
223 syntax keyword racketFunc char-iso-control? char-general-category | |
224 syntax keyword racketFunc make-known-char-range-list | |
225 syntax keyword racketFunc char-upcase char-downcase char-titlecase char-foldcase | |
226 | |
227 " 3.6 Symbols | |
228 syntax keyword racketFunc symbol? symbol-interned? symbol-unreadable? | |
229 syntax keyword racketFunc symbol->string string->symbol | |
230 syntax keyword racketFunc string->uninterned-symbol string->unreadable-symbol | |
231 syntax keyword racketFunc gensym | |
232 | |
233 " 3.7 Regular Expressions | |
234 syntax keyword racketFunc regexp? pregexp? byte-regexp? byte-pregexp? | |
235 syntax keyword racketFunc regexp pregexp byte-regexp byte-pregexp | |
236 syntax keyword racketFunc regexp-quote regexp-match regexp-match* | |
237 syntax keyword racketFunc regexp-try-match regexp-match-positions | |
238 syntax keyword racketFunc regexp-match-positions* regexp-match? | |
239 syntax keyword racketFunc regexp-match-peek-positions regexp-match-peek-immediate | |
240 syntax keyword racketFunc regexp-match-peek regexp-match-peek-positions* | |
241 syntax keyword racketFunc regexp-match/end regexp-match-positions/end | |
242 syntax keyword racketFunc regexp-match-peek-positions-immediat/end | |
243 syntax keyword racketFunc regexp-split regexp-replace regexp-replace* | |
244 syntax keyword racketFunc regexp-replace-quote | |
245 | |
246 " 3.8 Keywords | |
247 syntax keyword racketFunc keyword? keyword->string string->keyword keyword<? | |
248 | |
249 " 3.9 Pairs and Lists | |
250 syntax keyword racketFunc pair? null? cons car cdr null | |
251 syntax keyword racketFunc list? list list* build-list length | |
252 syntax keyword racketFunc list-ref list-tail append reverse map andmap ormap | |
253 syntax keyword racketFunc for-each foldl foldr filter remove remq remv remove* | |
254 syntax keyword racketFunc remq* remv* sort member memv memq memf | |
255 syntax keyword racketFunc findf assoc assv assq assf | |
256 syntax keyword racketFunc caar cadr cdar cddr caaar caadr cadar caddr cdaar | |
257 syntax keyword racketFunc cddar cdddr caaaar caaadr caadar caaddr cadadr caddar | |
258 syntax keyword racketFunc cadddr cdaaar cdaadr cdadar cddaar cdddar cddddr | |
259 | |
260 " 3.9.7 Additional List Functions and Synonyms | |
261 " (require racket/list) | |
262 syntax keyword racketFunc empty cons? empty? first rest | |
263 syntax keyword racketFunc second third fourth fifth sixth seventh eighth ninth tenth | |
264 syntax keyword racketFunc last last-pair make-list take drop split-at | |
265 syntax keyword racketFunc take-right drop-right split-at-right add-between | |
266 syntax keyword racketFunc append* flatten remove-duplicates filter-map | |
267 syntax keyword racketFunc count partition append-map filter-not shuffle | |
268 syntax keyword racketFunc argmin argmax make-reader-graph placeholder? make-placeholder | |
269 syntax keyword racketFunc placeholder-set! placeholder-get hash-placeholder? | |
270 syntax keyword racketFunc make-hash-placeholder make-hasheq-placeholder | |
271 syntax keyword racketFunc make-hasheqv-placeholder make-immutable-hasheqv | |
272 | |
273 " 3.10 Mutable Pairs and Lists | |
274 syntax keyword racketFunc mpair? mcons mcar mcdr | |
275 | |
276 " 3.11 Vectors | |
277 syntax keyword racketFunc vector? make-vector vector vector-immutable vector-length | |
278 syntax keyword racketFunc vector-ref vector-set! vector->list list->vector | |
279 syntax keyword racketFunc vector->immutable-vector vector-fill! vector-copy! | |
280 syntax keyword racketFunc vector->values build-vector vector-set*! vector-map | |
281 syntax keyword racketFunc vector-map! vector-append vector-take vector-take-right | |
282 syntax keyword racketFunc vector-drop vector-drop-right vector-split-at | |
283 syntax keyword racketFunc vector-split-at-right vector-copy vector-filter | |
284 syntax keyword racketFunc vector-filter-not vector-count vector-argmin vector-argmax | |
285 syntax keyword racketFunc vector-member vector-memv vector-memq | |
286 | |
287 " 3.12 Boxes | |
288 syntax keyword racketFunc box? box box-immutable unbox set-box! | |
289 | |
290 " 3.13 Hash Tables | |
291 syntax keyword racketFunc hash? hash-equal? hash-eqv? hash-eq? hash-weak? hash | |
292 syntax keyword racketFunc hasheq hasheqv | |
293 syntax keyword racketFunc make-hash make-hasheqv make-hasheq make-weak-hash make-weak-hasheqv | |
294 syntax keyword racketFunc make-weak-hasheq make-immutable-hash make-immutable-hasheqv | |
295 syntax keyword racketFunc make-immutable-hasheq | |
296 syntax keyword racketFunc hash-set! hash-set*! hash-set hash-set* hash-ref hash-ref! | |
297 syntax keyword racketFunc hash-has-key? hash-update! hash-update hash-remove! | |
298 syntax keyword racketFunc hash-remove hash-map hash-keys hash-values | |
299 syntax keyword racketFunc hash->list hash-for-each hash-count | |
300 syntax keyword racketFunc hash-iterate-first hash-iterate-next hash-iterate-key | |
301 syntax keyword racketFunc hash-iterate-value hash-copy eq-hash-code eqv-hash-code | |
302 syntax keyword racketFunc equal-hash-code equal-secondary-hash-code | |
303 | |
304 " 3.15 Dictionaries | |
305 syntax keyword racketFunc dict? dict-mutable? dict-can-remove-keys? dict-can-functional-set? | |
306 syntax keyword racketFunc dict-set! dict-set*! dict-set dict-set* dict-has-key? dict-ref | |
307 syntax keyword racketFunc dict-ref! dict-update! dict-update dict-remove! dict-remove | |
308 syntax keyword racketFunc dict-map dict-for-each dict-count dict-iterate-first dict-iterate-next | |
309 syntax keyword racketFunc dict-iterate-key dict-iterate-value in-dict in-dict-keys | |
310 syntax keyword racketFunc in-dict-values in-dict-pairs dict-keys dict-values | |
311 syntax keyword racketFunc dict->list prop: dict prop: dict/contract dict-key-contract | |
312 syntax keyword racketFunc dict-value-contract dict-iter-contract make-custom-hash | |
313 syntax keyword racketFunc make-immutable-custom-hash make-weak-custom-hash | |
314 | |
315 " 3.16 Sets | |
316 syntax keyword racketFunc set seteqv seteq set-empty? set-count set-member? | |
317 syntax keyword racketFunc set-add set-remove set-union set-intersect set-subtract | |
318 syntax keyword racketFunc set-symmetric-difference set=? subset? proper-subset? | |
319 syntax keyword racketFunc set-map set-for-each set? set-equal? set-eqv? set-eq? | |
320 syntax keyword racketFunc set/c in-set for/set for/seteq for/seteqv for*/set | |
321 syntax keyword racketFunc for*/seteq for*/seteqv list->set list->seteq | |
322 syntax keyword racketFunc list->seteqv set->list | |
323 | |
324 " 3.17 Procedures | |
325 syntax keyword racketFunc procedure? apply compose compose1 procedure-rename procedure->method | |
326 syntax keyword racketFunc keyword-apply procedure-arity procedure-arity? | |
327 syntax keyword racketFunc procedure-arity-includes? procedure-reduce-arity | |
328 syntax keyword racketFunc procedure-keywords make-keyword-procedure | |
329 syntax keyword racketFunc procedure-reduce-keyword-arity procedure-struct-type? | |
330 syntax keyword racketFunc procedure-extract-target checked-procedure-check-and-extract | |
331 syntax keyword racketFunc primitive? primitive-closure? primitive-result-arity | |
332 syntax keyword racketFunc identity const thunk thunk* negate curry curryr | |
333 | |
334 " 3.18 Void | |
335 syntax keyword racketFunc void void? | |
336 | |
337 " 4.1 Defining Structure Types | |
338 syntax keyword racketFunc struct struct-field-index define-struct define-struct define-struct/derived | |
339 | |
340 " 4.2 Creating Structure Types | |
341 syntax keyword racketFunc make-struct-type make-struct-field-accessor make-struct-field-mutator | |
342 | |
343 " 4.3 Structure Type Properties | |
344 syntax keyword racketFunc make-struct-type-property struct-type-property? struct-type-property-accessor-procedure? | |
345 | |
346 " 4.4 Copying and Updating Structures | |
347 syntax keyword racketFunc struct-copy | |
348 | |
349 " 4.5 Structure Utilities | |
350 syntax keyword racketFunc struct->vector struct? struct-type? | |
351 syntax keyword racketFunc struct-constructor-procedure? struct-predicate-procedure? struct-accessor-procedure? struct-mutator-procedure? | |
352 syntax keyword racketFunc prefab-struct-key make-prefab-struct prefab-key->struct-type | |
353 | |
354 " 4.6 Structure Type Transformer Binding | |
355 syntax keyword racketFunc struct-info? check-struct-info? make-struct-info extract-struct-info | |
356 syntax keyword racketFunc struct-auto-info? struct-auto-info-lists | |
357 | |
358 " 5.1 Creating Interfaces | |
359 syntax keyword racketFunc interface interface* | |
360 | |
361 " 5.2 Creating Classes | |
362 syntax keyword racketFunc class* class inspect | |
363 syntax keyword racketFunc init init-field field inherit field init-rest | |
364 syntax keyword racketFunc public public* pubment pubment* public-final public-final* | |
365 syntax keyword racketFunc override override* overment overment* override-final override-final* | |
366 syntax keyword racketFunc augride augride* augment augment* augment-final augment-final* | |
367 syntax keyword racketFunc abstract inherit inherit/super inherit/inner | |
368 syntax keyword racketFunc rename-inner rename-super | |
369 syntax keyword racketFunc define/public define/pubment define/public-final | |
370 syntax keyword racketFunc define/override define/overment define/override-final | |
371 syntax keyword racketFunc define/augride define/augment define/augment-final | |
372 syntax keyword racketFunc private* define/private | |
373 | |
374 " 5.2.3 Methods | |
375 syntax keyword racketFunc class/derived | |
376 syntax keyword racketFunc super inner define-local-member-name define-member-name | |
377 syntax keyword racketFunc member-name-key generate-member-key member-name-key? | |
378 syntax keyword racketFunc member-name-key=? member-name-key-hash-code | |
379 | |
380 " 5.3 Creating Objects | |
381 syntax keyword racketFunc make-object instantiate new | |
382 syntax keyword racketFunc super-make-object super-instantiate super-new | |
383 | |
384 "5.4 Field and Method Access | |
385 syntax keyword racketFunc method-id send send/apply send/keyword-apply dynamic-send send* | |
386 syntax keyword racketFunc get-field set-field! field-bound? | |
387 syntax keyword racketFunc class-field-accessor class-field-mutator | |
388 | |
389 "5.4.3 Generics | |
390 syntax keyword racketFunc generic send-generic make-generic | |
391 | |
392 " 8.1 Data-strucure contracts | |
393 syntax keyword racketFunc flat-contract-with-explanation flat-named-contract | |
394 " TODO where do any/c and none/c `value`s go? | |
395 syntax keyword racketFunc or/c first-or/c and/c not/c =/c </c >/c <=/c >=/c | |
396 syntax keyword racketFunc between/c real-in integer-in char-in natural-number/c | |
397 syntax keyword racketFunc string-len/c printable/c one-of/c symbols vectorof | |
398 syntax keyword racketFunc vector-immutableof vector/c box/c box-immutable/c listof | |
399 syntax keyword racketFunc non-empty-listof list*of cons/c cons/dc list/c *list/c | |
400 syntax keyword racketFunc syntax/c struct/c struct/dc parameter/c | |
401 syntax keyword racketFunc procedure-arity-includes/c hash/c hash/dc channel/c | |
402 syntax keyword racketFunc prompt-tag/c continuation-mark-key/c evt/c promise/c | |
403 syntax keyword racketFunc flat-contract flat-contract-predicate suggest/c | |
404 | |
405 " 9.1 Multiple Values | |
406 syntax keyword racketFunc values call-with-values | |
407 | |
408 " 10.2.2 Raising Exceptions | |
409 syntax keyword racketFunc raise error raise-user-error raise-argument-error | |
410 syntax keyword racketFunc raise-result-error raise-argument-error raise-range-error | |
411 syntax keyword racketFunc raise-type-error raise-mismatch-error raise-arity-error | |
412 syntax keyword racketFunc raise-syntax-error | |
413 | |
414 " 10.2.3 Handling Exceptions | |
415 syntax keyword racketFunc call-with-exception-handler uncaught-exception-handler | |
416 | |
417 " 10.2.4 Configuring Default Handlers | |
418 syntax keyword racketFunc error-escape-handler error-display-handler error-print-width | |
419 syntax keyword racketFunc error-print-context-length error-values->string-handler | |
420 syntax keyword racketFunc error-print-source-location | |
421 | |
422 " 10.2.5 Built-in Exception Types | |
423 syntax keyword racketFunc exn exn:fail exn:fail:contract exn:fail:contract:arity | |
424 syntax keyword racketFunc exn:fail:contract:divide-by-zero exn:fail:contract:non-fixnum-result | |
425 syntax keyword racketFunc exn:fail:contract:continuation exn:fail:contract:variable | |
426 syntax keyword racketFunc exn:fail:syntax exn:fail:syntax:unbound exn:fail:syntax:missing-module | |
427 syntax keyword racketFunc exn:fail:read exn:fail:read:eof exn:fail:read:non-char | |
428 syntax keyword racketFunc exn:fail:filesystem exn:fail:filesystem:exists | |
429 syntax keyword racketFunc exn:fail:filesystem:version exn:fail:filesystem:errno | |
430 syntax keyword racketFunc exn:fail:filesystem:missing-module | |
431 syntax keyword racketFunc exn:fail:network exn:fail:network:errno exn:fail:out-of-memory | |
432 syntax keyword racketFunc exn:fail:unsupported exn:fail:user | |
433 syntax keyword racketFunc exn:break exn:break:hang-up exn:break:terminate | |
434 | |
435 " 10.3 Delayed Evaluation | |
436 syntax keyword racketFunc promise? delay lazy force promise-forced? promise-running? | |
437 | |
438 " 10.3.1 Additional Promise Kinds | |
439 syntax keyword racketFunc delay/name promise/name delay/strict delay/sync delay/thread delay/idle | |
440 | |
441 " 10.4 Continuations | |
442 syntax keyword racketFunc call-with-continuation-prompt abort-current-continuation make-continuation-prompt-tag | |
443 syntax keyword racketFunc default-continuation-prompt-tag call-with-current-continuation call/cc | |
444 syntax keyword racketFunc call-with-composable-continuation call-with-escape-continuation call/ec | |
445 syntax keyword racketFunc call-with-continuation-barrier continuation-prompt-available | |
446 syntax keyword racketFunc continuation? continuation-prompt-tag dynamic-wind | |
447 | |
448 " 10.4.1 Additional Control Operators | |
449 syntax keyword racketFunc call/prompt abort/cc call/comp abort fcontrol spawn splitter new-prompt | |
450 | |
451 " 11.3.2 Parameters | |
452 syntax keyword racketFunc make-parameter make-derived-parameter parameter? | |
453 syntax keyword racketFunc parameter-procedure=? current-parameterization | |
454 syntax keyword racketFunc call-with-parameterization parameterization? | |
455 | |
456 " 14.1.1 Manipulating Paths | |
457 syntax keyword racketFunc path? path-string? path-for-some-system? string->path path->string path->bytes | |
458 syntax keyword racketFunc string->path-element bytes->path-element path-element->string path-element->bytes | |
459 syntax keyword racketFunc path-convention-type system-path-convention-type build-type | |
460 syntax keyword racketFunc build-type/convention-type | |
461 syntax keyword racketFunc absolute-path? relative-path? complete-path? | |
462 syntax keyword racketFunc path->complete-path path->directory-path | |
463 syntax keyword racketFunc resolve-path cleanse-path expand-user-path simplify-path normal-case-path split-path | |
464 syntax keyword racketFunc path-replace-suffix path-add-suffix | |
465 | |
466 " 14.1.2 More Path Utilities | |
467 syntax keyword racketFunc explode-path file-name-from-path filename-extension find-relative-path normalize-path | |
468 syntax keyword racketFunc path-element? path-only simple-form-path some-simple-path->string string->some-system-path | |
469 | |
470 " 15.6 Time | |
471 syntax keyword racketFunc current-seconds current-inexact-milliseconds | |
472 syntax keyword racketFunc seconds->date current-milliseconds | |
473 | |
474 | |
475 syntax match racketDelimiter !\<\.\>! | |
476 | |
477 syntax cluster racketTop contains=racketSyntax,racketFunc,racketDelimiter | |
478 | |
479 syntax match racketConstant ,\<\*\k\+\*\>, | |
480 syntax match racketConstant ,\<<\k\+>\>, | |
481 | |
482 " Non-quoted lists, and strings | |
483 syntax region racketStruc matchgroup=racketParen start="("rs=s+1 end=")"re=e-1 contains=@racketTop | |
484 syntax region racketStruc matchgroup=racketParen start="#("rs=s+2 end=")"re=e-1 contains=@racketTop | |
485 syntax region racketStruc matchgroup=racketParen start="{"rs=s+1 end="}"re=e-1 contains=@racketTop | |
486 syntax region racketStruc matchgroup=racketParen start="#{"rs=s+2 end="}"re=e-1 contains=@racketTop | |
487 syntax region racketStruc matchgroup=racketParen start="\["rs=s+1 end="\]"re=e-1 contains=@racketTop | |
488 syntax region racketStruc matchgroup=racketParen start="#\["rs=s+2 end="\]"re=e-1 contains=@racketTop | |
489 | |
490 for lit in ['hash', 'hasheq', 'hasheqv'] | |
491 execute printf('syntax match racketLit "\<%s\>" nextgroup=@racketParen containedin=ALLBUT,.*String,.*Comment', '#'.lit) | |
492 endfor | |
493 | |
494 for lit in ['rx', 'rx#', 'px', 'px#'] | |
495 execute printf('syntax match racketRe "\<%s\>" nextgroup=@racketString containedin=ALLBUT,.*String,.*Comment,', '#'.lit) | |
496 endfor | |
497 | |
498 unlet lit | |
499 | |
500 " Simple literals | |
501 | |
502 " Strings | |
503 | |
504 syntax match racketStringEscapeError "\\." contained display | |
505 | |
506 syntax match racketStringEscape "\\[abtnvfre'"\\]" contained display | |
507 syntax match racketStringEscape "\\$" contained display | |
508 syntax match racketStringEscape "\\\o\{1,3}\|\\x\x\{1,2}" contained display | |
509 | |
510 syntax match racketUStringEscape "\\u\x\{1,4}\|\\U\x\{1,8}" contained display | |
511 syntax match racketUStringEscape "\\u\x\{4}\\u\x\{4}" contained display | |
512 | |
513 syntax region racketString start=/\%(\\\)\@<!"/ skip=/\\[\\"]/ end=/"/ contains=racketStringEscapeError,racketStringEscape,racketUStringEscape | |
514 syntax region racketString start=/#"/ skip=/\\[\\"]/ end=/"/ contains=racketStringEscapeError,racketStringEscape | |
515 | |
516 if exists("racket_no_string_fold") | |
33956
e0535b3b9d77
runtime(racket): update Racket runtime files (#13693)
Christian Brabandt <cb@256bit.org>
parents:
29996
diff
changeset
|
517 syn region racketHereString start=/#<<\z(.*\)$/ end=/^\z1$/ |
29996 | 518 else |
33956
e0535b3b9d77
runtime(racket): update Racket runtime files (#13693)
Christian Brabandt <cb@256bit.org>
parents:
29996
diff
changeset
|
519 syn region racketHereString start=/#<<\z(.*\)$/ end=/^\z1$/ fold |
29996 | 520 endif |
521 | |
522 | |
33956
e0535b3b9d77
runtime(racket): update Racket runtime files (#13693)
Christian Brabandt <cb@256bit.org>
parents:
29996
diff
changeset
|
523 syntax cluster racketTop add=racketError,racketConstant,racketStruc,racketString,racketHereString |
29996 | 524 |
525 " Numbers | |
526 | |
527 " anything which doesn't match the below rules, but starts with a #d, #b, #o, | |
528 " #x, #i, or #e, is an error | |
529 syntax match racketNumberError "\<#[xdobie]\k*" | |
530 | |
531 syntax match racketContainedNumberError "\<#o\k*[^-+0-7delfinas#./@]\>" | |
532 syntax match racketContainedNumberError "\<#b\k*[^-+01delfinas#./@]\>" | |
533 syntax match racketContainedNumberError "\<#[ei]#[ei]" | |
534 syntax match racketContainedNumberError "\<#[xdob]#[xdob]" | |
535 | |
536 " start with the simpler sorts | |
537 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError | |
538 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\d\+/\d\+\>" contains=racketContainedNumberError | |
539 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\d\+/\d\+[-+]\d\+\(/\d\+\)\?i\>" contains=racketContainedNumberError | |
540 | |
541 " different possible ways of expressing complex values | |
542 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError | |
543 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?[-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError | |
544 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f][-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError | |
545 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?[-+]\(inf\|nan\)\.[0f]i\>" contains=racketContainedNumberError | |
546 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?@[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError | |
547 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]@[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError | |
548 syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?@[-+]\(inf\|nan\)\.[0f]\>" contains=racketContainedNumberError | |
549 | |
550 " hex versions of the above (separate because of the different possible exponent markers) | |
551 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?\>" | |
552 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\x\+/\x\+\>" | |
553 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\x\+/\x\+[-+]\x\+\(/\x\+\)\?i\>" | |
554 | |
555 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?i\>" | |
556 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?[-+]\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?i\>" | |
557 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\(inf\|nan\)\.[0f][-+]\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?i\>" | |
558 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?[-+]\(inf\|nan\)\.[0f]i\>" | |
559 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?@[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?\>" | |
560 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\(inf\|nan\)\.[0f]@[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?\>" | |
561 syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?@[-+]\(inf\|nan\)\.[0f]\>" | |
562 | |
563 " these work for any radix | |
564 syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]i\?\>" contains=racketContainedNumberError | |
565 syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f][-+]\(inf\|nan\)\.[0f]i\>" contains=racketContainedNumberError | |
566 syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]@[-+]\(inf\|nan\)\.[0f]\>" contains=racketContainedNumberError | |
567 | |
568 syntax keyword racketBoolean #t #f #true #false #T #F | |
569 | |
570 syntax match racketError "\<#\\\k*\>" | |
571 | |
572 syntax match racketChar "\<#\\.\w\@!" | |
573 syntax match racketChar "\<#\\space\>" | |
574 syntax match racketChar "\<#\\newline\>" | |
575 syntax match racketChar "\<#\\return\>" | |
576 syntax match racketChar "\<#\\null\?\>" | |
577 syntax match racketChar "\<#\\backspace\>" | |
578 syntax match racketChar "\<#\\tab\>" | |
579 syntax match racketChar "\<#\\linefeed\>" | |
580 syntax match racketChar "\<#\\vtab\>" | |
581 syntax match racketChar "\<#\\page\>" | |
582 syntax match racketChar "\<#\\rubout\>" | |
583 syntax match racketChar "\<#\\\o\{1,3}\>" | |
584 syntax match racketChar "\<#\\x\x\{1,2}\>" | |
585 syntax match racketChar "\<#\\u\x\{1,6}\>" | |
586 | |
587 syntax cluster racketTop add=racketNumber,racketBoolean,racketChar | |
588 | |
589 " Command-line parsing | |
590 syntax keyword racketExtFunc command-line current-command-line-arguments once-any help-labels multi once-each | |
591 | |
592 syntax match racketSyntax "#lang " | |
593 syntax match racketExtSyntax "#:\k\+" | |
594 | |
595 syntax cluster racketTop add=racketExtFunc,racketExtSyntax | |
596 | |
597 " syntax quoting, unquoting and quasiquotation | |
598 syntax match racketQuote "#\?['`]" | |
599 | |
600 syntax match racketUnquote "#," | |
601 syntax match racketUnquote "#,@" | |
602 syntax match racketUnquote "," | |
603 syntax match racketUnquote ",@" | |
604 | |
605 " Comments | |
606 syntax match racketSharpBang "\%^#![ /].*" display | |
607 syntax match racketComment /;.*$/ contains=racketTodo,racketNote,@Spell | |
608 syntax region racketMultilineComment start=/#|/ end=/|#/ contains=racketMultilineComment,racketTodo,racketNote,@Spell | |
609 syntax match racketFormComment "#;" nextgroup=@racketTop | |
610 | |
611 syntax match racketTodo /\C\<\(FIXME\|TODO\|XXX\)\ze:\?\>/ contained | |
612 syntax match racketNote /\CNOTE\ze:\?/ contained | |
613 | |
614 syntax cluster racketTop add=racketQuote,racketUnquote,racketComment,racketMultilineComment,racketFormComment | |
615 | |
616 " Synchronization and the wrapping up... | |
617 syntax sync match matchPlace grouphere NONE "^[^ \t]" | |
618 " ... i.e. synchronize on a line that starts at the left margin | |
619 | |
620 " Define the default highlighting. | |
621 highlight default link racketSyntax Statement | |
622 highlight default link racketFunc Function | |
623 | |
624 highlight default link racketString String | |
625 highlight default link racketStringEscape Special | |
33956
e0535b3b9d77
runtime(racket): update Racket runtime files (#13693)
Christian Brabandt <cb@256bit.org>
parents:
29996
diff
changeset
|
626 highlight default link racketHereString String |
29996 | 627 highlight default link racketUStringEscape Special |
628 highlight default link racketStringEscapeError Error | |
629 highlight default link racketChar Character | |
630 highlight default link racketBoolean Boolean | |
631 | |
632 highlight default link racketNumber Number | |
633 highlight default link racketNumberError Error | |
634 highlight default link racketContainedNumberError Error | |
635 | |
636 highlight default link racketQuote SpecialChar | |
637 highlight default link racketUnquote SpecialChar | |
638 | |
639 highlight default link racketDelimiter Delimiter | |
640 highlight default link racketParen Delimiter | |
641 highlight default link racketConstant Constant | |
642 | |
643 highlight default link racketLit Type | |
644 highlight default link racketRe Type | |
645 | |
646 highlight default link racketComment Comment | |
647 highlight default link racketMultilineComment Comment | |
648 highlight default link racketFormComment SpecialChar | |
649 highlight default link racketSharpBang Comment | |
650 highlight default link racketTodo Todo | |
651 highlight default link racketNote SpecialComment | |
652 highlight default link racketError Error | |
653 | |
654 highlight default link racketExtSyntax Type | |
655 highlight default link racketExtFunc PreProc | |
656 | |
657 let b:current_syntax = "racket" |