blob: b7f8e8bbe784ac38b8e186728aa5faf3970bc7da [file] [log] [blame]
Bram Moolenaar72540672018-02-09 22:00:53 +01001" Vim filetype plugin file
2" Language: Scheme (R7RS)
3" Last Change: 2018-01-20
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
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 Moolenaar72540672018-02-09 22:00:53 +010017setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,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 Moolenaar72540672018-02-09 22:00:53 +010024setl lispwords=begin
25setl lispwords+=case
26setl lispwords+=case-lambda
27setl lispwords+=cond
28setl lispwords+=cond-expand
29setl lispwords+=define
30setl lispwords+=define-record-type
31setl lispwords+=define-syntax
32setl lispwords+=define-values
33setl lispwords+=do
34setl lispwords+=guard
35setl lispwords+=import
36setl lispwords+=lambda
37setl lispwords+=let
38setl lispwords+=let*
39setl lispwords+=let*-values
40setl lispwords+=let-syntax
41setl lispwords+=let-values
42setl lispwords+=letrec
43setl lispwords+=letrec*
44setl lispwords+=letrec-syntax
45setl lispwords+=parameterize
46setl lispwords+=set!
47setl lispwords+=syntax-rules
48setl lispwords+=unless
49setl lispwords+=when
50
51let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
52
53let b:did_scheme_ftplugin = 1
54
55if exists('b:is_chicken') || exists('g:is_chicken')
56 exe 'ru! ftplugin/chicken.vim'
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000057endif
58
Bram Moolenaar72540672018-02-09 22:00:53 +010059unlet b:did_scheme_ftplugin
60let b:did_ftplugin = 1
61let &cpo = s:cpo
62unlet s:cpo