0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00
vim/runtime/ftplugin/scheme.vim

48 lines
1.7 KiB
VimL
Raw Normal View History

2004-06-13 20:20:40 +00:00
" Vim filetype plugin
" Language: Scheme
2004-12-09 21:34:53 +00:00
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
2012-01-10 14:55:01 +01:00
" URL: http://sites.google.com/site/khorser/opensource/vim
2004-12-09 21:34:53 +00:00
" Original author: Dorai Sitaram <ds26@gte.com>
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: Mar 5, 2012
2004-06-13 20:20:40 +00:00
2012-01-10 14:55:01 +01:00
" 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
" make comments behaviour like in c.vim
" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment
setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
setl formatoptions+=croql
2004-12-09 21:34:53 +00:00
2012-01-10 14:55:01 +01:00
" Scheme-specific settings
2004-12-09 21:34:53 +00:00
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<"