
                             S r SSKJr  SSKJrJr  SSKJr  SSKrSSKJ	r	  Sr
 " S S	\5      r " S
 S\" \\5      5      rg)z'
Clipboard for command line interface.
    )unicode_literals)ABCMetaabstractmethod)with_metaclassN)SelectionType)	ClipboardClipboardDatac                   :    \ rS rSrSrS\R                  4S jrSrg)r	      zk
Text on the clipboard.

:param text: string
:param type: :class:`~prompt_toolkit.selection.SelectionType`
 c                     [        U[        R                  5      (       d   eU[        R                  [        R
                  [        R                  4;   d   eXl        X l        g )N)	
isinstancesixstring_typesr   
CHARACTERSLINESBLOCKtexttype)selfr   r   s      0lib/third_party/prompt_toolkit/clipboard/base.py__init__ClipboardData.__init__   sL    $ 0 0111100-2E2E}GZGZ[[[[		    )r   r   N)	__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes__ r   r   r	   r	      s     ]%=%= r   r	   c                   D    \ rS rSrSr\S 5       rS rS r\S 5       r	Sr
g)	r       z
Abstract baseclass for clipboards.
(An implementation can be in memory, it can share the X11 or Windows
keyboard, or can be persistent.)
c                     g)zM
Set data to the clipboard.

:param data: :class:`~.ClipboardData` instance.
Nr!   )r   datas     r   set_dataClipboard.set_data&       r   c                 z    [        U[        R                  5      (       d   eU R                  [	        U5      5        g)z/
Shortcut for setting plain text on clipboard.
N)r   r   r   r&   r	   )r   r   s     r   set_textClipboard.set_text.   s.     $ 0 01111mD)*r   c                     g)z'
For Emacs mode, rotate the kill ring.
Nr!   r   s    r   rotateClipboard.rotate5   r(   r   c                     g)z
Return clipboard data.
Nr!   r-   s    r   get_dataClipboard.get_data:   r(   r   r!   N)r   r   r   r   r   r   r&   r*   r.   r1   r    r!   r   r   r   r       s9    
  +
  r   r   )r   
__future__r   abcr   r   r   r   prompt_toolkit.selectionr   __all__objectr	   r   r!   r   r   <module>r8      sA    ( '  
 2F w/ r   