Compare commits
12 Commits
cd1761e44d
...
64e5c8bd93
Author | SHA1 | Date |
---|---|---|
|
64e5c8bd93 | |
|
6b8322cdc9 | |
|
a16aa300e0 | |
|
46893c6d15 | |
|
8fa538c40e | |
|
ca65aea090 | |
|
0d97438228 | |
|
2d1f29425d | |
|
4ca5161ec4 | |
|
24755aac5a | |
|
ccff698f87 | |
|
63cf709433 |
|
@ -41,38 +41,3 @@ from .pformat import (
|
|||
pformat_caller_frame as pformat_caller_frame,
|
||||
pformat_boxed_tb as pformat_boxed_tb,
|
||||
)
|
||||
|
||||
|
||||
def _enable_readline_feats() -> str:
|
||||
'''
|
||||
Handle `readline` when compiled with `libedit` to avoid breaking
|
||||
tab completion in `pdbp` (and its dep `tabcompleter`)
|
||||
particularly since `uv` cpython distis are compiled this way..
|
||||
|
||||
See docs for deats,
|
||||
https://docs.python.org/3/library/readline.html#module-readline
|
||||
|
||||
Originally discovered soln via SO answer,
|
||||
https://stackoverflow.com/q/49287102
|
||||
|
||||
'''
|
||||
import readline
|
||||
if (
|
||||
# 3.13+ attr
|
||||
# https://docs.python.org/3/library/readline.html#readline.backend
|
||||
(getattr(readline, 'backend', False) == 'libedit')
|
||||
or
|
||||
'libedit' in readline.__doc__
|
||||
):
|
||||
readline.parse_and_bind("python:bind -v")
|
||||
readline.parse_and_bind("python:bind ^I rl_complete")
|
||||
return 'libedit'
|
||||
else:
|
||||
readline.parse_and_bind("tab: complete")
|
||||
readline.parse_and_bind("set editing-mode vi")
|
||||
readline.parse_and_bind("set keymap vi")
|
||||
return 'readline'
|
||||
|
||||
|
||||
# TODO, move this to a new `.devx._pdbp` mod?
|
||||
_enable_readline_feats()
|
||||
|
|
Loading…
Reference in New Issue