[Python-checkins] cpython: Issue #25209: rlcomplete now can add a space or a colon after completed keyword.
serhiy.storchaka
python-checkins at python.org
Sun Sep 27 12:44:53 CEST 2015
https://hg.python.org/cpython/rev/f64ec4aac935
changeset: 98325:f64ec4aac935
user: Serhiy Storchaka <storchaka at gmail.com>
date: Sun Sep 27 13:26:03 2015 +0300
summary:
Issue #25209: rlcomplete now can add a space or a colon after completed keyword.
files:
Lib/rlcompleter.py | 6 ++++++
Lib/test/test_rlcompleter.py | 13 +++++++++----
Misc/NEWS | 2 ++
3 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py
--- a/Lib/rlcompleter.py
+++ b/Lib/rlcompleter.py
@@ -106,6 +106,12 @@
n = len(text)
for word in keyword.kwlist:
if word[:n] == text:
+ if word in {'finally', 'try'}:
+ word = word + ':'
+ elif word not in {'False', 'None', 'True',
+ 'break', 'continue', 'pass',
+ 'else'}:
+ word = word + ' '
matches.append(word)
for nspace in [builtins.__dict__, self.namespace]:
for word, val in nspace.items():
diff --git a/Lib/test/test_rlcompleter.py b/Lib/test/test_rlcompleter.py
--- a/Lib/test/test_rlcompleter.py
+++ b/Lib/test/test_rlcompleter.py
@@ -67,10 +67,15 @@
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')
+ 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 ')
+ self.assertEqual(completer.complete('pa', 0), 'pass')
+ self.assertEqual(completer.complete('Fa', 0), 'False')
+ self.assertEqual(completer.complete('el', 0), 'elif ')
+ self.assertEqual(completer.complete('el', 1), 'else')
+ self.assertEqual(completer.complete('tr', 0), 'try:')
if __name__ == '__main__':
unittest.main()
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,8 @@
Library
-------
+- Issue #25209: rlcomplete now can add a space or a colon after completed keyword.
+
- Issue #22241: timezone.utc name is now plain 'UTC', not 'UTC-00:00'.
- Issue #23517: fromtimestamp() and utcfromtimestamp() methods of
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list