##// END OF EJS Templates
Minimal updates to pure Python kernel to keep it (somewhat) API compatible with the IPython Kernel....
Minimal updates to pure Python kernel to keep it (somewhat) API compatible with the IPython Kernel. We should define a basic interface for Kernel objects so that we do not continue to have these problems.

File last commit:

r2267:928c921b
r3028:2153d349
Show More
ipy_gnuglobal.py
38 lines | 891 B | text/x-python | PythonLexer
#!/usr/bin/env python
"""
Add %global magic for GNU Global usage.
http://www.gnu.org/software/global/
"""
from IPython.core import ipapi
ip = ipapi.get()
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.define_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')