
    ړi                        d dl mZ d dlmZmZ d dlmZ d dlmZ erddl	m
Z
 g dZ G d d	e
      Z G d de      Z G d de      Zy)    )annotations)ABCMetaabstractmethod)TYPE_CHECKING)AnyFormattedText   )PythonInput)PromptStyleIPythonPromptClassicPromptc                  F    e Zd ZdZedd       Zedd       Zedd       Zy)r
   z%
    Base class for all prompts.
    c                    g S )zReturn the input tokens. selfs    </tmp/pip-target-20744g9h/lib/python/ptpython/prompt_style.py	in_promptzPromptStyle.in_prompt   	     	    c                    g S )z
        Tokens for every following input line.

        :param width: The available width. This is coming from the width taken
                      by `in_prompt`.
        r   r   widths     r   
in2_promptzPromptStyle.in2_prompt   s	     	r   c                    g S )zReturn the output tokens.r   r   s    r   
out_promptzPromptStyle.out_prompt"   r   r   Nreturnr   r   intr   r   )__name__
__module____qualname____doc__r   r   r   r   r   r   r   r
   r
      sC          r   r
   )	metaclassc                  0    e Zd ZdZddZddZd	dZddZy)
r   z1
    A prompt resembling the IPython prompt.
    c                    || _         y N)python_input)r   r(   s     r   __init__zIPythonPrompt.__init__-   s
    (r   c                :    dd| j                   j                   fdgS )N)class:inzIn [zclass:in.number)r+   z]: r(   current_statement_indexr   s    r   r   zIPythonPrompt.in_prompt0   s)     4#4#4#L#L"MO
 	
r   c                *    ddj                  |      fgS )Nr+   z...: )rjustr   s     r   r   zIPythonPrompt.in2_prompt7   s    W]]51233r   c                <    dd| j                   j                   fddgS )N)	class:outzOut[zclass:out.number)r1   z]:)  r,   r   s    r   r   zIPythonPrompt.out_prompt:   s,    !D$5$5$M$M#NP	
 	
r   N)r(   r	   r   Noner   r   )r    r!   r"   r#   r)   r   r   r   r   r   r   r   r   (   s    )
4
r   r   c                  (    e Zd ZdZddZddZddZy)r   z$
    The classic Python prompt.
    c                    dgS )N)zclass:promptz>>> r   r   s    r   r   zClassicPrompt.in_promptH   s    ())r   c                    dgS )N)zclass:prompt.dotsz...r   r   s     r   r   zClassicPrompt.in2_promptK   s    ,--r   c                    g S r'   r   r   s    r   r   zClassicPrompt.out_promptN   s    	r   Nr   r   )r    r!   r"   r#   r   r   r   r   r   r   r   r   C   s    *.r   r   N)
__future__r   abcr   r   typingr   prompt_toolkit.formatted_textr   r(   r	   __all__r
   r   r   r   r   r   <module>r>      s@    " '   :)
;G 4
K 
6K r   