diff options
Diffstat (limited to '')
| -rw-r--r-- | ftplugin/scheme.vim | 49 | 
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  | 
