U
    Íø.eW	  ã                   @  sœ   d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
mZ ddlmZmZmZmZmZmZmZmZ ddd	gZd
dœdd„Zd
dœdd„Zd
dœdd	„ZdS )zq
Key bindings for extra page navigation: bindings for up/down scrolling through
long pages, like in Emacs or Vi.
é    )Úannotations)Úbuffer_has_focusÚ
emacs_modeÚvi_mode)ÚConditionalKeyBindingsÚKeyBindingsÚKeyBindingsBaseÚmerge_key_bindingsé   )Úscroll_backwardÚscroll_forwardÚscroll_half_page_downÚscroll_half_page_upÚscroll_one_line_downÚscroll_one_line_upÚscroll_page_downÚscroll_page_upÚload_page_navigation_bindingsÚ#load_emacs_page_navigation_bindingsÚ load_vi_page_navigation_bindingsr   )Úreturnc                   C  s   t ttƒ tƒ gƒtƒS )zB
    Load both the Vi and Emacs bindings for page navigation.
    )r   r	   r   r   r   © r   r   úW/tmp/pip-unpacked-wheel-_x9ru1vw/prompt_toolkit/key_binding/bindings/page_navigation.pyr   !   s    þÿùc                  C  sH   t ƒ } | j}|dƒtƒ |dƒtƒ |ddƒtƒ |dƒtƒ t| tƒS )úˆ
    Key bindings, for scrolling up and down through pages.
    This are separate bindings, because GNU readline doesn't have them.
    zc-vÚpagedownÚescapeÚvÚpageup)r   Úaddr   r   r   r   ©Zkey_bindingsÚhandler   r   r   r   3   s    c                  C  sv   t ƒ } | j}|dƒtƒ |dƒtƒ |dƒtƒ |dƒtƒ |dƒtƒ |dƒtƒ |dƒtƒ |dƒt	ƒ t
| tƒS )	r   zc-fzc-bzc-dzc-uzc-ezc-yr   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   C   s    N)Ú__doc__Ú
__future__r   Zprompt_toolkit.filtersr   r   r   Z'prompt_toolkit.key_binding.key_bindingsr   r   r   r	   Zscrollr   r   r   r   r   r   r   r   Ú__all__r   r   r   r   r   r   r   Ú<module>   s   (ý