Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.3k
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