diff --git a/runtime/ftplugin/chicken.vim b/runtime/ftplugin/chicken.vim index 84d45bae1e..b12b264f6e 100644 --- a/runtime/ftplugin/chicken.vim +++ b/runtime/ftplugin/chicken.vim @@ -1,12 +1,12 @@ " CHICKEN-specific Vim customizations -" Last Change: 2018-03-05 -" Author: Evan Hanson -" Maintainer: Evan Hanson -" Repository: https://git.foldling.org/vim-scheme.git -" URL: https://foldling.org/vim/ftplugin/chicken.vim -" Notes: These are supplemental settings, to be loaded after the core -" Scheme ftplugin file (ftplugin/scheme.vim). Enable it by setting -" b:is_chicken=1 and filetype=scheme. +" Last Change: 2024 Jun 21 +" Author: Evan Hanson +" Maintainer: Evan Hanson +" Repository: https://git.foldling.org/vim-scheme.git +" URL: https://foldling.org/vim/ftplugin/chicken.vim +" Notes: These are supplemental settings, to be loaded after the +" core Scheme ftplugin file (ftplugin/scheme.vim). Enable +" it by setting b:is_chicken=1 and filetype=scheme. if !exists('b:did_scheme_ftplugin') finish diff --git a/runtime/ftplugin/scheme.vim b/runtime/ftplugin/scheme.vim index 03f625b564..63e578199d 100644 --- a/runtime/ftplugin/scheme.vim +++ b/runtime/ftplugin/scheme.vim @@ -1,12 +1,12 @@ " Vim filetype plugin file -" Language: Scheme (R7RS) -" Last Change: 2019 Nov 19 -" 2024 May 23 by Riley Bruins ('commentstring') -" Author: Evan Hanson -" Maintainer: Evan Hanson +" Language: Scheme (R7RS) +" Last Change: 2024 Jun 21 +" 2024 May 23 by Riley Bruins ('commentstring') +" Author: Evan Hanson +" Maintainer: Evan Hanson " Previous Maintainer: Sergey Khorev -" Repository: https://git.foldling.org/vim-scheme.git -" URL: https://foldling.org/vim/ftplugin/scheme.vim +" Repository: https://git.foldling.org/vim-scheme.git +" URL: https://foldling.org/vim/ftplugin/scheme.vim if exists('b:did_ftplugin') finish @@ -20,11 +20,13 @@ setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|# setl commentstring=;\ %s setl define=^\\s*(def\\k* setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126 +setl formatoptions-=t -let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<' +let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword< formatoptions<' setl lispwords+=case setl lispwords+=define +setl lispwords+=define-library setl lispwords+=define-record-type setl lispwords+=define-syntax setl lispwords+=define-values diff --git a/runtime/indent/scheme.vim b/runtime/indent/scheme.vim index 496da3267d..888659b1de 100644 --- a/runtime/indent/scheme.vim +++ b/runtime/indent/scheme.vim @@ -1,9 +1,10 @@ " Vim indent file -" Language: Scheme -" Last Change: 2018 Jan 31 -" Maintainer: Evan Hanson +" Language: Scheme +" Last Change: 2024 Jun 21 +" Maintainer: Evan Hanson " Previous Maintainer: Sergey Khorev -" URL: https://foldling.org/vim/indent/scheme.vim +" Repository: https://git.foldling.org/vim-scheme.git +" URL: https://foldling.org/vim/indent/scheme.vim " Only load this indent file when no other was loaded. if exists("b:did_indent") diff --git a/runtime/syntax/chicken.vim b/runtime/syntax/chicken.vim index f53d872e74..958fc1f361 100644 --- a/runtime/syntax/chicken.vim +++ b/runtime/syntax/chicken.vim @@ -1,13 +1,13 @@ " Vim syntax file -" Language: Scheme (CHICKEN) -" Last Change: 2021 Oct 01 -" Author: Evan Hanson -" Maintainer: Evan Hanson -" Repository: https://git.foldling.org/vim-scheme.git -" URL: https://foldling.org/vim/syntax/chicken.vim -" Notes: This is supplemental syntax, to be loaded after the core Scheme -" syntax file (syntax/scheme.vim). Enable it by setting b:is_chicken=1 -" and filetype=scheme. +" Language: Scheme (CHICKEN) +" Last Change: 2024 Jun 21 +" Author: Evan Hanson +" Maintainer: Evan Hanson +" Repository: https://git.foldling.org/vim-scheme.git +" URL: https://foldling.org/vim/syntax/chicken.vim +" Notes: This is supplemental syntax, to be loaded after the core +" Scheme syntax file (syntax/scheme.vim). Enable it by +" setting b:is_chicken=1 and filetype=scheme. " Only to be used on top of the Scheme syntax. if !exists('b:did_scheme_syntax') diff --git a/runtime/syntax/scheme.vim b/runtime/syntax/scheme.vim index c4454fc57c..59b0cc5b18 100644 --- a/runtime/syntax/scheme.vim +++ b/runtime/syntax/scheme.vim @@ -1,12 +1,12 @@ " Vim syntax file -" Language: Scheme (R7RS) -" Last Change: 2021-01-03 -" Author: Evan Hanson -" Maintainer: Evan Hanson -" Previous Author: Dirk van Deun +" Language: Scheme (R7RS) +" Last Change: 2024 Jun 21 +" Author: Evan Hanson +" Maintainer: Evan Hanson +" Previous Author: Dirk van Deun " Previous Maintainer: Sergey Khorev -" Repository: https://git.foldling.org/vim-scheme.git -" URL: https://foldling.org/vim/syntax/scheme.vim +" Repository: https://git.foldling.org/vim-scheme.git +" URL: https://foldling.org/vim/syntax/scheme.vim if exists('b:current_syntax') finish @@ -50,9 +50,11 @@ syn match schemeBoolean /#f\(alse\)\?/ syn match schemeCharacter /#\\.[^ `'\t\n\[\]()]*/ syn match schemeCharacter /#\\x[0-9a-fA-F]\+/ -syn match schemeComment /;.*$/ contains=@Spell +syn match schemeComment /;.*$/ contains=schemeTodo,@Spell -syn region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeMultilineComment,@Spell +syn region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeTodo,schemeMultilineComment,@Spell + +syn match schemeTodo /\c\<\(todo\|xxx\|fixme\|note\):\?\>/ contained syn region schemeForm matchgroup=schemeParentheses start="(" end=")" contains=ALLBUT,schemeUnquote,schemeDatumCommentForm,@schemeImportCluster syn region schemeForm matchgroup=schemeParentheses start="\[" end="\]" contains=ALLBUT,schemeUnquote,schemeDatumCommentForm,@schemeImportCluster @@ -427,6 +429,7 @@ syn keyword schemeFunction write-string syn keyword schemeFunction write-u8 syn keyword schemeFunction zero? +hi def link schemeTodo Todo hi def link schemeBoolean Boolean hi def link schemeCharacter Character hi def link schemeComment Comment