
    ^h$                    H    S SK Jr  S SKJr  SSKJrJr  S/r " S S\5      rg)    )annotations)deque   )	ClipboardClipboardDataInMemoryClipboardc                  D    \ rS rSrSrS	S
S jjrSS jrSS jrSS jrSr	g)r      zo
Default clipboard implementation.
Just keep the data in memory.

This implements a kill-ring, for Emacs mode.
Nc                h    US:  d   eX l         [        5       U l        Ub  U R                  U5        g g )Nr   )max_sizer   _ringset_data)selfdatar   s      \/home/james-whalen/.local/lib/python3.13/site-packages/prompt_toolkit/clipboard/in_memory.py__init__InMemoryClipboard.__init__   s3    1}} +07
MM$     c                    U R                   R                  U5        [        U R                   5      U R                  :  a@  U R                   R	                  5         [        U R                   5      U R                  :  a  M?  g g N)r   
appendleftlenr   pop)r   r   s     r   r   InMemoryClipboard.set_data   sL    

d#$**o-JJNN $**o-r   c                V    U R                   (       a  U R                   S   $ [        5       $ )Nr   )r   r   r   s    r   get_dataInMemoryClipboard.get_data#   s    ::::a=  ?"r   c                    U R                   (       a4  U R                   R                  U R                   R                  5       5        g g r   )r   appendpopleftr   s    r   rotateInMemoryClipboard.rotate)   s-    ::JJdjj0023 r   )r   r   )N<   )r   zClipboardData | Noner   intreturnNone)r   r   r&   r'   )r&   r   )r&   r'   )
__name__
__module____qualname____firstlineno____doc__r   r   r   r"   __static_attributes__ r   r   r   r      s     #4r   N)	
__future__r   collectionsr   baser   r   __all__r   r.   r   r   <module>r3      s&    "  * 
 4	  4r   