1
0
mirror of https://github.com/wting/autojump synced 2024-09-28 05:50:47 +00:00
wting_autojump/tools/autojump_ipython.py

33 lines
972 B
Python
Raw Normal View History

"""
IPython autojump magic
2010-11-25 14:19:33 +00:00
Written by keith hughitt <keith.hughitt@gmail.com>, based on an earlier
version by Mario Pastorelli <pastorelli.mario@gmail.com>.
2010-11-25 14:33:53 +00:00
To install, `create a new IPython user profile <http://ipython.org/ipython-doc/stable/config/ipython.html#configuring-ipython>`_
if you have not already done so by running:
ipython profile create
And copy this file into the "startup" folder of your new profile (e.g.
"$HOME/.config/ipython/profile_default/startup/").
@TODO: extend %cd to call "autojump -a"
"""
2010-11-25 14:19:33 +00:00
import os
import subprocess as sub
from IPython.core.magic import (register_line_magic, register_cell_magic,
register_line_cell_magic)
2010-11-25 14:19:33 +00:00
ip = get_ipython()
2010-11-25 14:19:33 +00:00
@register_line_magic
def j(path):
cmd = ['autojump'] + path.split()
newpath = sub.Popen(cmd, stdout=sub.PIPE, shell=False).communicate()[0].strip()
2010-11-25 14:33:53 +00:00
if newpath:
ip.magic('cd %s' % newpath.decode('utf-8'))
2010-11-25 14:19:33 +00:00
# remove from namespace
del j