From c25a4a00df46621d464b7dff2ffaac47b362fb4d Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Sun, 10 Sep 2017 01:54:50 +0200 Subject: [PATCH] readlines should be completable. Fixes #921. --- jedi/evaluate/compiled/fake/builtins.pym | 4 ++++ jedi/evaluate/compiled/fake/io.pym | 3 +++ test/completion/stdlib.py | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/jedi/evaluate/compiled/fake/builtins.pym b/jedi/evaluate/compiled/fake/builtins.pym index 2fc50ce1..88436fdd 100644 --- a/jedi/evaluate/compiled/fake/builtins.pym +++ b/jedi/evaluate/compiled/fake/builtins.pym @@ -32,9 +32,13 @@ def range(start, stop=None, step=1): class file(): def __iter__(self): yield '' + def next(self): return '' + def readlines(self): + return [''] + class xrange(): # Attention: this function doesn't exist in Py3k (there it is range). diff --git a/jedi/evaluate/compiled/fake/io.pym b/jedi/evaluate/compiled/fake/io.pym index 87b02eed..e115ea9a 100644 --- a/jedi/evaluate/compiled/fake/io.pym +++ b/jedi/evaluate/compiled/fake/io.pym @@ -4,3 +4,6 @@ class TextIOWrapper(): def __iter__(self): yield str() + + def readlines(self): + return [''] diff --git a/test/completion/stdlib.py b/test/completion/stdlib.py index 92b7929a..c320b3f0 100644 --- a/test/completion/stdlib.py +++ b/test/completion/stdlib.py @@ -65,6 +65,11 @@ class X(): pass #? type type(X) + +with open('foo') as f: + for line in f.readlines(): + #? str() + line # ----------------- # enumerate # -----------------