mirror of
https://github.com/python/cpython.git
synced 2025-10-09 16:34:44 +00:00
bpo-45495: Add 'case' and 'match' to IDLE completions list. (GH-29000)
Since the keyword list is frozen, only compute it once per session. The colorizer already handles context keywords.
This commit is contained in:
parent
b9cdd0fb9c
commit
42ac06dcd2
3 changed files with 13 additions and 3 deletions
|
@ -9,6 +9,12 @@ import os
|
|||
import string
|
||||
import sys
|
||||
|
||||
# Modified keyword list is used in fetch_completions.
|
||||
completion_kwds = [s for s in keyword.kwlist
|
||||
if s not in {'True', 'False', 'None'}] # In builtins.
|
||||
completion_kwds.extend(('match', 'case')) # Context keywords.
|
||||
completion_kwds.sort()
|
||||
|
||||
# Two types of completions; defined here for autocomplete_w import below.
|
||||
ATTRS, FILES = 0, 1
|
||||
from idlelib import autocomplete_w
|
||||
|
@ -177,9 +183,7 @@ class AutoComplete:
|
|||
namespace = {**__main__.__builtins__.__dict__,
|
||||
**__main__.__dict__}
|
||||
bigl = eval("dir()", namespace)
|
||||
kwds = (s for s in keyword.kwlist
|
||||
if s not in {'True', 'False', 'None'})
|
||||
bigl.extend(kwds)
|
||||
bigl.extend(completion_kwds)
|
||||
bigl.sort()
|
||||
if "__all__" in bigl:
|
||||
smalll = sorted(eval("__all__", namespace))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue