3 ms·
The code that generates the completions [1] and displays them [2] is fairly simple. It uses a mix of scanning for a function's docstring, Python's built-in rlco
by btn 14y ago
The code that generates the completions [1] and displays them [2] is fairly simple. It uses a mix of scanning for a function's docstring, Python's built-in rlcompleter module [3] to generate the possible identifiers and keywords, its own module scanner for imports [4].
[1] https://bitbucket.org/bobf/bpython/src/2b3fb2cb6500/bpython/repl.py#cl-583 https://bitbucket.org/bobf/bpython/src/2b3fb2cb6500/bpython/...
[2] https://bitbucket.org/bobf/bpython/src/2b3fb2cb6500/bpython/cli.py#cl-409 https://bitbucket.org/bobf/bpython/src/2b3fb2cb6500/bpython/...
[3] http://docs.python.org/library/rlcompleter.html http://docs.python.org/library/rlcompleter.html
[4] https://bitbucket.org/bobf/bpython/src/2b3fb2cb6500/bpython/importcompletion.py https://bitbucket.org/bobf/bpython/src/2b3fb2cb6500/bpython/...
- xtacy 14y agoThat's very useful. I wish shells like bash/zsh had this instant auto-completion!