diff options
author | Berker Peksag <berker.peksag@gmail.com> | 2015-07-27 21:08:24 (GMT) |
---|---|---|
committer | Berker Peksag <berker.peksag@gmail.com> | 2015-07-27 21:08:24 (GMT) |
commit | 0659c43d73e5d9ce4540c53f76b66ddb904be6de (patch) | |
tree | 1bff65dba973b12c1d6cfd77f8661f4f2cba5cb3 /Lib | |
parent | 367c07f89fa3caf728ab704ea88b701b2bd5992c (diff) | |
parent | aaf6114b37df5b86d605e396ac0547e5cac492ae (diff) | |
download | cpython-0659c43d73e5d9ce4540c53f76b66ddb904be6de.zip cpython-0659c43d73e5d9ce4540c53f76b66ddb904be6de.tar.gz cpython-0659c43d73e5d9ce4540c53f76b66ddb904be6de.tar.bz2 |
Issue #23441: rcompleter now prints a tab character instead of displaying
possible completions for an empty word.
Initial patch by Martin Sekera.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/rlcompleter.py | 6 | ||||
-rw-r--r-- | Lib/test/test_rlcompleter.py | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py index 94f9341..d517c0e 100644 --- a/Lib/rlcompleter.py +++ b/Lib/rlcompleter.py @@ -73,6 +73,12 @@ class Completer: if self.use_main_ns: self.namespace = __main__.__dict__ + if not text.strip(): + if state == 0: + return '\t' + else: + return None + if state == 0: if "." in text: self.matches = self.attr_matches(text) diff --git a/Lib/test/test_rlcompleter.py b/Lib/test/test_rlcompleter.py index 9d4d0bd..d37b620 100644 --- a/Lib/test/test_rlcompleter.py +++ b/Lib/test/test_rlcompleter.py @@ -64,5 +64,13 @@ class TestRlcompleter(unittest.TestCase): ['egg.{}('.format(x) for x in dir(str) if x.startswith('s')]) + def test_complete(self): + completer = rlcompleter.Completer() + self.assertEqual(completer.complete('', 0), '\t') + self.assertEqual(completer.complete('a', 0), 'and') + self.assertEqual(completer.complete('a', 1), 'as') + self.assertEqual(completer.complete('as', 2), 'assert') + self.assertEqual(completer.complete('an', 0), 'and') + if __name__ == '__main__': unittest.main() |