
    i
                     ^    S r SSKJr  SSKrSrSS jrS rS rS rSS	 jr	S
 r
S rS rS rg)z3Formatting utilities for use in creating help text.    )formatting_windowsNz...c                 \   ^ U R                  S5      nSR                  U4S jU 5       5      $ )N
c              3   F   >#    U  H  nU(       a  S T-  U-   OUv   M     g7f) N ).0linespacess     O/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/fire/formatting.py	<genexpr>Indent.<locals>.<genexpr>   s(      $ "cFlTt+s   !)splitjoin)textr   liness    ` r   Indentr      s/    
**T
%	  
     c                 .    [         R                  " U S/S9$ )Nboldattrs	termcolorcoloredr   s    r   Boldr      s    			4x	00r   c                 .    [         R                  " U S/S9$ )N	underliner   r   r   s    r   	Underliner    #   s    			4}	55r   c                 *    [        [        U 5      5      $ )N)r   r    r   s    r   BoldUnderliner"   '   s    	io	r   c                    / nSn[        U 5       H  u  pVU[        U 5      S-
  :H  nU(       aD  [        U5      [        U5      -   U::  a  XF-  nM>  UR                  UR                  5       5        UnMa  [        U5      [        U5      -   [        U5      -   U::  a	  XFU-   -  nM  UR                  UR                  5       5        Xa-   nM     UR                  U5        U$ )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   WrappedJoinr1   +   s    
%,u%keSZ!^+M	\	SY	&%	/\((*+	\	SY	&Y	75	@y((\((*+' & ,,|	,r   c                 0    [         R                  " U SS/S9$ )Nredr   )colorr   r   r   s    r   Errorr5   B   s    			4uVH	==r   c                     U[        [        5      :  a  Un[        U 5      U::  a  U $ U SU[        [        5      -
   [        -   $ )z)Truncate text from the end with ellipsis.N)r'   ELLIPSIS)r   available_spaceline_lengths      r   EllipsisTruncater:   F   s@    s8}$!OY/!K	.X.	/(	::r   c                     U[        [        5      :  a  Un[        U 5      U:  a  U $ U[        [        5      -
  n[        US-  5      nX4-
  nU SU [        -   X* S -   $ )z-Truncates text from the middle with ellipsis.   N)r'   r7   int)r   r8   r9   available_string_lenfirst_half_lensecond_half_lens         r   EllipsisMiddleTruncaterA   P   sk    s8}$!OY K(3x=8+a/0.(9/	o~		)D1A1B,C	CCr   c                     SU -  $ )Nz"%s"r   r   s    r   DoubleQuoterC   \   s    	$r   )r<   )z | P   )__doc__firer   r   r7   r   r   r    r"   r1   r5   r:   rA   rC   r   r   r   <module>rG      sE    : #  16.>;	Dr   