Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork32k
Description
Feature or enhancement
Proposal:
Currently, built-in modules (i.e.sys
) are not autocompleted in the new REPL. For instance, typingimport sy<tab>
does not offersys
as a completion possibility.
This is because we usepkgutil.iter_modules
under the hood. Since built-in modules have no underlying.py
file, they don't show up.
It would be great if the autocomplete could still work with these modules. One possibility would be looking atsys.builtin_module_names
and combining it with the results ofpkgutil.iter_modules
.
The relevant code is in this class:
cpython/Lib/_pyrepl/_module_completer.py
Lines 24 to 26 incc9add6
classModuleCompleter: | |
"""A completer for Python import statements. | |
Here's how I think we can implement it:
- Find built-in modules by looking at
sys.builtin_module_names
- Merge the results with
ModuleCompleter.global_cache
(might need changing how we represent the modules)
IIUC we only have built-in top-level modules, not submodules, so that should simplify the implementation.
Please don't pick up this issue, I'd like to reserve it for someone at the PyConUS sprints :)
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response