Spaces:
Sleeping
Sleeping
first-space
/
first-space-venv
/lib
/python3.12
/site-packages
/prompt_toolkit
/key_binding
/defaults.py
""" | |
Default key bindings.:: | |
key_bindings = load_key_bindings() | |
app = Application(key_bindings=key_bindings) | |
""" | |
from __future__ import annotations | |
from prompt_toolkit.filters import buffer_has_focus | |
from prompt_toolkit.key_binding.bindings.basic import load_basic_bindings | |
from prompt_toolkit.key_binding.bindings.cpr import load_cpr_bindings | |
from prompt_toolkit.key_binding.bindings.emacs import ( | |
load_emacs_bindings, | |
load_emacs_search_bindings, | |
load_emacs_shift_selection_bindings, | |
) | |
from prompt_toolkit.key_binding.bindings.mouse import load_mouse_bindings | |
from prompt_toolkit.key_binding.bindings.vi import ( | |
load_vi_bindings, | |
load_vi_search_bindings, | |
) | |
from prompt_toolkit.key_binding.key_bindings import ( | |
ConditionalKeyBindings, | |
KeyBindingsBase, | |
merge_key_bindings, | |
) | |
__all__ = [ | |
"load_key_bindings", | |
] | |
def load_key_bindings() -> KeyBindingsBase: | |
""" | |
Create a KeyBindings object that contains the default key bindings. | |
""" | |
all_bindings = merge_key_bindings( | |
[ | |
# Load basic bindings. | |
load_basic_bindings(), | |
# Load emacs bindings. | |
load_emacs_bindings(), | |
load_emacs_search_bindings(), | |
load_emacs_shift_selection_bindings(), | |
# Load Vi bindings. | |
load_vi_bindings(), | |
load_vi_search_bindings(), | |
] | |
) | |
return merge_key_bindings( | |
[ | |
# Make sure that the above key bindings are only active if the | |
# currently focused control is a `BufferControl`. For other controls, we | |
# don't want these key bindings to intervene. (This would break "ptterm" | |
# for instance, which handles 'Keys.Any' in the user control itself.) | |
ConditionalKeyBindings(all_bindings, buffer_has_focus), | |
# Active, even when no buffer has been focused. | |
load_mouse_bindings(), | |
load_cpr_bindings(), | |
] | |
) | |