neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

scheme.vim (19630B)


      1 " Vim syntax file
      2 " Language:            Scheme (R7RS)
      3 " Last Change:         2024 Jun 21
      4 " Author:              Evan Hanson <evhan@foldling.org>
      5 " Maintainer:          Evan Hanson <evhan@foldling.org>
      6 " Previous Author:     Dirk van Deun <dirk@igwe.vub.ac.be>
      7 " Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
      8 " Repository:          https://git.foldling.org/vim-scheme.git
      9 " URL:                 https://foldling.org/vim/syntax/scheme.vim
     10 
     11 if exists('b:current_syntax')
     12  finish
     13 endif
     14 
     15 let s:cpo = &cpo
     16 set cpo&vim
     17 
     18 syn spell notoplevel
     19 
     20 syn match schemeParentheses "[^ '`\t\n()\[\]";]\+"
     21 syn match schemeParentheses "[)\]]"
     22 
     23 syn match schemeIdentifier /[^ '`\t\n()\[\]"|;][^ '`\t\n()\[\]"|;]*/
     24 
     25 syn region schemeQuote matchgroup=schemeData start=/'[`']*/ end=/[ \t\n()\[\]";]/me=e-1
     26 syn region schemeQuote matchgroup=schemeData start=/'['`]*"/ skip=/\\[\\"]/ end=/"/
     27 syn region schemeQuote matchgroup=schemeData start=/'['`]*|/ skip=/\\[\\|]/ end=/|/
     28 syn region schemeQuote matchgroup=schemeData start=/'['`]*#\?(/ end=/)/ contains=ALLBUT,schemeQuasiquote,schemeQuasiquoteForm,schemeUnquote,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster
     29 
     30 syn region schemeQuasiquote matchgroup=schemeData start=/`['`]*/ end=/[ \t\n()\[\]";]/me=e-1
     31 syn region schemeQuasiquote matchgroup=schemeData start=/`['`]*#\?(/ end=/)/ contains=ALLBUT,schemeQuote,schemeQuoteForm,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster
     32 
     33 syn region schemeUnquote matchgroup=schemeParentheses start=/,/ end=/[ `'\t\n\[\]()";]/me=e-1 contained contains=ALLBUT,schemeDatumCommentForm,@schemeImportCluster
     34 syn region schemeUnquote matchgroup=schemeParentheses start=/,@/ end=/[ `'\t\n\[\]()";]/me=e-1 contained contains=ALLBUT,schemeDatumCommentForm,@schemeImportCluster
     35 syn region schemeUnquote matchgroup=schemeParentheses start=/,(/ end=/)/ contained contains=ALLBUT,schemeDatumCommentForm,@schemeImportCluster
     36 syn region schemeUnquote matchgroup=schemeParentheses start=/,@(/ end=/)/ contained contains=ALLBUT,schemeDatumCommentForm,@schemeImportCluster
     37 
     38 syn region schemeQuoteForm matchgroup=schemeData start=/(/ end=/)/ contained contains=ALLBUT,schemeQuasiquote,schemeQuasiquoteForm,schemeUnquote,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster
     39 syn region schemeQuasiquoteForm matchgroup=schemeData start=/(/ end=/)/ contained contains=ALLBUT,schemeQuote,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster
     40 
     41 syn region schemeString start=/\(\\\)\@<!"/ skip=/\\[\\"]/ end=/"/ contains=@Spell
     42 syn region schemeSymbol start=/\(\\\)\@<!|/ skip=/\\[\\|]/ end=/|/
     43 
     44 syn match schemeNumber /\(#[dbeio]\)*[+\-]*\([0-9]\+\|inf.0\|nan.0\)\(\/\|\.\)\?[0-9+\-@\ilns]*\>/
     45 syn match schemeNumber /#x[+\-]*[0-9a-fA-F]\+\>/
     46 
     47 syn match schemeBoolean /#t\(rue\)\?/
     48 syn match schemeBoolean /#f\(alse\)\?/
     49 
     50 syn match schemeCharacter /#\\.[^ `'\t\n\[\]()]*/
     51 syn match schemeCharacter /#\\x[0-9a-fA-F]\+/
     52 
     53 syn match schemeComment /;.*$/ contains=schemeTodo,@Spell
     54 
     55 syn region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeTodo,schemeMultilineComment,@Spell
     56 
     57 syn match schemeTodo /\c\<\(todo\|xxx\|fixme\|note\):\?\>/ contained
     58 
     59 syn region schemeForm matchgroup=schemeParentheses start="(" end=")" contains=ALLBUT,schemeUnquote,schemeDatumCommentForm,@schemeImportCluster
     60 syn region schemeForm matchgroup=schemeParentheses start="\[" end="\]" contains=ALLBUT,schemeUnquote,schemeDatumCommentForm,@schemeImportCluster
     61 
     62 syn region schemeVector matchgroup=schemeData start="#(" end=")" contains=ALLBUT,schemeQuasiquote,schemeQuasiquoteForm,schemeUnquote,schemeForm,schemeDatumCommentForm,schemeImport,@schemeImportCluster,@schemeSyntaxCluster
     63 syn region schemeVector matchgroup=schemeData start="#[fsu]\d\+(" end=")" contains=schemeNumber,schemeComment,schemeDatumComment
     64 
     65 if exists('g:is_chicken') || exists('b:is_chicken')
     66  syn region schemeImport matchgroup=schemeImport start="\(([ \t\n]*\)\@<=\(import\|import-syntax\|use\|require-extension\)\(-for-syntax\)\?\>" end=")"me=e-1 contained contains=schemeImportForm,schemeIdentifier,schemeComment,schemeDatumComment
     67 else
     68  syn region schemeImport matchgroup=schemeImport start="\(([ \t\n]*\)\@<=\(import\)\>" end=")"me=e-1 contained contains=schemeImportForm,schemeIdentifier,schemeComment,schemeDatumComment
     69 endif
     70 
     71 syn match   schemeImportKeyword "\(([ \t\n]*\)\@<=\(except\|only\|prefix\|rename\)\>"
     72 syn region  schemeImportForm matchgroup=schemeParentheses start="(" end=")" contained contains=schemeIdentifier,schemeComment,schemeDatumComment,@schemeImportCluster
     73 syn cluster schemeImportCluster contains=schemeImportForm,schemeImportKeyword
     74 
     75 syn region schemeDatumComment matchgroup=schemeDatumComment start=/#;[ \t\n`']*/ end=/[ \t\n()\[\]";]/me=e-1
     76 syn region schemeDatumComment matchgroup=schemeDatumComment start=/#;[ \t\n`']*"/ skip=/\\[\\"]/ end=/"/
     77 syn region schemeDatumComment matchgroup=schemeDatumComment start=/#;[ \t\n`']*|/ skip=/\\[\\|]/ end=/|/
     78 syn region schemeDatumComment matchgroup=schemeDatumComment start=/#;[ \t\n`']*\(#\([usf]\d\+\)\?\)\?(/ end=/)/ contains=schemeDatumCommentForm
     79 syn region schemeDatumCommentForm start="(" end=")" contained contains=schemeDatumCommentForm
     80 
     81 syn cluster schemeSyntaxCluster contains=schemeFunction,schemeKeyword,schemeSyntax,schemeExtraSyntax,schemeLibrarySyntax,schemeSyntaxSyntax
     82 
     83 syn keyword schemeLibrarySyntax define-library
     84 syn keyword schemeLibrarySyntax export
     85 syn keyword schemeLibrarySyntax include
     86 syn keyword schemeLibrarySyntax include-ci
     87 syn keyword schemeLibrarySyntax include-library-declarations
     88 syn keyword schemeLibrarySyntax library
     89 syn keyword schemeLibrarySyntax cond-expand
     90 
     91 syn keyword schemeSyntaxSyntax define-syntax
     92 syn keyword schemeSyntaxSyntax let-syntax
     93 syn keyword schemeSyntaxSyntax letrec-syntax
     94 syn keyword schemeSyntaxSyntax syntax-rules
     95 
     96 syn keyword schemeSyntax =>
     97 syn keyword schemeSyntax and
     98 syn keyword schemeSyntax begin
     99 syn keyword schemeSyntax case
    100 syn keyword schemeSyntax case-lambda
    101 syn keyword schemeSyntax cond
    102 syn keyword schemeSyntax define
    103 syn keyword schemeSyntax define-record-type
    104 syn keyword schemeSyntax define-values
    105 syn keyword schemeSyntax delay
    106 syn keyword schemeSyntax delay-force
    107 syn keyword schemeSyntax do
    108 syn keyword schemeSyntax else
    109 syn keyword schemeSyntax guard
    110 syn keyword schemeSyntax if
    111 syn keyword schemeSyntax lambda
    112 syn keyword schemeSyntax let
    113 syn keyword schemeSyntax let*
    114 syn keyword schemeSyntax let*-values
    115 syn keyword schemeSyntax let-values
    116 syn keyword schemeSyntax letrec
    117 syn keyword schemeSyntax letrec*
    118 syn keyword schemeSyntax or
    119 syn keyword schemeSyntax parameterize
    120 syn keyword schemeSyntax quasiquote
    121 syn keyword schemeSyntax quote
    122 syn keyword schemeSyntax set!
    123 syn keyword schemeSyntax unless
    124 syn keyword schemeSyntax unquote
    125 syn keyword schemeSyntax unquote-splicing
    126 syn keyword schemeSyntax when
    127 
    128 syn keyword schemeFunction *
    129 syn keyword schemeFunction +
    130 syn keyword schemeFunction -
    131 syn keyword schemeFunction /
    132 syn keyword schemeFunction <
    133 syn keyword schemeFunction <=
    134 syn keyword schemeFunction =
    135 syn keyword schemeFunction >
    136 syn keyword schemeFunction >=
    137 syn keyword schemeFunction abs
    138 syn keyword schemeFunction acos
    139 syn keyword schemeFunction acos
    140 syn keyword schemeFunction angle
    141 syn keyword schemeFunction append
    142 syn keyword schemeFunction apply
    143 syn keyword schemeFunction asin
    144 syn keyword schemeFunction assoc
    145 syn keyword schemeFunction assq
    146 syn keyword schemeFunction assv
    147 syn keyword schemeFunction atan
    148 syn keyword schemeFunction binary-port?
    149 syn keyword schemeFunction boolean=?
    150 syn keyword schemeFunction boolean?
    151 syn keyword schemeFunction bytevector
    152 syn keyword schemeFunction bytevector-append
    153 syn keyword schemeFunction bytevector-append
    154 syn keyword schemeFunction bytevector-copy
    155 syn keyword schemeFunction bytevector-copy!
    156 syn keyword schemeFunction bytevector-length
    157 syn keyword schemeFunction bytevector-u8-ref
    158 syn keyword schemeFunction bytevector-u8-set!
    159 syn keyword schemeFunction bytevector?
    160 syn keyword schemeFunction caaaar
    161 syn keyword schemeFunction caaadr
    162 syn keyword schemeFunction caaar
    163 syn keyword schemeFunction caadar
    164 syn keyword schemeFunction caaddr
    165 syn keyword schemeFunction caadr
    166 syn keyword schemeFunction caar
    167 syn keyword schemeFunction cadaar
    168 syn keyword schemeFunction cadadr
    169 syn keyword schemeFunction cadar
    170 syn keyword schemeFunction caddar
    171 syn keyword schemeFunction cadddr
    172 syn keyword schemeFunction caddr
    173 syn keyword schemeFunction cadr
    174 syn keyword schemeFunction call-with-current-continuation
    175 syn keyword schemeFunction call-with-input-file
    176 syn keyword schemeFunction call-with-output-file
    177 syn keyword schemeFunction call-with-port
    178 syn keyword schemeFunction call-with-values
    179 syn keyword schemeFunction call/cc
    180 syn keyword schemeFunction car
    181 syn keyword schemeFunction cdaaar
    182 syn keyword schemeFunction cdaadr
    183 syn keyword schemeFunction cdaar
    184 syn keyword schemeFunction cdadar
    185 syn keyword schemeFunction cdaddr
    186 syn keyword schemeFunction cdadr
    187 syn keyword schemeFunction cdar
    188 syn keyword schemeFunction cddaar
    189 syn keyword schemeFunction cddadr
    190 syn keyword schemeFunction cddar
    191 syn keyword schemeFunction cdddar
    192 syn keyword schemeFunction cddddr
    193 syn keyword schemeFunction cdddr
    194 syn keyword schemeFunction cddr
    195 syn keyword schemeFunction cdr
    196 syn keyword schemeFunction ceiling
    197 syn keyword schemeFunction char->integer
    198 syn keyword schemeFunction char-alphabetic?
    199 syn keyword schemeFunction char-ci<=?
    200 syn keyword schemeFunction char-ci<?
    201 syn keyword schemeFunction char-ci=?
    202 syn keyword schemeFunction char-ci>=?
    203 syn keyword schemeFunction char-ci>?
    204 syn keyword schemeFunction char-downcase
    205 syn keyword schemeFunction char-foldcase
    206 syn keyword schemeFunction char-lower-case?
    207 syn keyword schemeFunction char-numeric?
    208 syn keyword schemeFunction char-ready?
    209 syn keyword schemeFunction char-upcase
    210 syn keyword schemeFunction char-upper-case?
    211 syn keyword schemeFunction char-whitespace?
    212 syn keyword schemeFunction char<=?
    213 syn keyword schemeFunction char<?
    214 syn keyword schemeFunction char=?
    215 syn keyword schemeFunction char>=?
    216 syn keyword schemeFunction char>?
    217 syn keyword schemeFunction char?
    218 syn keyword schemeFunction close-input-port
    219 syn keyword schemeFunction close-output-port
    220 syn keyword schemeFunction close-port
    221 syn keyword schemeFunction command-line
    222 syn keyword schemeFunction complex?
    223 syn keyword schemeFunction cons
    224 syn keyword schemeFunction cos
    225 syn keyword schemeFunction current-error-port
    226 syn keyword schemeFunction current-input-port
    227 syn keyword schemeFunction current-jiffy
    228 syn keyword schemeFunction current-output-port
    229 syn keyword schemeFunction current-second
    230 syn keyword schemeFunction delete-file
    231 syn keyword schemeFunction denominator
    232 syn keyword schemeFunction digit-value
    233 syn keyword schemeFunction display
    234 syn keyword schemeFunction dynamic-wind
    235 syn keyword schemeFunction emergency-exit
    236 syn keyword schemeFunction environment
    237 syn keyword schemeFunction eof-object
    238 syn keyword schemeFunction eof-object?
    239 syn keyword schemeFunction eq?
    240 syn keyword schemeFunction equal?
    241 syn keyword schemeFunction eqv?
    242 syn keyword schemeFunction error
    243 syn keyword schemeFunction error-object-irritants
    244 syn keyword schemeFunction error-object-message
    245 syn keyword schemeFunction error-object?
    246 syn keyword schemeFunction eval
    247 syn keyword schemeFunction even?
    248 syn keyword schemeFunction exact
    249 syn keyword schemeFunction exact->inexact
    250 syn keyword schemeFunction exact-integer-sqrt
    251 syn keyword schemeFunction exact-integer?
    252 syn keyword schemeFunction exact?
    253 syn keyword schemeFunction exit
    254 syn keyword schemeFunction exp
    255 syn keyword schemeFunction expt
    256 syn keyword schemeFunction features
    257 syn keyword schemeFunction file-error?
    258 syn keyword schemeFunction file-exists?
    259 syn keyword schemeFunction finite?
    260 syn keyword schemeFunction floor
    261 syn keyword schemeFunction floor-quotient
    262 syn keyword schemeFunction floor-remainder
    263 syn keyword schemeFunction floor/
    264 syn keyword schemeFunction flush-output-port
    265 syn keyword schemeFunction for-each
    266 syn keyword schemeFunction force
    267 syn keyword schemeFunction gcd
    268 syn keyword schemeFunction get-environment-variable
    269 syn keyword schemeFunction get-environment-variables
    270 syn keyword schemeFunction get-output-bytevector
    271 syn keyword schemeFunction get-output-string
    272 syn keyword schemeFunction imag-part
    273 syn keyword schemeFunction inexact
    274 syn keyword schemeFunction inexact->exact
    275 syn keyword schemeFunction inexact?
    276 syn keyword schemeFunction infinite?
    277 syn keyword schemeFunction input-port-open?
    278 syn keyword schemeFunction input-port?
    279 syn keyword schemeFunction integer->char
    280 syn keyword schemeFunction integer?
    281 syn keyword schemeFunction interaction-environment
    282 syn keyword schemeFunction jiffies-per-second
    283 syn keyword schemeFunction lcm
    284 syn keyword schemeFunction length
    285 syn keyword schemeFunction list
    286 syn keyword schemeFunction list->string
    287 syn keyword schemeFunction list->vector
    288 syn keyword schemeFunction list-copy
    289 syn keyword schemeFunction list-ref
    290 syn keyword schemeFunction list-set!
    291 syn keyword schemeFunction list-tail
    292 syn keyword schemeFunction list?
    293 syn keyword schemeFunction load
    294 syn keyword schemeFunction log
    295 syn keyword schemeFunction magnitude
    296 syn keyword schemeFunction make-bytevector
    297 syn keyword schemeFunction make-list
    298 syn keyword schemeFunction make-parameter
    299 syn keyword schemeFunction make-polar
    300 syn keyword schemeFunction make-promise
    301 syn keyword schemeFunction make-rectangular
    302 syn keyword schemeFunction make-string
    303 syn keyword schemeFunction make-vector
    304 syn keyword schemeFunction map
    305 syn keyword schemeFunction max
    306 syn keyword schemeFunction member
    307 syn keyword schemeFunction memq
    308 syn keyword schemeFunction memv
    309 syn keyword schemeFunction min
    310 syn keyword schemeFunction modulo
    311 syn keyword schemeFunction nan?
    312 syn keyword schemeFunction negative?
    313 syn keyword schemeFunction newline
    314 syn keyword schemeFunction not
    315 syn keyword schemeFunction null-environment
    316 syn keyword schemeFunction null?
    317 syn keyword schemeFunction number->string
    318 syn keyword schemeFunction number?
    319 syn keyword schemeFunction numerator
    320 syn keyword schemeFunction odd?
    321 syn keyword schemeFunction open-binary-input-file
    322 syn keyword schemeFunction open-binary-output-file
    323 syn keyword schemeFunction open-input-bytevector
    324 syn keyword schemeFunction open-input-file
    325 syn keyword schemeFunction open-input-string
    326 syn keyword schemeFunction open-output-bytevector
    327 syn keyword schemeFunction open-output-file
    328 syn keyword schemeFunction open-output-string
    329 syn keyword schemeFunction output-port-open?
    330 syn keyword schemeFunction output-port?
    331 syn keyword schemeFunction pair?
    332 syn keyword schemeFunction peek-char
    333 syn keyword schemeFunction peek-u8
    334 syn keyword schemeFunction port?
    335 syn keyword schemeFunction positive?
    336 syn keyword schemeFunction procedure?
    337 syn keyword schemeFunction promise?
    338 syn keyword schemeFunction quotient
    339 syn keyword schemeFunction raise
    340 syn keyword schemeFunction raise-continuable
    341 syn keyword schemeFunction rational?
    342 syn keyword schemeFunction rationalize
    343 syn keyword schemeFunction read
    344 syn keyword schemeFunction read-bytevector
    345 syn keyword schemeFunction read-bytevector!
    346 syn keyword schemeFunction read-char
    347 syn keyword schemeFunction read-error?
    348 syn keyword schemeFunction read-line
    349 syn keyword schemeFunction read-string
    350 syn keyword schemeFunction read-u8
    351 syn keyword schemeFunction real-part
    352 syn keyword schemeFunction real?
    353 syn keyword schemeFunction remainder
    354 syn keyword schemeFunction reverse
    355 syn keyword schemeFunction round
    356 syn keyword schemeFunction scheme-report-environment
    357 syn keyword schemeFunction set-car!
    358 syn keyword schemeFunction set-cdr!
    359 syn keyword schemeFunction sin
    360 syn keyword schemeFunction sqrt
    361 syn keyword schemeFunction square
    362 syn keyword schemeFunction string
    363 syn keyword schemeFunction string->list
    364 syn keyword schemeFunction string->number
    365 syn keyword schemeFunction string->symbol
    366 syn keyword schemeFunction string->utf8
    367 syn keyword schemeFunction string->vector
    368 syn keyword schemeFunction string-append
    369 syn keyword schemeFunction string-ci<=?
    370 syn keyword schemeFunction string-ci<?
    371 syn keyword schemeFunction string-ci=?
    372 syn keyword schemeFunction string-ci>=?
    373 syn keyword schemeFunction string-ci>?
    374 syn keyword schemeFunction string-copy
    375 syn keyword schemeFunction string-copy!
    376 syn keyword schemeFunction string-downcase
    377 syn keyword schemeFunction string-fill!
    378 syn keyword schemeFunction string-foldcase
    379 syn keyword schemeFunction string-for-each
    380 syn keyword schemeFunction string-length
    381 syn keyword schemeFunction string-map
    382 syn keyword schemeFunction string-ref
    383 syn keyword schemeFunction string-set!
    384 syn keyword schemeFunction string-upcase
    385 syn keyword schemeFunction string<=?
    386 syn keyword schemeFunction string<?
    387 syn keyword schemeFunction string=?
    388 syn keyword schemeFunction string>=?
    389 syn keyword schemeFunction string>?
    390 syn keyword schemeFunction string?
    391 syn keyword schemeFunction substring
    392 syn keyword schemeFunction symbol->string
    393 syn keyword schemeFunction symbol=?
    394 syn keyword schemeFunction symbol?
    395 syn keyword schemeFunction syntax-error
    396 syn keyword schemeFunction tan
    397 syn keyword schemeFunction textual-port?
    398 syn keyword schemeFunction transcript-off
    399 syn keyword schemeFunction transcript-on
    400 syn keyword schemeFunction truncate
    401 syn keyword schemeFunction truncate-quotient
    402 syn keyword schemeFunction truncate-remainder
    403 syn keyword schemeFunction truncate/
    404 syn keyword schemeFunction u8-ready?
    405 syn keyword schemeFunction utf8->string
    406 syn keyword schemeFunction values
    407 syn keyword schemeFunction vector
    408 syn keyword schemeFunction vector->list
    409 syn keyword schemeFunction vector->string
    410 syn keyword schemeFunction vector-append
    411 syn keyword schemeFunction vector-copy
    412 syn keyword schemeFunction vector-copy!
    413 syn keyword schemeFunction vector-fill!
    414 syn keyword schemeFunction vector-for-each
    415 syn keyword schemeFunction vector-length
    416 syn keyword schemeFunction vector-map
    417 syn keyword schemeFunction vector-ref
    418 syn keyword schemeFunction vector-set!
    419 syn keyword schemeFunction vector?
    420 syn keyword schemeFunction with-exception-handler
    421 syn keyword schemeFunction with-input-from-file
    422 syn keyword schemeFunction with-output-to-file
    423 syn keyword schemeFunction write
    424 syn keyword schemeFunction write-bytevector
    425 syn keyword schemeFunction write-char
    426 syn keyword schemeFunction write-shared
    427 syn keyword schemeFunction write-simple
    428 syn keyword schemeFunction write-string
    429 syn keyword schemeFunction write-u8
    430 syn keyword schemeFunction zero?
    431 
    432 hi def link schemeTodo Todo
    433 hi def link schemeBoolean Boolean
    434 hi def link schemeCharacter Character
    435 hi def link schemeComment Comment
    436 hi def link schemeConstant Constant
    437 hi def link schemeData Delimiter
    438 hi def link schemeDatumComment Comment
    439 hi def link schemeDatumCommentForm Comment
    440 hi def link schemeDelimiter Delimiter
    441 hi def link schemeError Error
    442 hi def link schemeExtraSyntax Underlined
    443 hi def link schemeFunction Function
    444 hi def link schemeIdentifier Normal
    445 hi def link schemeImport PreProc
    446 hi def link schemeImportKeyword PreProc
    447 hi def link schemeKeyword Type
    448 hi def link schemeLibrarySyntax PreProc
    449 hi def link schemeMultilineComment Comment
    450 hi def link schemeNumber Number
    451 hi def link schemeParentheses Normal
    452 hi def link schemeQuasiquote Delimiter
    453 hi def link schemeQuote Delimiter
    454 hi def link schemeSpecialSyntax Special
    455 hi def link schemeString String
    456 hi def link schemeSymbol Normal
    457 hi def link schemeSyntax Statement
    458 hi def link schemeSyntaxSyntax PreProc
    459 hi def link schemeTypeSyntax Type
    460 
    461 let b:did_scheme_syntax = 1
    462 
    463 if exists('b:is_chicken') || exists('g:is_chicken')
    464  exe 'ru! syntax/chicken.vim'
    465 endif
    466 
    467 unlet b:did_scheme_syntax
    468 let b:current_syntax = 'scheme'
    469 let &cpo = s:cpo
    470 unlet s:cpo