summaryrefslogtreecommitdiffstats
path: root/ptpython/completer.py
diff options
context:
space:
mode:
Diffstat (limited to 'ptpython/completer.py')
-rw-r--r--ptpython/completer.py11
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)):