summaryrefslogtreecommitdiffstats
path: root/ftplugin/scheme.vim
diff options
context:
space:
mode:
Diffstat (limited to 'ftplugin/scheme.vim')
-rw-r--r--ftplugin/scheme.vim49
1 files changed, 49 insertions, 0 deletions
diff --git a/ftplugin/scheme.vim b/ftplugin/scheme.vim
new file mode 100644
index 00000000..70923421
--- /dev/null
+++ b/ftplugin/scheme.vim
@@ -0,0 +1,49 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
+
+" Vim filetype plugin
+" Language: Scheme
+" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
+" URL: http://sites.google.com/site/khorser/opensource/vim
+" Original author: Dorai Sitaram <ds26@gte.com>
+" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
+" Last Change: Oct 23, 2013
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+ finish
+endif
+
+" Don't load another plugin for this buffer
+let b:did_ftplugin = 1
+
+" Copy-paste from ftplugin/lisp.vim
+setl comments=:;
+setl define=^\\s*(def\\k*
+setl formatoptions-=t
+setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
+setl lisp
+setl commentstring=;%s
+
+setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
+
+" Scheme-specific settings
+if exists("b:is_mzscheme") || exists("is_mzscheme")
+ " improve indenting
+ setl iskeyword+=#,%,^
+ setl lispwords+=module,parameterize,let-values,let*-values,letrec-values
+ setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
+ setl lispwords+=define-signature,unit,unit/sig,compund-unit/sig,define-values/invoke-unit/sig
+endif
+
+if exists("b:is_chicken") || exists("is_chicken")
+ " improve indenting
+ setl iskeyword+=#,%,^
+ setl lispwords+=let-optionals,let-optionals*,declare
+ setl lispwords+=let-values,let*-values,letrec-values
+ setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
+ setl lispwords+=cond-expand,and-let*,foreign-lambda,foreign-lambda*
+endif
+
+let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp< commentstring<"
+
+endif