
                         Z    S r SSKJr  SSKJr  SSKJr  SSKJrJ	r	J
r
  Sr " S S	\5      rg
)a  
DEPRECATED:
Use `prompt_toolkit.key_binding.defaults.load_key_bindings` instead.

:class:`KeyBindingManager` is a utility (or shortcut) for loading all the key
bindings in a key binding registry, with a logic set of filters to quickly to
quickly change from Vi to Emacs key bindings at runtime.

You don't have to use this, but it's practical.

Usage::

    manager = KeyBindingManager()
    app = Application(key_bindings_registry=manager.registry)
    )unicode_literals   )load_key_bindings)to_cli_filter)RegistryConditionalRegistryMergedRegistry)KeyBindingManagerc                   R    \ rS rSrSr          S	S jr\S 5       rS rS r	Sr
g)
r
      a  
Utility for loading all key bindings into memory.

:param registry: Optional `Registry` instance.
:param enable_abort_and_exit_bindings: Filter to enable Ctrl-C and Ctrl-D.
:param enable_system_bindings: Filter to enable the system bindings
        (meta-! prompt and Control-Z suspension.)
:param enable_search: Filter to enable the search bindings.
:param enable_open_in_editor: Filter to enable open-in-editor.
:param enable_open_in_editor: Filter to enable open-in-editor.
:param enable_extra_page_navigation: Filter for enabling extra page navigation.
    (Bindings for up/down scrolling through long pages, like in Emacs or Vi.)
:param enable_auto_suggest_bindings: Filter to enable fish-style suggestions.

:param enable_vi_mode: Deprecated!
Nc           
          Ub  [        U[        5      (       d   eUb  [        U5      (       d   e[        U5      n[	        UUUUUU	U
S9n[        [        X5      /5      U l        g )N)get_search_stateenable_abort_and_exit_bindingsenable_system_bindingsenable_searchenable_open_in_editorenable_extra_page_navigationenable_auto_suggest_bindings)
isinstancer   callabler   r   r	   r   registry)selfr   enable_vi_mode
enable_allr   r   r   r   r   r   r   defaultss               5lib/third_party/prompt_toolkit/key_binding/manager.py__init__KeyBindingManager.__init__+   sx     :h#A#AAA'84D+E+EEE":.
$.,J$:(#8*F*FH '5(
     c                 ~    UR                  SS5        UR                  SS5        UR                  SS5        U " S0 UD6$ )z
Create a ``KeyBindingManager`` with the defaults for an input prompt.
This activates the key bindings for abort/exit (Ctrl-C/Ctrl-D),
incremental search and auto suggestions.

(Not for full screen applications.)
r   Tr   r    )
setdefault)clskws     r   
for_promptKeyBindingManager.for_promptK   s<     	6=
ot,
4d;yRyr   c                     g Nr!   r   clis     r   resetKeyBindingManager.resetZ   s    r   c                     UR                   $ r(   )vi_stater)   s     r   get_vi_stateKeyBindingManager.get_vi_state^   s    ||r   )r   )
NNTNFFFFFF)__name__
__module____qualname____firstlineno____doc__r   classmethodr%   r+   r/   __static_attributes__r!   r   r   r
   r
      sK    "  $ "&05(-$',.3.3@  r   r
   N)r5   
__future__r   r   r   prompt_toolkit.filtersr   #prompt_toolkit.key_binding.registryr   r   r	   __all__objectr
   r!   r   r   <module>r=      s0    ( ' 0 ] ]
F Fr   