ó
±xYc           @  sr   d  Z  d d l m Z d d l m Z d d l m Z d d l m Z m	 Z	 m
 Z
 d Z d e f d	 „  ƒ  YZ d
 S(   uÃ  
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)
iÿÿÿÿ(   t   unicode_literalsi   (   t   load_key_bindings(   t   to_cli_filter(   t   Registryt   ConditionalRegistryt   MergedRegistryu   KeyBindingManagert   KeyBindingManagerc           B  sV   e  Z d  Z d d e d e e e e e e d „
 Z e d „  ƒ Z d „  Z	 d „  Z
 RS(   u"  
    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!
    c         C  s   | d  k s! t | t ƒ s! t ‚ | d  k s? t | ƒ s? t ‚ t | ƒ } t d | d | d | d | d | d |	 d |
 ƒ } t t | | ƒ g ƒ |  _	 d  S(   Nt   get_search_statet   enable_abort_and_exit_bindingst   enable_system_bindingst   enable_searcht   enable_open_in_editort   enable_extra_page_navigationt   enable_auto_suggest_bindings(
   t   Nonet
   isinstanceR   t   AssertionErrort   callableR   R   R   R   t   registry(   t   selfR   t   enable_vi_modet
   enable_allR   R   R	   R
   R   R   R   t   defaults(    (    sA   lib/python2.7/site-packages/prompt_toolkit/key_binding/manager.pyt   __init__+   s    !	c         K  s:   | j  d t ƒ | j  d t ƒ | j  d t ƒ |  |   S(   uý   
        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.)
        u   enable_abort_and_exit_bindingsu   enable_searchu   enable_auto_suggest_bindings(   t
   setdefaultt   True(   t   clst   kw(    (    sA   lib/python2.7/site-packages/prompt_toolkit/key_binding/manager.pyt
   for_promptK   s    	c         C  s   d  S(   N(    (   R   t   cli(    (    sA   lib/python2.7/site-packages/prompt_toolkit/key_binding/manager.pyt   resetZ   s    c         C  s   | j  S(   N(   t   vi_state(   R   R   (    (    sA   lib/python2.7/site-packages/prompt_toolkit/key_binding/manager.pyt   get_vi_state^   s    N(   t   __name__t
   __module__t   __doc__R   R   t   FalseR   t   classmethodR   R   R    (    (    (    sA   lib/python2.7/site-packages/prompt_toolkit/key_binding/manager.pyR      s   	N(   u   KeyBindingManager(   R#   t
   __future__R    R   R   t   prompt_toolkit.filtersR   t#   prompt_toolkit.key_binding.registryR   R   R   t   __all__t   objectR   (    (    (    sA   lib/python2.7/site-packages/prompt_toolkit/key_binding/manager.pyt   <module>   s   