[IPython-dev] ipy_traits_completer
Darren Dale
darren.dale at cornell.edu
Fri Nov 23 12:59:19 EST 2007
On Friday 23 November 2007 11:11:42 am Darren Dale wrote:
> On Friday 23 November 2007 02:45:19 am Ville M. Vainio wrote:
> > On Sep 19, 2007 3:52 PM, Darren Dale <dd55 at cornell.edu> wrote:
> > > I just activated ipy_traits_completer in my ipy_user_conf.py file:
> > >
> > > def main():
> > > from ipy_traits_completer import activate
> > > complete_threshold = 3
> > > activate(complete_threshold)
> > >
> > > import ipy_stock_completers
> > >
> > > o = ip.options
> > > main()
> > >
> > > When the traits completer is activated, my readline_omit__names setting
> > > in ipythonrc is ignored.
> >
> > Try changing it in your ipy_user_conf.py after activate(). This is not
> > strictly a bug, python-side configuration overrides ipythonrc.
>
> Thank you, Ville, your suggestion worked. I notice, though, that
> ip_traits_completer does not respect readline_omit__names. I would like to
> fix this before the release, I think I can get it done today.
This is done. Here is the change I made:
Index: IPython/Extensions/ipy_traits_completer.py
===================================================================
--- IPython/Extensions/ipy_traits_completer.py (revision 2868)
+++ IPython/Extensions/ipy_traits_completer.py (working copy)
@@ -99,6 +99,13 @@
attr_start = symbol_parts[-1]
if attr_start:
attrs = [a for a in attrs if a.startswith(attr_start)]
+
+ # Let's also respect the user's readline_omit__names setting:
+ omit__names = ipget().options.readline_omit__names
+ if omit__names == 1:
+ attrs = [a for a in attrs if not a.startswith('__')]
+ elif omit__names == 2:
+ attrs = [a for a in attrs if not a.startswith('_')]
#print '\nastart:<%r>' % attr_start # dbg
Darren
More information about the IPython-dev
mailing list