
    jj              
         d dl mZ d dlZd dlZd dlmZ ej                  rd dlmZ d dlm	Z	  G d de
ej                        Zej                  Zej                  Zej                   Zej$                  Zej(                  Zej,                  Zej0                  Zej4                  Zej8                  Zej<                  Z G d d	ee
ej>                  e
edf   f         Z  e        Z!y)
    )annotationsN)MutableMapping)Iterator)Selfc                  @    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZy)Commandzredraw screenz	cursor upzcursor downzcursor leftzcursor rightzcursor page upzcursor page downzcursor max leftzcursor max rightactivatemenuznext selectablezprev selectableN)__name__
__module____qualname__REDRAW_SCREENUPDOWNLEFTRIGHTPAGE_UP	PAGE_DOWNMAX_LEFT	MAX_RIGHTACTIVATEMENUSELECT_NEXTSELECT_PREVIOUS     Z/home/ubuntu/.cache/pipx/cdb5059130eadca/lib/python3.12/site-packages/urwid/command_map.pyr   r       sC    #M	BDDEG"I H"IHD#K'Or   r   c                     e Zd ZU dZddZddZi dej                  dej                  dej                  dej                  dej                  d	ej                  d
ej                  dej                  dej                  dej                  dej                  dej                   dej"                  dej$                  dej&                  dej&                  Zded<   d dZd dZd!dZd"dZd#dZd"dZd$dZy)%
CommandMapa  
    dict-like object for looking up commands from keystrokes

    Default values (key: command)::

        'tab':       'next selectable',
        'ctrl n':    'next selectable',
        'shift tab': 'prev selectable',
        'ctrl p':    'prev selectable',
        'ctrl l':    'redraw screen',
        'esc':       'menu',
        'up':        'cursor up',
        'down':      'cursor down',
        'left':      'cursor left',
        'right':     'cursor right',
        'page up':   'cursor page up',
        'page down': 'cursor page down',
        'home':      'cursor max left',
        'end':       'cursor max right',
        ' ':         'activate',
        'enter':     'activate',
    c                ,    t        | j                        S N)iter_commandselfs    r   __iter__zCommandMap.__iter__T   s    DMM""r   c                ,    t        | j                        S r!   )lenr#   r$   s    r   __len__zCommandMap.__len__W   s    4==!!r   tabzctrl nz	shift tabzctrl pzctrl lescupdownleftrightzpage upz	page downhomeend enterz)typing.ClassVar[dict[str, str | Command]]_command_defaultsc                B    | j                   j                         | _        y r!   r4   copyr#   r$   s    r   __init__zCommandMap.__init__m       ..335r   c                B    | j                   j                         | _        y r!   r6   r$   s    r   restore_defaultszCommandMap.restore_defaultsp   r9   r   c                :    | j                   j                  |d       S r!   )r#   getr%   keys     r   __getitem__zCommandMap.__getitem__s   s    }}  d++r   c                "    || j                   |<   y r!   r#   )r%   r?   commands      r   __setitem__zCommandMap.__setitem__v   s    $cr   c                    | j                   |= y r!   rB   r>   s     r   __delitem__zCommandMap.__delitem__y   s    MM#r   c                    | j                   j                         D cg c]  \  }}||k(  s| }}}|D ]  }| j                   |=  y c c}}w r!   )r#   items)r%   rC   kvdks        r   clear_commandzCommandMap.clear_command|   sM     MM//1BDAqQ'\aBB 	!Aa 	! Cs
   AAc                Z    | j                         }t        | j                        |_        |S )zv
        Return a new copy of this CommandMap, likely so we can modify
        it separate from a shared one.
        )	__class__dictr#   )r%   cs     r   r7   zCommandMap.copy   s%    
 NN$--(
r   N)returnzIterator[str])rQ   int)rQ   None)r?   strrQ   zstr | Command | None)rC   zstr | CommandrQ   rS   )r?   rT   rQ   rS   )rQ   r   )r   r   r   __doc__r&   r)   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r4   __annotations__r8   r;   r@   rD   rF   rL   r7   r   r   r   r   r   <   se   .#"Dw""D'%%D 	W,,D 	'))	D
 	'''D 	w||D 	gjjD 	D 	D 	D 	7??D 	W&&D 	  D 	w  D 	WD  	!!!D@ &66,%!
r   r   )"
__future__r   enumtypingcollections.abcr   TYPE_CHECKINGr   typing_extensionsr   rT   Enumr   r   r   	CURSOR_UPr   CURSOR_DOWNr   CURSOR_LEFTr   CURSOR_RIGHTr   CURSOR_PAGE_UPr   CURSOR_PAGE_DOWNr   CURSOR_MAX_LEFTr   CURSOR_MAX_RIGHTr   Unionr   command_mapr   r   r   <module>rh      s   ( #   *	(&(c499 (  %%JJ	llll}}$$ ""$$ LV\\#w2D%E EF L^ lr   