
    ^h                          S r SSKJr  SSKrSSKJr  SSKJrJr  SSK	J
r
  SSKJr   " S S	\5      r " S
 S\5      r " S S\5      rg)z"Terminal input and output prompts.    )TokenN)DisplayHook)fragment_list_widthPygmentsTokens)print_formatted_text)EditingModec                   B    \ rS rSrS rS rS rS rSS jrS r	S	 r
S
rg)Prompts   c                     Xl         g Nshell)selfr   s     R/home/james-whalen/.local/lib/python3.13/site-packages/IPython/terminal/prompts.py__init__Prompts.__init__   s    
    c                    [        U R                  R                  SS 5      [        R                  :X  a  U R                  R
                  (       a  [        U R                  R                  R                  R                  R                  5      nUR                  S5      (       a  USS R                  5       nOUR                  S5      (       a  USS nSU-   S	-   $ g
)Nediting_modez
InputMode.
   r   zvi-      [z]  )getattrr   pt_appr   VIprompt_includes_vi_modestrappvi_state
input_mode
startswithlower)r   modes     r   vi_modePrompts.vi_mode   s    DJJ%%~t<NJJ66tzz((,,55@@AD|,,Br{((*''Aayt8D= r   c                     [         R                  U R                  5       4[         R                  S4[         R                  [	        U R
                  R                  5      4[         R                  S4/$ )NzIn []: )r   Promptr'   	PromptNumr    r   execution_countr   s    r   in_prompt_tokensPrompts.in_prompt_tokens   sQ    \\4<<>+\\6"__c$**"<"<=>\\5!	
 	
r   c                 4    [        U R                  5       5      $ r   )r   r/   r.   s    r   _widthPrompts._width%   s    "4#8#8#:;;r   Nc                 `    Uc  U R                  5       n[        R                  SUS-
  -  S-   4/$ )N    z...: r2   r   r+   r   widths     r   continuation_prompt_tokens"Prompts.continuation_prompt_tokens(   s6    =KKME\\C519-89
 	
r   c                 Z    U R                  5       n[        R                  SUS-
  -  S-   4/$ )N-   z> r7   r8   s     r   rewrite_prompt_tokensPrompts.rewrite_prompt_tokens/   s1    \\C519-56
 	
r   c                     [         R                  S4[         R                  [        U R                  R
                  5      4[         R                  S4/$ )NzOut[r*   )r   	OutPromptOutPromptNumr    r   r-   r.   s    r   out_prompt_tokensPrompts.out_prompt_tokens5   sA    __f%TZZ%?%?!@A__e$
 	
r   r   r   )__name__
__module____qualname____firstlineno__r   r'   r/   r2   r:   r?   rD   __static_attributes__ r   r   r
   r
      s%    	
<


r   r
   c                   0    \ rS rSrS rSS jrS rS rSrg)	ClassicPrompts<   c                 (    [         R                  S4/$ )Nz>>> r   r+   r.   s    r   r/   ClassicPrompts.in_prompt_tokens=       \\6"
 	
r   Nc                 (    [         R                  S4/$ )Nz... rP   r8   s     r   r:   )ClassicPrompts.continuation_prompt_tokensB   rR   r   c                     / $ r   rK   r.   s    r   r?   $ClassicPrompts.rewrite_prompt_tokensG       	r   c                     / $ r   rK   r.   s    r   rD    ClassicPrompts.out_prompt_tokensJ   rW   r   rK   r   )	rF   rG   rH   rI   r/   r:   r?   rD   rJ   rK   r   r   rM   rM   <   s    



r   rM   c                   :   ^  \ rS rSrSrS rSSU 4S jjjrSrU =r$ )RichPromptDisplayHookM   z3Subclass of base display hook using coloured promptc                 J   [         R                  R                  U R                  R                  5        SU l        U R                  (       a  U R                  R                  R                  5       nSR                  S U 5       5      nU(       a  UR                  S5      (       d  SU l        U R                  R                  (       a=  [        [        U5      U R                  R                  R                  R                  SS9  g [         R                  R                  U5        g g )NTr   c              3   *   #    U  H	  u  pUv   M     g 7fr   rK   ).0tss      r   	<genexpr><RichPromptDisplayHook.write_output_prompt.<locals>.<genexpr>W   s      6vtqvs   
F)styleend)sysstdoutwriter   separate_outprompt_end_newlinedo_full_cachepromptsrD   joinendswithr   r   r   r!   re   )r   tokens
prompt_txts      r   write_output_prompt)RichPromptDisplayHook.write_output_promptO   s    

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

  , r   c                    > U R                   R                  (       a?  U R                   R                  R                  5        H  u  p4X1;   d  M  U" X   S 5          g    [        TU ]  X5        g r   )r   mime_renderersitemssuperwrite_format_data)r   format_dictmd_dictmimehandler	__class__s        r   rx   'RichPromptDisplayHook.write_format_datac   sU    ::$$!%!:!:!@!@!B&K-t4 "C
 	!+7r   )rk   r   )returnN)	rF   rG   rH   rI   __doc__rr   rx   rJ   __classcell__)r}   s   @r   r[   r[   M   s    =-(8 8r   r[   )r   pygments.tokenr   rg   IPython.core.displayhookr   prompt_toolkit.formatted_textr   r   prompt_toolkit.shortcutsr   prompt_toolkit.enumsr   objectr
   rM   r[   rK   r   r   <module>r      s?    (   
 0 M 9 ,-
f -
^W "8K 8r   