scheme.vim (1674B)
1 " Vim filetype plugin file 2 " Language: Scheme (R7RS) 3 " Last Change: 2024 Jun 21 4 " 2024 May 23 by Riley Bruins <ribru17@gmail.com> ('commentstring') 5 " Author: Evan Hanson <evhan@foldling.org> 6 " Maintainer: Evan Hanson <evhan@foldling.org> 7 " Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com> 8 " Repository: https://git.foldling.org/vim-scheme.git 9 " URL: https://foldling.org/vim/ftplugin/scheme.vim 10 11 if exists('b:did_ftplugin') 12 finish 13 endif 14 15 let s:cpo = &cpo 16 set cpo&vim 17 18 setl lisp 19 setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|# 20 setl commentstring=;\ %s 21 setl define=^\\s*(def\\k* 22 setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126 23 setl formatoptions-=t 24 25 let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword< formatoptions<' 26 27 setl lispwords+=case 28 setl lispwords+=define 29 setl lispwords+=define-library 30 setl lispwords+=define-record-type 31 setl lispwords+=define-syntax 32 setl lispwords+=define-values 33 setl lispwords+=do 34 setl lispwords+=guard 35 setl lispwords+=lambda 36 setl lispwords+=let 37 setl lispwords+=let* 38 setl lispwords+=let*-values 39 setl lispwords+=let-syntax 40 setl lispwords+=let-values 41 setl lispwords+=letrec 42 setl lispwords+=letrec* 43 setl lispwords+=letrec-syntax 44 setl lispwords+=parameterize 45 setl lispwords+=set! 46 setl lispwords+=syntax-rules 47 setl lispwords+=unless 48 setl lispwords+=when 49 50 let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<' 51 52 let b:did_scheme_ftplugin = 1 53 54 if exists('b:is_chicken') || exists('g:is_chicken') 55 runtime! ftplugin/chicken.vim 56 endif 57 58 unlet b:did_scheme_ftplugin 59 let b:did_ftplugin = 1 60 let &cpo = s:cpo 61 unlet s:cpo