26 lines
716 B
VimL
26 lines
716 B
VimL
"
|
|
" Source: https://wiki.call-cc.org/vim / Jonathan Palardy
|
|
"
|
|
|
|
" Note, this is assuming you have an R5RS Scheme REPL runnning in the second
|
|
" TMUX pane.
|
|
|
|
" Send `(load <current-file>)` to tmux pane
|
|
nmap <leader>rf :call Scheme_send_sexp("(load \"" . expand("%:p") . "\")\n")<cr>
|
|
nmap <leader>re :call Scheme_eval_defun()<cr>
|
|
|
|
" Send s-expression to TMUX buffer
|
|
fun! Scheme_send_sexp(sexp)
|
|
let ss = escape(a:sexp, '\"')
|
|
" Send to second tmux pane
|
|
call system("tmux send-keys -t 1 \"" . ss . "\n\"")
|
|
endfun
|
|
|
|
" Send s-expression under cursor to TMUX buffer
|
|
fun! Scheme_eval_defun()
|
|
let pos = getpos('.')
|
|
silent! exec "normal! 99[(yab"
|
|
call Scheme_send_sexp(@")
|
|
call setpos('.', pos)
|
|
endfun
|