
    6                         d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZ ddlmZmZmZmZmZ ddlmZmZmZmZmZ ddlmZ dZ	 	 	 	 	 	 	 dd
Zd Zy	)zs
Default key bindings.::

    registry = load_key_bindings()
    app = Application(key_bindings_registry=registry)
    )unicode_literals)ConditionalRegistryMergedRegistry)load_basic_bindingsload_abort_and_exit_bindingsload_basic_system_bindingsload_auto_suggestion_bindingsload_mouse_bindings)load_emacs_bindingsload_emacs_system_bindingsload_emacs_search_bindings"load_emacs_open_in_editor_bindings)load_extra_emacs_page_navigation_bindings)load_vi_bindingsload_vi_system_bindingsload_vi_search_bindingsload_vi_open_in_editor_bindings&load_extra_vi_page_navigation_bindings)to_cli_filter)load_key_bindingsload_key_bindings_for_promptNc                    | t        |       sJ t        |      }t        |      }t        |      }t        |      }t        |      }t        |      }t        t               t	               t        t               |      t        t               |      t               t        t               |      t        t        |       |      t        t               |      t        t               |      t        |       t        t               |      t        t        |       |      t        t!               |      t        t#               |      t        t%               |      g      }|S )a  
    Create a Registry object that contains the default key bindings.

    :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.
    )get_search_state)callabler   r   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   )r   enable_abort_and_exit_bindingsenable_system_bindingsenable_searchenable_open_in_editorenable_extra_page_navigationenable_auto_suggest_bindingsregistrys           6lib/third_party/prompt_toolkit/key_binding/defaults.pyr   r      sh   . #x0@'AAA &33Q%R"*+AB!-0M)*?@#01M#N #01M#N 8::	< 	682	4 	>@1	3 	6HXY)	+ 	682	4 	EG8	: 	*:;;=1	3 	3EUV)	+ 	352	4 	BD8	: 	9;8	:[/ /Hb O    c                      | j                  dd       | j                  dd       | j                  dd       t        di | S )z
    Create a ``Registry`` object with the defaults key bindings 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     )
setdefaultr   )kws    r"   r   r   i   s>     MM2D9MM/4(MM0$7"r""r#   )NFFFFFF)__doc__
__future__r   #prompt_toolkit.key_binding.registryr   r   )prompt_toolkit.key_binding.bindings.basicr   r   r   r	   r
   )prompt_toolkit.key_binding.bindings.emacsr   r   r   r   r   &prompt_toolkit.key_binding.bindings.vir   r   r   r   r   prompt_toolkit.filtersr   __all__r   r   r%   r#   r"   <module>r0      sc    ( S x  x Q  Q    0 ',$#%*%*Rj#r#   