From a5c99f70c00cf959568a032406a3629a2d11c938 Mon Sep 17 00:00:00 2001 From: Jethro Cao Date: Sun, 6 Oct 2019 17:50:25 +0900 Subject: [PATCH] Scheme guile support (#3127) --- autoload/SpaceVim/api/job.vim | 2 +- autoload/SpaceVim/layers/lang/scheme.vim | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/autoload/SpaceVim/api/job.vim b/autoload/SpaceVim/api/job.vim index a73c6b7bf..50fdb120e 100644 --- a/autoload/SpaceVim/api/job.vim +++ b/autoload/SpaceVim/api/job.vim @@ -46,7 +46,7 @@ if !s:self.nvim_job && !s:self.vim_job au! User SpaceVim_job_stdout nested call call(s:self.opts.on_stdout, s:self.job_argv) au! User SpaceVim_job_stderr nested call call(s:self.opts.on_stderr, s:self.job_argv) au! User SpaceVim_job_exit nested call call(s:self.opts.on_exit, s:self.job_argv) - augroup ENd + augroup END endif function! s:self.warn(...) abort diff --git a/autoload/SpaceVim/layers/lang/scheme.vim b/autoload/SpaceVim/layers/lang/scheme.vim index 4917c2073..38787bf79 100644 --- a/autoload/SpaceVim/layers/lang/scheme.vim +++ b/autoload/SpaceVim/layers/lang/scheme.vim @@ -7,11 +7,24 @@ "============================================================================= function! SpaceVim#layers#lang#scheme#config() abort - call SpaceVim#plugins#runner#reg_runner('scheme', 'echo | mit-scheme --quiet --load %s && echo') + if s:scheme_dialect ==# 'mit-scheme' + call SpaceVim#plugins#runner#reg_runner('scheme', 'echo | mit-scheme --quiet --load %s && echo') + elseif s:scheme_dialect ==# 'guile' + call SpaceVim#plugins#runner#reg_runner('scheme', 'echo | guile -q %s && echo') + else + try + call SpaceVim#plugins#runner#reg_runner('scheme', 'echo | ' . s:scheme_dialect . ' %s && echo') + catch /^Vim\%((\a\+)\)\=:E117/ + endtry + endif call SpaceVim#mapping#space#regesit_lang_mappings('scheme', function('s:language_specified_mappings')) call SpaceVim#plugins#repl#reg('scheme', ['scheme', '--silent']) endfunction +function! SpaceVim#layers#lang#scheme#set_variable(opt) abort + let s:scheme_dialect = get(a:opt, 'dialect', 'mit-scheme') +endfunction + function! s:language_specified_mappings() abort call SpaceVim#mapping#space#langSPC('nmap', ['l','r'], 'call SpaceVim#plugins#runner#open()', 'execute current file', 1) let g:_spacevim_mappings_space.l.s = {'name' : '+Send'}