##// END OF EJS Templates
Ported the IPython Sphinx directive to 0.11....
Ported the IPython Sphinx directive to 0.11. This was originally written by John Hunter for the 0.10 API, now it works with 0.11. We still need to automate its test suite, but at least now it runs and the script itself can be executed as a test that produces screen output and figures in a subdir.

File last commit:

r1251:99658885
r2439:858c6e09
Show More
ipy.vim
67 lines | 1.5 KiB | text/x-vim | VimLexer
Ville M. Vainio
add ipy_vimserver.py extension, and ipy.vim to doc/examples. Both contributed by Erich Heine
r1076 if !exists("$IPY_SESSION")
finish
endif
" set up the python interpreter within vim, to have all the right modules
" imported, as well as certain useful globals set
python import socket
python import os
python import vim
python IPYSERVER = None
python << EOF
# do we have a connection to the ipython instance?
def check_server():
global IPYSERVER
if IPYSERVER:
return True
else:
return False
# connect to the ipython server, if we need to
def connect():
global IPYSERVER
if check_server():
return
try:
IPYSERVER = socket.socket(socket.AF_UNIX)
IPYSERVER.connect(os.environ.get('IPY_SERVER'))
except:
IPYSERVER = None
def disconnect():
if IPYSERVER:
IPYSERVER.close()
def send(cmd):
x = 0
while True:
x += IPYSERVER.send(cmd)
if x < len(cmd):
cmd = cmd[x:]
else:
break
def run_this_file():
if check_server():
send('run %s' % (vim.current.buffer.name,))
else:
raise Exception, "Not connected to an IPython server"
EOF
fun! <SID>toggle_send_on_save()
if exists("s:ssos") && s:ssos == 1
let s:ssos = 0
au! BufWritePost *.py :py run_this_file()
echo "Autosend Off"
else
let s:ssos = 1
au BufWritePost *.py :py run_this_file()
echo "Autowsend On"
endif
endfun
map <silent> <F5> :python run_this_file()<CR>
imap <silent> <C-F5> <ESC><F5>a
map <F7> :call <SID>toggle_send_on_save()<CR>
py connect()