diff --git a/jedi/keywords.py b/jedi/keywords.py index 8821b500..950270b7 100644 --- a/jedi/keywords.py +++ b/jedi/keywords.py @@ -80,4 +80,7 @@ def imitate_pydoc(string): except TypeError: return '' - return pydoc_topics.topics[label] if pydoc_topics else '' + try: + return pydoc_topics.topics[label] if pydoc_topics else '' + except KeyError: + return '' diff --git a/test/regression.py b/test/regression.py index 2c4e8d50..60f8f414 100755 --- a/test/regression.py +++ b/test/regression.py @@ -18,7 +18,9 @@ import api class Base(unittest.TestCase): - def get_def(self, src, pos): + def get_def(self, src, pos=None): + if pos is None: + pos = 1, len(src) script = api.Script(src, pos[0], pos[1], None) return script.get_definition() @@ -254,6 +256,11 @@ class TestRegression(Base): types = [o.type for o in objs] assert 'Import' not in types and 'Class' in types + def test_keyword_definition_doc(self): + """ github jedi-vim issue #44 """ + defs = self.get_def("print") + assert [d.doc for d in defs] + class TestFeature(Base): def test_full_name(self):