##// END OF EJS Templates
Dramatic cleanup of shell.py....
Dramatic cleanup of shell.py. Because of the new GUI event loop handling in inputhook.py, we have been able to get rid of almost all the code in shell.py. We don't need any threaded shells, so we only have IPShell and IPShellEmbed. Yah!

File last commit:

r2063:9650bd9e
r2070:770734dc
Show More
ipy_gnuglobal.py
38 lines | 891 B | text/x-python | PythonLexer
vivainio
crlf cleanup
r680 #!/usr/bin/env python
"""
Add %global magic for GNU Global usage.
http://www.gnu.org/software/global/
"""
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 from IPython.core import ipapi
ip = ipapi.get()
vivainio
crlf cleanup
r680 import os
# alter to your liking
global_bin = 'd:/opt/global/bin/global'
def global_f(self,cmdline):
simple = 0
if '-' not in cmdline:
cmdline = '-rx ' + cmdline
simple = 1
lines = [l.rstrip() for l in os.popen( global_bin + ' ' + cmdline ).readlines()]
if simple:
parts = [l.split(None,3) for l in lines]
lines = ['%s [%s]\n%s' % (p[2].rjust(70),p[1],p[3].rstrip()) for p in parts]
print "\n".join(lines)
ip.expose_magic('global', global_f)
def global_completer(self,event):
compl = [l.rstrip() for l in os.popen(global_bin + ' -c ' + event.symbol).readlines()]
return compl
ip.set_hook('complete_command', global_completer, str_key = '%global')