blob: ab1543a5ee650d806f127c9573dc7df8789dafc3 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim filetype plugin
2" Language: Scheme
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00003" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
Bram Moolenaar6ee8d892012-01-10 14:55:01 +01004" URL: http://sites.google.com/site/khorser/opensource/vim
Bram Moolenaar293ee4d2004-12-09 21:34:53 +00005" Original author: Dorai Sitaram <ds26@gte.com>
6" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
Bram Moolenaard5d015d2013-11-03 21:14:31 +01007" Last Change: Oct 23, 2013
Bram Moolenaar071d4272004-06-13 20:20:40 +00008
Bram Moolenaar6ee8d892012-01-10 14:55:01 +01009" Only do this when not done yet for this buffer
10if exists("b:did_ftplugin")
11 finish
12endif
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000013
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010014" Don't load another plugin for this buffer
15let b:did_ftplugin = 1
16
17" Copy-paste from ftplugin/lisp.vim
18setl comments=:;
19setl define=^\\s*(def\\k*
20setl formatoptions-=t
21setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
22setl lisp
Bram Moolenaar00154502013-02-13 16:15:55 +010023setl commentstring=;%s
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010024
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010025setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010026
27" Scheme-specific settings
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000028if exists("b:is_mzscheme") || exists("is_mzscheme")
29 " improve indenting
30 setl iskeyword+=#,%,^
31 setl lispwords+=module,parameterize,let-values,let*-values,letrec-values
32 setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
33 setl lispwords+=define-signature,unit,unit/sig,compund-unit/sig,define-values/invoke-unit/sig
34endif
35
36if exists("b:is_chicken") || exists("is_chicken")
37 " improve indenting
38 setl iskeyword+=#,%,^
39 setl lispwords+=let-optionals,let-optionals*,declare
40 setl lispwords+=let-values,let*-values,letrec-values
41 setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
42 setl lispwords+=cond-expand,and-let*,foreign-lambda,foreign-lambda*
43endif
Bram Moolenaar84f72352012-03-11 15:57:40 +010044
Bram Moolenaar00154502013-02-13 16:15:55 +010045let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp< commentstring<"