13231
|
1 " Vim filetype plugin file
|
|
2 " Language: Scheme (R7RS)
|
18664
|
3 " Last Change: 2019 Nov 18
|
13231
|
4 " Author: Evan Hanson <evhan@foldling.org>
|
|
5 " Maintainer: Evan Hanson <evhan@foldling.org>
|
|
6 " Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
|
7 " URL: https://foldling.org/vim/ftplugin/scheme.vim
|
3256
|
8
|
13231
|
9 if exists('b:did_ftplugin')
|
3256
|
10 finish
|
|
11 endif
|
|
12
|
13231
|
13 let s:cpo = &cpo
|
|
14 set cpo&vim
|
36
|
15
|
3256
|
16 setl lisp
|
13437
|
17 setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|#
|
4119
|
18 setl commentstring=;%s
|
13231
|
19 setl define=^\\s*(def\\k*
|
|
20 setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126
|
7
|
21
|
13231
|
22 let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<'
|
3256
|
23
|
18664
|
24 setl lispwords+=case
|
13231
|
25 setl lispwords+=define
|
|
26 setl lispwords+=define-record-type
|
|
27 setl lispwords+=define-syntax
|
|
28 setl lispwords+=define-values
|
|
29 setl lispwords+=do
|
|
30 setl lispwords+=guard
|
|
31 setl lispwords+=lambda
|
|
32 setl lispwords+=let
|
|
33 setl lispwords+=let*
|
|
34 setl lispwords+=let*-values
|
|
35 setl lispwords+=let-syntax
|
|
36 setl lispwords+=let-values
|
|
37 setl lispwords+=letrec
|
|
38 setl lispwords+=letrec*
|
|
39 setl lispwords+=letrec-syntax
|
|
40 setl lispwords+=parameterize
|
|
41 setl lispwords+=set!
|
|
42 setl lispwords+=syntax-rules
|
|
43 setl lispwords+=unless
|
|
44 setl lispwords+=when
|
|
45
|
|
46 let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
|
|
47
|
|
48 let b:did_scheme_ftplugin = 1
|
|
49
|
|
50 if exists('b:is_chicken') || exists('g:is_chicken')
|
|
51 exe 'ru! ftplugin/chicken.vim'
|
36
|
52 endif
|
|
53
|
13231
|
54 unlet b:did_scheme_ftplugin
|
|
55 let b:did_ftplugin = 1
|
|
56 let &cpo = s:cpo
|
|
57 unlet s:cpo
|