[IPython-dev] Default parameter completer
gsakkis at eden.rutgers.edu
gsakkis at eden.rutgers.edu
Wed Apr 20 00:59:56 EDT 2005
Hello all,
I've written a matcher that provides the available default keyword arguments for
the most recent open call; check below for a snapshot of interactive usage. It's
not perfect (e.g. it cannot handle builtins), but I think it's adequate for most
cases.
I just subscribed to the list, so I have two questions on integrating new features:
- What's the procedure for adding a new feature to the official release (of
course if is deemed good, original and useful enough) ?
- If for any reason it can't make it to the official release, what's the
suggested way to integrate it in my own copy ? Currently I simply hacked
iplib.py, but I wonder if there's a more elegant way to add new functionality.
Thanks,
George
#=== Snapshot ========================================================
Python 2.4 (#1, Mar 29 2005, 15:15:45)
Type "copyright", "credits" or "license" for more information.
IPython 0.6.12 -- An enhanced Interactive Python.
? -> Introduction to IPython's features.
%magic -> Information about IPython's 'magic' % functions.
help -> Python's own help system.
object? -> Details about 'object'. ?object also works, ?? prints more.
In [1]:%autoindent
Automatic indentation is: OFF
In [2]:def func(x, longDefaultArgumentFoo=0, longDefaultArgumentBar=None):
...: pass
...:
In [3]:class Klass(object):
...: def __init__(self, longDefaultInitArgument=""):
...: pass
...: def __call__(self, longDefaultCallArgument=-1):
...: pass
...: method = func
...:
In [4]:func(abs(3), lon
long longDefaultArgumentBar= longDefaultArgumentFoo=
In [4]:func(abs(3), longD
longDefaultArgumentBar= longDefaultArgumentFoo=
In [4]:func(abs(3), longDefaultArgumentFoo=34)
In [5]:obj = Klass(long
long longDefaultInitArgument=
In [5]:obj = Klass(longDefaultInitArgument=None)
In [6]:obj.method(longD
longDefaultArgumentBar= longDefaultArgumentFoo=
In [6]:obj.method(longDefaultArgumentBar=0, longD
longDefaultArgumentBar= longDefaultArgumentFoo=
In [6]:obj.method(longDefaultArgumentBar=0, longDefaultArgumentFoo=12)
In [7]:obj(long
long longDefaultCallArgument=
In [7]:obj(longDefaultCallArgument="")
More information about the IPython-dev
mailing list