
    Mh$                    P    d dl mZ d dlmZ ddlmZmZ dgZ G d de          ZdS )    )annotations)deque   )	ClipboardClipboardDataInMemoryClipboardc                  4    e Zd ZdZddd
ZddZddZddZdS )r   z
    Default clipboard implementation.
    Just keep the data in memory.

    This implements a kill-ring, for Emacs mode.
    N<   dataClipboardData | Nonemax_sizeintreturnNonec                |    |dk    sJ || _         t                      | _        ||                     |           d S d S )Nr   )r   r   _ringset_data)selfr   r   s      b/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/prompt_toolkit/clipboard/in_memory.py__init__zInMemoryClipboard.__init__   sG    1}}}} +077
MM$     r   c                    | j                             |           t          | j                   | j        k    r8| j                                          t          | j                   | j        k    6d S d S N)r   
appendleftlenr   pop)r   r   s     r   r   zInMemoryClipboard.set_data   sb    
d###$*oo--JNN $*oo------r   c                F    | j         r| j         d         S t                      S )Nr   )r   r   r   s    r   get_datazInMemoryClipboard.get_data#   s"    : 	#:a=  ??"r   c                z    | j         r3| j                             | j                                                    d S d S r   )r   appendpopleftr   s    r   rotatezInMemoryClipboard.rotate)   s@    : 	4Jdj002233333	4 	4r   )Nr
   )r   r   r   r   r   r   )r   r   r   r   )r   r   )r   r   )__name__
__module____qualname____doc__r   r   r   r#    r   r   r   r      ss                     # # # #4 4 4 4 4 4r   N)	
__future__r   collectionsr   baser   r   __all__r   r(   r   r   <module>r-      s    " " " " " "       * * * * * * * * 
 4  4  4  4  4	  4  4  4  4  4r   