
    ^h              	           S SK r S SKrS SKJr  S rS\S\4S jr SS\S\S	\\\4   S\4S
 jjr	SS\S\S\S\4S jjr
SS\S\S\4S jjrg)    N)Unionc                 4    U S:  a  SU S-
  -  S-   $ U S:X  a  gg)z<generate the leading arrow in front of traceback or debugger   -z>    >  )pads    K/home/james-whalen/.local/lib/python3.13/site-packages/chatdbg/util/text.py
make_arrowr      s)    
axcAg%%	    sreturnc                 R    [         R                  " S5      nUR                  SU 5      $ )Nz%\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])r	   )recompilesub)r   ansi_escapes     r   
strip_ansir      s"    **EFK??2q!!r   textmaxlentop_proportionc                     [        U 5      U:  aG  [        S[        US-
  U-  5      5      n[        SUS-
  U-
  5      nU SU S-   U [        U 5      U-
  S -   $ U $ )zCOmit part of a string if needed to make it fit in a maximum length.r      Nz[...])lenmaxint)r   r   r   preposts        r   truncate_proportionallyr!      sk     4y6!S&1*6781fqj3&'DSzG#d3t9t+;+=&>>>Kr   widthsubsequent_indentc           	          / nU R                  S5       HI  n[        U5      U:  a&  UR                  [        R                  " XAUS95        M8  UR                  U5        MK     SR                  U5      $ )N
)r#   )splitr   extendtextwrapwrapappendjoin)r   r"   r#   wrapped_lineslines        r   wrap_long_linesr.      sd    M

4 t9u  d=NO   & ! 99]##r   c                     SR                  U R                  S5       Vs/ s H  o"R                  U5      PM     sn5      $ s  snf )Nr%   )r+   r&   ljust)r   r"   r-   s      r   fill_to_widthr1   +   s5    99DJJt4DE4DDjj'4DEFFEs   A )i }  g      ?)P   z    )r2   )r   r(   typingr   r   strr   r   floatr!   r.   r1   r
   r   r   <module>r6      s    	  "# "# " IL
49%*4E	$# 	$c 	$3 	$TW 	$G GC G Gr   