blob: 03f625b564d6000e34366e419401540a700a9d1b [file] [log] [blame]
Bram Moolenaar72540672018-02-09 22:00:53 +01001" Vim filetype plugin file
Riley Bruins0a083062024-06-03 20:40:45 +02002" Language: Scheme (R7RS)
3" Last Change: 2019 Nov 19
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>
Bram Moolenaar72540672018-02-09 22:00:53 +01007" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
Riley Bruins0a083062024-06-03 20:40:45 +02008" Repository: https://git.foldling.org/vim-scheme.git
9" URL: https://foldling.org/vim/ftplugin/scheme.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000010
Bram Moolenaar72540672018-02-09 22:00:53 +010011if exists('b:did_ftplugin')
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010012 finish
13endif
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000014
Bram Moolenaar72540672018-02-09 22:00:53 +010015let s:cpo = &cpo
16set cpo&vim
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010017
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010018setl lisp
Bram Moolenaarb5b75622018-03-09 22:22:21 +010019setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|#
Riley Bruins0a083062024-06-03 20:40:45 +020020setl commentstring=;\ %s
Bram Moolenaar72540672018-02-09 22:00:53 +010021setl define=^\\s*(def\\k*
22setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010023
Bram Moolenaar72540672018-02-09 22:00:53 +010024let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<'
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010025
Bram Moolenaar403f3eb2019-11-20 22:31:13 +010026setl lispwords+=case
Bram Moolenaar72540672018-02-09 22:00:53 +010027setl lispwords+=define
28setl lispwords+=define-record-type
29setl lispwords+=define-syntax
30setl lispwords+=define-values
31setl lispwords+=do
32setl lispwords+=guard
Bram Moolenaar72540672018-02-09 22:00:53 +010033setl lispwords+=lambda
34setl lispwords+=let
35setl lispwords+=let*
36setl lispwords+=let*-values
37setl lispwords+=let-syntax
38setl lispwords+=let-values
39setl lispwords+=letrec
40setl lispwords+=letrec*
41setl lispwords+=letrec-syntax
42setl lispwords+=parameterize
43setl lispwords+=set!
44setl lispwords+=syntax-rules
45setl lispwords+=unless
46setl lispwords+=when
47
48let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
49
50let b:did_scheme_ftplugin = 1
51
52if exists('b:is_chicken') || exists('g:is_chicken')
Bram Moolenaar6aa57292021-08-14 21:25:52 +020053 runtime! ftplugin/chicken.vim
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000054endif
55
Bram Moolenaar72540672018-02-09 22:00:53 +010056unlet b:did_scheme_ftplugin
57let b:did_ftplugin = 1
58let &cpo = s:cpo
59unlet s:cpo