Just keep neorepl in here for now, whatever
author |
Steve Losh <steve@stevelosh.com> |
date |
Thu, 27 Aug 2015 10:27:25 +0000 |
parents |
4bd19acc976f
|
children |
296cbe9165ec
|
branches/tags |
(none) |
files |
vim/bundle/neorepl/README.markdown vim/bundle/neorepl/plugin/neorepl.vim |
Changes
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/neorepl/README.markdown Thu Aug 27 10:27:25 2015 +0000
@@ -0,0 +1,8 @@
+ __
+ ___ ___ ___ _______ ___ / /
+ / _ \/ -_) _ \/ __/ -_) _ \/ /
+ /_//_/\__/\___/_/ \__/ .__/_/
+ /_/
+
+A dead-simple way to send text from a neovim buffer to a running neovim
+terminal. That's it, nothing else.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vim/bundle/neorepl/plugin/neorepl.vim Thu Aug 27 10:27:25 2015 +0000
@@ -0,0 +1,47 @@
+" ============================================================================
+" File: neorepl.vim
+" Description: Send text from neovim buffers to neovim terminals.
+" Maintainer: Steve Losh <steve@stevelosh.com>
+" License: MIT/X11
+" ============================================================================
+
+" Init {{{
+
+if !exists('g:neorepl_debug') && (exists('loaded_neorepl') || &cp)
+ finish
+endif
+
+let loaded_neorepl = 1
+let g:neorepl_jobid = 0
+
+"}}}
+" Functions {{{
+
+function! s:NeoRepl(command) " {{{
+ vnew
+ let result = termopen(a:command)
+
+ let g:neorepl_jobid = result
+endfunction " }}}
+
+function! NeoReplSendRaw(payload) " {{{
+ for line in (split(a:payload, '\n'))
+ call jobsend(g:neorepl_jobid, line . "\n")
+ sleep 2m " please kill me
+ endfor
+endfunction " }}}
+
+function! NeoReplSendSelection() " {{{
+ let old_z = @z
+ normal! gv"zy
+
+ call NeoReplSendRaw(@z . "\n")
+ let @z = old_z
+endfunction " }}}
+
+" }}}
+" Command {{{
+
+command! -range=0 -complete=shellcmd -nargs=1 NeoRepl call s:NeoRepl(<q-args>)
+
+" }}}