##// END OF EJS Templates
Allow to dispatch getting documentation on objects. (#13975)...
Allow to dispatch getting documentation on objects. (#13975) Base for #13860, so that object can be queried for documentation on their fields/properties. Typically this allows the following, to extend the doc documentation when requesting information on a field. ```python class DictLike: def __getitem__(self, k): if k.startswith('f'): return "documentation for k" else: raise KeyError class Bar: __custom_documentations__ = DictLike() faz = 1 @property def foo(self): return 1 b = Bar() b.faz? ```

File last commit:

r26419:7663c521
r28201:d52bf622 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