##// END OF EJS Templates
Strip prefix in `attr_matches` result (#13943)...
Strip prefix in `attr_matches` result (#13943) Fixes #13935 Reasoning behind implementation chosen: - `a.b.c` prefix in `a.b.c.<tab>` needs to be preserved as otherwise the completer will replace it with completion rather than appending (so we cannot just use `.suffix`, we need to use `a.b.c.suffix` here) - as in the issue we cannot use `a b.suffix` but need to use `b.suffix` or `.suffix` - `d['a b']` prefix cannot be split using space splitting so we need to tokenize - however, we can do either `a[0].suffix` or `.suffix`

File last commit:

r26419:7663c521
r28118:9663a9ad merge
Show More
generics.py
29 lines | 706 B | text/x-python | PythonLexer
# encoding: utf-8
"""Generic functions for extending IPython.
"""
from IPython.core.error import TryNext
from functools import singledispatch
@singledispatch
def inspect_object(obj):
"""Called when you do obj?"""
raise TryNext
@singledispatch
def complete_object(obj, prev_completions):
"""Custom completer dispatching for python objects.
Parameters
----------
obj : object
The object to complete.
prev_completions : list
List of attributes discovered so far.
This should return the list of attributes in obj. If you only wish to
add to the attributes already discovered normally, return
own_attrs + prev_completions.
"""
raise TryNext