
    |h
                     Z    d Z ddlmZ ddlZdZddZd Zd Zd Zdd	Z	d
 Z
d Zd Zd Zy)z3Formatting utilities for use in creating help text.    )formatting_windowsNz...c                 Z    | j                  d      }dj                  fd|D              S )N
c              3   6   K   | ]  }|rd z  |z   n|  yw) N ).0linespacess     N/var/www/html/test/engine/venv/lib/python3.12/site-packages/fire/formatting.py	<genexpr>zIndent.<locals>.<genexpr>   s)      
 "cFlTt+s   )splitjoin)textr   liness    ` r   Indentr      s/    
**T
%	  
     c                 2    t        j                  | dg      S )Nboldattrs	termcolorcoloredr   s    r   Boldr      s    			4x	00r   c                 2    t        j                  | dg      S )N	underliner   r   r   s    r   	Underliner   #   s    			4}	55r   c                 *    t        t        |             S )N)r   r   r   s    r   BoldUnderliner!   '   s    	io	r   c                    g }d}t        |       D ]  \  }}|t        |       dz
  k(  }|rBt        |      t        |      z   |k  r||z  }9|j                  |j                                |}[t        |      t        |      z   t        |      z   |k  r	|||z   z  }|j                  |j                                ||z   } |j                  |       |S )zDJoins the items by the separator, wrapping lines at the given width.    )	enumeratelenappendrstrip)items	separatorwidthr   current_lineindexitemis_final_items           r   WrappedJoinr0   +   s    
%,u% (keTSZ!^+M	\	SY	&%	/\((*+	\	SY	&Y	75	@y((\((*+i'( ,,|	,r   c                 4    t        j                  | ddg      S )Nredr   )colorr   r   r   s    r   Errorr4   B   s    			4uVH	==r   c                     |t        t              k  r|}t        |       |k  r| S | d|t        t              z
   t        z   S )z)Truncate text from the end with ellipsis.N)r&   ELLIPSIS)r   available_spaceline_lengths      r   EllipsisTruncater9   F   s@    s8}$!OY/!K	.X.	/(	::r   c                     |t        t              k  r|}t        |       |k  r| S |t        t              z
  }t        |dz        }||z
  }| d| t        z   | | d z   S )z-Truncates text from the middle with ellipsis.   N)r&   r6   int)r   r7   r8   available_string_lenfirst_half_lensecond_half_lens         r   EllipsisMiddleTruncater@   P   so    s8}$!OY K(3x=8+a/0.(>9/	o~		)D/1A1B,C	CCr   c                     d| z  S )Nz"%s"r   r   s    r   DoubleQuoterB   \   s    	$r   )r;   )z | P   )__doc__firer   r   r6   r   r   r   r!   r0   r4   r9   r@   rB   r   r   r   <module>rF      sE    : #  16.>;	Dr   