26 lines
		
	
	
		
			732 B
		
	
	
	
		
			VimL
		
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			732 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("(#%require xrepl)(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
 |