1" Vim filetype plugin 2" Language: Scheme 3" Maintainer: Sergey Khorev <[email protected]> 4" URL: http://sites.google.com/site/khorser/opensource/vim 5" Original author: Dorai Sitaram <[email protected]> 6" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html 7" Last Change: Feb 12, 2013 8 9" Only do this when not done yet for this buffer 10if exists("b:did_ftplugin") 11 finish 12endif 13 14" 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 23setl commentstring=;%s 24 25" make comments behaviour like in c.vim 26" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment 27setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|# 28setl formatoptions+=croql 29 30" Scheme-specific settings 31if exists("b:is_mzscheme") || exists("is_mzscheme") 32 " improve indenting 33 setl iskeyword+=#,%,^ 34 setl lispwords+=module,parameterize,let-values,let*-values,letrec-values 35 setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case 36 setl lispwords+=define-signature,unit,unit/sig,compund-unit/sig,define-values/invoke-unit/sig 37endif 38 39if exists("b:is_chicken") || exists("is_chicken") 40 " improve indenting 41 setl iskeyword+=#,%,^ 42 setl lispwords+=let-optionals,let-optionals*,declare 43 setl lispwords+=let-values,let*-values,letrec-values 44 setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case 45 setl lispwords+=cond-expand,and-let*,foreign-lambda,foreign-lambda* 46endif 47 48let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp< commentstring<" 49