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