o
    þâfX	  ã                   @  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 g d¢Zdd
d„Zddd„Z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_bindingsÚreturnr   c                   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   úf/var/www/html/venv/lib/python3.10/site-packages/prompt_toolkit/key_binding/bindings/page_navigation.pyr   "   s   þÿùr   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   ©Úkey_bindingsÚhandler   r   r   r   4   s   
r   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   D   s   
r   N)r   r   )Ú__doc__Ú
__future__r   Úprompt_toolkit.filtersr   r   r   Ú'prompt_toolkit.key_binding.key_bindingsr   r   r   r	   Úscrollr   r   r   r   r   r   r   r   Ú__all__r   r   r   r   r   r   r   Ú<module>   s    (

