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

1""" 

2Default key bindings.:: 

3 

4 key_bindings = load_key_bindings() 

5 app = Application(key_bindings=key_bindings) 

6""" 

7from __future__ import annotations 

8 

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) 

27 

28__all__ = [ 

29 "load_key_bindings", 

30] 

31 

32 

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 ) 

50 

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 )