blob: 04655bc136736e8ff8e19bf2254349caf0c298dc [file] [log] [blame]
Bram Moolenaar72540672018-02-09 22:00:53 +01001" Vim filetype plugin file
2" Language: Scheme (R7RS)
Bram Moolenaar6aa57292021-08-14 21:25:52 +02003" Last Change: 2019-11-19
Bram Moolenaar72540672018-02-09 22:00:53 +01004" Author: Evan Hanson <evhan@foldling.org>
5" Maintainer: Evan Hanson <evhan@foldling.org>
6" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
Bram Moolenaar6aa57292021-08-14 21:25:52 +02007" Repository: https://git.foldling.org/vim-scheme.git
Bram Moolenaar72540672018-02-09 22:00:53 +01008" URL: https://foldling.org/vim/ftplugin/scheme.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +00009
Bram Moolenaar72540672018-02-09 22:00:53 +010010if exists('b:did_ftplugin')
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010011 finish
12endif
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000013
Bram Moolenaar72540672018-02-09 22:00:53 +010014let s:cpo = &cpo
15set cpo&vim
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010016
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010017setl lisp
Bram Moolenaarb5b75622018-03-09 22:22:21 +010018setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|#
Bram Moolenaar00154502013-02-13 16:15:55 +010019setl commentstring=;%s
Bram Moolenaar72540672018-02-09 22:00:53 +010020setl define=^\\s*(def\\k*
21setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010022
Bram Moolenaar72540672018-02-09 22:00:53 +010023let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<'
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010024
Bram Moolenaar403f3eb2019-11-20 22:31:13 +010025setl lispwords+=case
Bram Moolenaar72540672018-02-09 22:00:53 +010026setl lispwords+=define
27setl lispwords+=define-record-type
28setl lispwords+=define-syntax
29setl lispwords+=define-values
30setl lispwords+=do
31setl lispwords+=guard
Bram Moolenaar72540672018-02-09 22:00:53 +010032setl lispwords+=lambda
33setl lispwords+=let
34setl lispwords+=let*
35setl lispwords+=let*-values
36setl lispwords+=let-syntax
37setl lispwords+=let-values
38setl lispwords+=letrec
39setl lispwords+=letrec*
40setl lispwords+=letrec-syntax
41setl lispwords+=parameterize
42setl lispwords+=set!
43setl lispwords+=syntax-rules
44setl lispwords+=unless
45setl lispwords+=when
46
47let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
48
49let b:did_scheme_ftplugin = 1
50
51if exists('b:is_chicken') || exists('g:is_chicken')
Bram Moolenaar6aa57292021-08-14 21:25:52 +020052 runtime! ftplugin/chicken.vim
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000053endif
54
Bram Moolenaar72540672018-02-09 22:00:53 +010055unlet b:did_scheme_ftplugin
56let b:did_ftplugin = 1
57let &cpo = s:cpo
58unlet s:cpo