
    f                          d Z ddlmZ ddlZddlmZ ddlmZmZ ddl	m
Z
 ddlmZ  G d d	e      Z G d
 de      Z G d de      Zy)z"Terminal input and output prompts.    )TokenN)DisplayHook)fragment_list_widthPygmentsTokens)print_formatted_text)EditingModec                   8    e Zd Zd Zd Zd Zd Zd	dZd Zd Z	y)
Promptsc                     || _         y N)shell)selfr   s     S/var/www/cvtools/html/venv/lib/python3.12/site-packages/IPython/terminal/prompts.py__init__zPrompts.__init__   s	    
    c                    t        | j                  j                  dd       t        j                  k(  r| j                  j
                  rt        | j                  j                  j                  j                  j                        }|j                  d      r|dd j                         }n|j                  d      r|dd }d|z   d	z   S y
)Nediting_modez
InputMode.
      zvi-      [z]  )getattrr   pt_appr   VIprompt_includes_vi_modestrappvi_state
input_mode
startswithlower)r   modes     r   vi_modezPrompts.vi_mode   s    DJJ%%~t<NJJ66tzz((,,55@@AD|,Br{((*'Aayt8D= r   c                     t         j                  | j                         ft         j                  dft         j                  t	        | j
                  j                        ft         j                  dfgS )NzIn []: )r   Promptr%   	PromptNumr   r   execution_countr   s    r   in_prompt_tokenszPrompts.in_prompt_tokens   sQ    \\4<<>+\\6"__c$**"<"<=>\\5!	
 	
r   c                 4    t        | j                               S r   )r   r,   r+   s    r   _widthzPrompts._width%   s    "4#8#8#:;;r   Nc                 ^    || j                         }t        j                  d|dz
  z  dz   fgS )N    z...: r.   r   r(   r   widths     r   continuation_prompt_tokensz"Prompts.continuation_prompt_tokens(   s6    =KKME\\C519-89
 	
r   c                 Z    | j                         }t        j                  d|dz
  z  dz   fgS )N-   z> r2   r3   s     r   rewrite_prompt_tokenszPrompts.rewrite_prompt_tokens/   s1    \\C519-56
 	
r   c                     t         j                  dft         j                  t        | j                  j
                        ft         j                  dfgS )NzOut[r'   )r   	OutPromptOutPromptNumr   r   r*   r+   s    r   out_prompt_tokenszPrompts.out_prompt_tokens5   sA    __f%TZZ%?%?!@A__e$
 	
r   r   )
__name__
__module____qualname__r   r%   r,   r.   r5   r9   r=    r   r   r
   r
      s%    	
<


r   r
   c                   &    e Zd Zd ZddZd Zd Zy)ClassicPromptsc                 (    t         j                  dfgS )Nz>>> r   r(   r+   s    r   r,   zClassicPrompts.in_prompt_tokens=       \\6"
 	
r   Nc                 (    t         j                  dfgS )Nz... rE   r3   s     r   r5   z)ClassicPrompts.continuation_prompt_tokensB   rF   r   c                     g S r   rA   r+   s    r   r9   z$ClassicPrompts.rewrite_prompt_tokensG       	r   c                     g S r   rA   r+   s    r   r=   z ClassicPrompts.out_prompt_tokensJ   rI   r   r   )r>   r?   r@   r,   r5   r9   r=   rA   r   r   rC   rC   <   s    



r   rC   c                   ,     e Zd ZdZd Zdd fdZ xZS )RichPromptDisplayHookz3Subclass of base display hook using coloured promptc                 (   t         j                  j                  | j                  j                         d| _        | j                  r| j                  j                  j                         }dj                  d |D              }|r|j                  d      sd| _        | j                  j                  r@t        t        |      | j                  j                  j                  j                  d       y t         j                  j                  |       y y )NTr   c              3   &   K   | ]	  \  }}|  y wr   rA   ).0tss      r   	<genexpr>z<RichPromptDisplayHook.write_output_prompt.<locals>.<genexpr>W   s      6tq! 6s   
F)styleend)sysstdoutwriter   separate_outprompt_end_newlinedo_full_cachepromptsr=   joinendswithr   r   r   r   rT   )r   tokens
prompt_txts      r   write_output_promptz)RichPromptDisplayHook.write_output_promptO   s    

001 #'ZZ''99;F 6v 66J*"5"5d";*/'zz  $^F%;**++//552 

  , r   c                     | j                   j                  r>| j                   j                  j                         D ]  \  }}||v s |||   d         y  t        |   ||       y r   )r   mime_renderersitemssuperwrite_format_data)r   format_dictmd_dictmimehandler	__class__s        r   rf   z'RichPromptDisplayHook.write_format_datac   sa    ::$$!%!:!:!@!@!B g;&K-t4
 	!+w7r   r   )returnN)r>   r?   r@   __doc__ra   rf   __classcell__)rk   s   @r   rL   rL   M   s    =-(8 8r   rL   )rm   pygments.tokenr   rV   IPython.core.displayhookr   prompt_toolkit.formatted_textr   r   prompt_toolkit.shortcutsr   prompt_toolkit.enumsr   objectr
   rC   rL   rA   r   r   <module>ru      s?    (   
 0 M 9 ,-
f -
^W "8K 8r   