Bram Moolenaar | 9b03d3e | 2022-08-30 20:26:34 +0100 | [diff] [blame] | 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 |
D. Ben Knoble | 8e013b1 | 2024-11-13 19:45:38 +0100 | [diff] [blame] | 7 | " Last Change: 2024 Apr 14 |
Bram Moolenaar | 9b03d3e | 2022-08-30 20:26:34 +0100 | [diff] [blame] | 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 |
D. Ben Knoble | 8e013b1 | 2024-11-13 19:45:38 +0100 | [diff] [blame] | 33 | syntax keyword racketSyntax #%module-begin #%datum #%expression #%top #%variable-reference #%app |
Bram Moolenaar | 9b03d3e | 2022-08-30 20:26:34 +0100 | [diff] [blame] | 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") |
D. Ben Knoble | 5eb9cb5 | 2023-12-16 08:24:15 -0500 | [diff] [blame] | 517 | syn region racketHereString start=/#<<\z(.*\)$/ end=/^\z1$/ |
Bram Moolenaar | 9b03d3e | 2022-08-30 20:26:34 +0100 | [diff] [blame] | 518 | else |
D. Ben Knoble | 5eb9cb5 | 2023-12-16 08:24:15 -0500 | [diff] [blame] | 519 | syn region racketHereString start=/#<<\z(.*\)$/ end=/^\z1$/ fold |
Bram Moolenaar | 9b03d3e | 2022-08-30 20:26:34 +0100 | [diff] [blame] | 520 | endif |
| 521 | |
| 522 | |
D. Ben Knoble | 5eb9cb5 | 2023-12-16 08:24:15 -0500 | [diff] [blame] | 523 | syntax cluster racketTop add=racketError,racketConstant,racketStruc,racketString,racketHereString |
Bram Moolenaar | 9b03d3e | 2022-08-30 20:26:34 +0100 | [diff] [blame] | 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 |
D. Ben Knoble | 5eb9cb5 | 2023-12-16 08:24:15 -0500 | [diff] [blame] | 626 | highlight default link racketHereString String |
Bram Moolenaar | 9b03d3e | 2022-08-30 20:26:34 +0100 | [diff] [blame] | 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" |