scheme.vim 19 KB

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