blob: 62fd327e071139fcf424dd96e7028db8596d3021 [file] [log] [blame]
Bram Moolenaar72540672018-02-09 22:00:53 +01001" Vim filetype plugin file
2" Language: Scheme (R7RS)
Bram Moolenaarb5b75622018-03-09 22:22:21 +01003" Last Change: 2018-03-05
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>
7" URL: https://foldling.org/vim/ftplugin/scheme.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +00008
Bram Moolenaar72540672018-02-09 22:00:53 +01009if exists('b:did_ftplugin')
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010010 finish
11endif
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000012
Bram Moolenaar72540672018-02-09 22:00:53 +010013let s:cpo = &cpo
14set cpo&vim
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010015
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010016setl lisp
Bram Moolenaarb5b75622018-03-09 22:22:21 +010017setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|#
Bram Moolenaar00154502013-02-13 16:15:55 +010018setl commentstring=;%s
Bram Moolenaar72540672018-02-09 22:00:53 +010019setl define=^\\s*(def\\k*
20setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010021
Bram Moolenaar72540672018-02-09 22:00:53 +010022let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<'
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010023
Bram Moolenaarb5b75622018-03-09 22:22:21 +010024setl lispwords=case
Bram Moolenaar72540672018-02-09 22:00:53 +010025setl lispwords+=define
26setl lispwords+=define-record-type
27setl lispwords+=define-syntax
28setl lispwords+=define-values
29setl lispwords+=do
30setl lispwords+=guard
Bram Moolenaar72540672018-02-09 22:00:53 +010031setl lispwords+=lambda
32setl lispwords+=let
33setl lispwords+=let*
34setl lispwords+=let*-values
35setl lispwords+=let-syntax
36setl lispwords+=let-values
37setl lispwords+=letrec
38setl lispwords+=letrec*
39setl lispwords+=letrec-syntax
40setl lispwords+=parameterize
41setl lispwords+=set!
42setl lispwords+=syntax-rules
43setl lispwords+=unless
44setl lispwords+=when
45
46let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
47
48let b:did_scheme_ftplugin = 1
49
50if exists('b:is_chicken') || exists('g:is_chicken')
51 exe 'ru! ftplugin/chicken.vim'
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000052endif
53
Bram Moolenaar72540672018-02-09 22:00:53 +010054unlet b:did_scheme_ftplugin
55let b:did_ftplugin = 1
56let &cpo = s:cpo
57unlet s:cpo