diff options
Diffstat (limited to 'ptpython/completer.py')
-rw-r--r-- | ptpython/completer.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/ptpython/completer.py b/ptpython/completer.py index 285398c..51a4086 100644 --- a/ptpython/completer.py +++ b/ptpython/completer.py @@ -505,6 +505,10 @@ class DictionaryCompleter(Completer): display=f"[{k_repr}]", display_meta=abbr_meta(self._do_repr(result[k])), ) + except KeyError: + # `result[k]` lookup failed. Trying to complete + # broken object. + pass except ReprFailedError: pass @@ -521,6 +525,10 @@ class DictionaryCompleter(Completer): display=f"[{k_repr}]", display_meta=abbr_meta(self._do_repr(result[k])), ) + except KeyError: + # `result[k]` lookup failed. Trying to complete + # broken object. + pass except ReprFailedError: pass @@ -545,9 +553,8 @@ class DictionaryCompleter(Completer): def get_suffix(name: str) -> str: try: obj = getattr(result, name, None) - if inspect.isfunction(obj): + if inspect.isfunction(obj) or inspect.ismethod(obj): return "()" - if isinstance(obj, dict): return "{}" if isinstance(obj, (list, tuple)): |