Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/prompt_toolkit/key_binding/defaults.py: 83%
12 statements
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-20 06:09 +0000
« prev ^ index » next coverage.py v7.4.4, created at 2024-04-20 06:09 +0000
1"""
2Default key bindings.::
4 key_bindings = load_key_bindings()
5 app = Application(key_bindings=key_bindings)
6"""
7from __future__ import annotations
9from prompt_toolkit.filters import buffer_has_focus
10from prompt_toolkit.key_binding.bindings.basic import load_basic_bindings
11from prompt_toolkit.key_binding.bindings.cpr import load_cpr_bindings
12from prompt_toolkit.key_binding.bindings.emacs import (
13 load_emacs_bindings,
14 load_emacs_search_bindings,
15 load_emacs_shift_selection_bindings,
16)
17from prompt_toolkit.key_binding.bindings.mouse import load_mouse_bindings
18from prompt_toolkit.key_binding.bindings.vi import (
19 load_vi_bindings,
20 load_vi_search_bindings,
21)
22from prompt_toolkit.key_binding.key_bindings import (
23 ConditionalKeyBindings,
24 KeyBindingsBase,
25 merge_key_bindings,
26)
28__all__ = [
29 "load_key_bindings",
30]
33def load_key_bindings() -> KeyBindingsBase:
34 """
35 Create a KeyBindings object that contains the default key bindings.
36 """
37 all_bindings = merge_key_bindings(
38 [
39 # Load basic bindings.
40 load_basic_bindings(),
41 # Load emacs bindings.
42 load_emacs_bindings(),
43 load_emacs_search_bindings(),
44 load_emacs_shift_selection_bindings(),
45 # Load Vi bindings.
46 load_vi_bindings(),
47 load_vi_search_bindings(),
48 ]
49 )
51 return merge_key_bindings(
52 [
53 # Make sure that the above key bindings are only active if the
54 # currently focused control is a `BufferControl`. For other controls, we
55 # don't want these key bindings to intervene. (This would break "ptterm"
56 # for instance, which handles 'Keys.Any' in the user control itself.)
57 ConditionalKeyBindings(all_bindings, buffer_has_focus),
58 # Active, even when no buffer has been focused.
59 load_mouse_bindings(),
60 load_cpr_bindings(),
61 ]
62 )