blob: 63e578199d98d6fb5fca16c52407e9ac591c4573 [file] [log] [blame]
Bram Moolenaar72540672018-02-09 22:00:53 +01001" Vim filetype plugin file
Evan Hanson17e0a192024-06-21 07:37:49 +02002" 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>
Bram Moolenaar72540672018-02-09 22:00:53 +01007" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
Evan Hanson17e0a192024-06-21 07:37:49 +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
Evan Hanson17e0a192024-06-21 07:37:49 +020023setl formatoptions-=t
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010024
Evan Hanson17e0a192024-06-21 07:37:49 +020025let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword< formatoptions<'
Bram Moolenaar6ee8d892012-01-10 14:55:01 +010026
Bram Moolenaar403f3eb2019-11-20 22:31:13 +010027setl lispwords+=case
Bram Moolenaar72540672018-02-09 22:00:53 +010028setl lispwords+=define
Evan Hanson17e0a192024-06-21 07:37:49 +020029setl lispwords+=define-library
Bram Moolenaar72540672018-02-09 22:00:53 +010030setl lispwords+=define-record-type
31setl lispwords+=define-syntax
32setl lispwords+=define-values
33setl lispwords+=do
34setl lispwords+=guard
Bram Moolenaar72540672018-02-09 22:00:53 +010035setl lispwords+=lambda
36setl lispwords+=let
37setl lispwords+=let*
38setl lispwords+=let*-values
39setl lispwords+=let-syntax
40setl lispwords+=let-values
41setl lispwords+=letrec
42setl lispwords+=letrec*
43setl lispwords+=letrec-syntax
44setl lispwords+=parameterize
45setl lispwords+=set!
46setl lispwords+=syntax-rules
47setl lispwords+=unless
48setl lispwords+=when
49
50let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
51
52let b:did_scheme_ftplugin = 1
53
54if exists('b:is_chicken') || exists('g:is_chicken')
Bram Moolenaar6aa57292021-08-14 21:25:52 +020055 runtime! ftplugin/chicken.vim
Bram Moolenaar293ee4d2004-12-09 21:34:53 +000056endif
57
Bram Moolenaar72540672018-02-09 22:00:53 +010058unlet b:did_scheme_ftplugin
59let b:did_ftplugin = 1
60let &cpo = s:cpo
61unlet s:cpo