mirror of
https://github.com/python/cpython.git
synced 2025-09-27 02:39:58 +00:00
Issue #25209: rlcomplete now can add a space or a colon after completed keyword.
This commit is contained in:
parent
36b3fbb0ee
commit
8ace8e99b3
3 changed files with 17 additions and 4 deletions
|
@ -106,6 +106,12 @@ class Completer:
|
||||||
n = len(text)
|
n = len(text)
|
||||||
for word in keyword.kwlist:
|
for word in keyword.kwlist:
|
||||||
if word[:n] == text:
|
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)
|
matches.append(word)
|
||||||
for nspace in [builtins.__dict__, self.namespace]:
|
for nspace in [builtins.__dict__, self.namespace]:
|
||||||
for word, val in nspace.items():
|
for word, val in nspace.items():
|
||||||
|
|
|
@ -67,10 +67,15 @@ class TestRlcompleter(unittest.TestCase):
|
||||||
def test_complete(self):
|
def test_complete(self):
|
||||||
completer = rlcompleter.Completer()
|
completer = rlcompleter.Completer()
|
||||||
self.assertEqual(completer.complete('', 0), '\t')
|
self.assertEqual(completer.complete('', 0), '\t')
|
||||||
self.assertEqual(completer.complete('a', 0), 'and')
|
self.assertEqual(completer.complete('a', 0), 'and ')
|
||||||
self.assertEqual(completer.complete('a', 1), 'as')
|
self.assertEqual(completer.complete('a', 1), 'as ')
|
||||||
self.assertEqual(completer.complete('as', 2), 'assert')
|
self.assertEqual(completer.complete('as', 2), 'assert ')
|
||||||
self.assertEqual(completer.complete('an', 0), 'and')
|
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__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
|
@ -27,6 +27,8 @@ Core and Builtins
|
||||||
Library
|
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 #22241: timezone.utc name is now plain 'UTC', not 'UTC-00:00'.
|
||||||
|
|
||||||
- Issue #23517: fromtimestamp() and utcfromtimestamp() methods of
|
- Issue #23517: fromtimestamp() and utcfromtimestamp() methods of
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue