Skip to content

Commit 8ace8e9

Browse files
Issue #25209: rlcomplete now can add a space or a colon after completed keyword.
1 parent 36b3fbb commit 8ace8e9

3 files changed

Lines changed: 17 additions & 4 deletions

File tree

‎Lib/rlcompleter.py‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ def global_matches(self, text):
106106
n = len(text)
107107
for word in keyword.kwlist:
108108
if word[:n] == text:
109+
if word in {'finally', 'try'}:
110+
word = word + ':'
111+
elif word not in {'False', 'None', 'True',
112+
'break', 'continue', 'pass',
113+
'else'}:
114+
word = word + ' '
109115
matches.append(word)
110116
for nspace in [builtins.__dict__, self.namespace]:
111117
for word, val in nspace.items():

‎Lib/test/test_rlcompleter.py‎

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,15 @@ def test_attr_matches(self):
6767
def test_complete(self):
6868
completer = rlcompleter.Completer()
6969
self.assertEqual(completer.complete('', 0), '\t')
70-
self.assertEqual(completer.complete('a', 0), 'and')
71-
self.assertEqual(completer.complete('a', 1), 'as')
72-
self.assertEqual(completer.complete('as', 2), 'assert')
73-
self.assertEqual(completer.complete('an', 0), 'and')
70+
self.assertEqual(completer.complete('a', 0), 'and ')
71+
self.assertEqual(completer.complete('a', 1), 'as ')
72+
self.assertEqual(completer.complete('as', 2), 'assert ')
73+
self.assertEqual(completer.complete('an', 0), 'and ')
74+
self.assertEqual(completer.complete('pa', 0), 'pass')
75+
self.assertEqual(completer.complete('Fa', 0), 'False')
76+
self.assertEqual(completer.complete('el', 0), 'elif ')
77+
self.assertEqual(completer.complete('el', 1), 'else')
78+
self.assertEqual(completer.complete('tr', 0), 'try:')
7479

7580
if __name__ == '__main__':
7681
unittest.main()

‎Misc/NEWS‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ Core and Builtins
2727
Library
2828
-------
2929

30+
- Issue #25209: rlcomplete now can add a space or a colon after completed keyword.
31+
3032
- Issue #22241: timezone.utc name is now plain 'UTC', not 'UTC-00:00'.
3133

3234
- Issue #23517: fromtimestamp() and utcfromtimestamp() methods of

0 commit comments

Comments
 (0)