
    5 f                         d Z ddlmZ ddlmZ ddlmZ erddlmZm	Z	m
Z
mZmZmZmZ g dZddgZ G d	 d
e          ZdS )z%Text formatting drivers for ureports.    )annotations)TYPE_CHECKING)
BaseWriter)EvaluationSection	ParagraphSectionTableTextTitleVerbatimText) =-`.~^*r   c                  d     e Zd ZdZd fdZddZdd	ZddZddZddZ	ddZ
d dZd!dZ xZS )"
TextWriterzWFormat layouts as text
    (ReStructured inspiration but not totally handled yet).
    returnNonec                V    t                                                       d| _        d S )Nr   )super__init__
list_level)self	__class__s    [/var/www/equiseq/venv/lib/python3.11/site-packages/pylint/reporters/ureports/text_writer.pyr   zTextWriter.__init__!   s$        layoutr   c                    | xj         dz  c_         |                                  |                     |           | xj         dz  c_         |                                  dS )zDisplay a section as text.   N)sectionwritelnformat_childrenr   r!   s     r   visit_sectionzTextWriter.visit_section%   sT    V$$$r    r   c                    | xj         dz  c_         |                     |           | xj         dz  c_         |                                  dS )z(Display an evaluation section as a text.r#   N)r$   r&   r%   r'   s     r   visit_evaluationsectionz"TextWriter.visit_evaluationsection-   sG    V$$$r    r   c                F   d                     t          |                     |                              }|                     |           	 |                     t          | j                 t          |          z             d S # t          $ r t          d           Y d S w xY w)Nr   z-FIXME TITLE TOO DEEP. TURNING TITLE INTO TEXT)	joinlistcompute_contentr%   TITLE_UNDERLINESr$   len
IndexErrorprint)r   r!   titles      r   visit_titlezTextWriter.visit_title4   s    T11&99::;;U	CLL)$,7#e**DEEEEE 	C 	C 	CABBBBBB	Cs   5B B B r   c                X    |                      |           |                                  dS )zEnter a paragraph.N)r&   r%   r'   s     r   visit_paragraphzTextWriter.visit_paragraph<   s'    V$$$r    r	   c                8   |                      |          }dgt          |d                   z  }|D ]=}t          |          D ]+\  }}t          ||         t          |                    ||<   ,>|                     |||           |                                  dS )zDisplay a table as text.r   N)get_table_contentr0   	enumeratemaxdefault_tabler%   )r   r!   table_content
cols_widthrowindexcols          r   visit_tablezTextWriter.visit_tableA   s    ..v66S3}Q/000
  	E 	EC'nn E E
s$'
5(93s88$D$D
5!!E6=*===r    r<   list[list[str]]r=   	list[int]c                   d |D             }d                     dgt          |          z            }|t          |          z  }dd                     d |D                       z   dz   }dd                     d |D                       z   dz   }|                     |           |                    d          }t          |          D ]\  }}	|                     d	           t          |	          D ]8\  }
}|                     ||
         |z             |                     d	           9|d
k    r|j        r|                     |           |                     |           dS )zFormat a table.c                    g | ]}|d z   S )r#    ).0sizes     r   
<listcomp>z,TextWriter.default_table.<locals>.<listcomp>P   s    6664dQh666r     z%%-%ssz
++c              3      K   | ]	}d |z  V  
dS )r   NrF   rG   ws     r   	<genexpr>z+TextWriter.default_table.<locals>.<genexpr>T   s&      (E(EQq(E(E(E(E(E(Er    z+
c              3      K   | ]	}d |z  V  
dS )r   NrF   rM   s     r   rO   z+TextWriter.default_table.<locals>.<genexpr>U   s&      "?"?q37"?"?"?"?"?"?r    |r   N)r,   r0   tuplewritesplitr9   rheaders)r   r!   r<   r=   format_stringstable_linesepheadsepsplit_stringsr?   line
line_indexat_indexs               r   r;   zTextWriter.default_tableL   st    76:666
8*s:">??%
+++(E(E*(E(E(E E EEM#(("?"?J"?"?"????%G

=!!!&,,S11$]33 	* 	*KE4JJsOOO(1$    $
H

=4x?@@@

3zzfoz

7####

=))))	* 	*r    r   c                    |                      d           |j                                        D ]}|                      d|z              |                                   dS )z3Display a verbatim layout as text (so difficult ;).z::
z    N)r%   data
splitlines)r   r!   rZ   s      r   visit_verbatimtextzTextWriter.visit_verbatimtextc   s[    VK**,, 	( 	(DLL$''''r    r
   c                <    |                      |j                    dS )zAdd some text.N)rS   r^   r'   s     r   
visit_textzTextWriter.visit_textj   s    

fk#$$$$$r    )r   r   )r!   r   r   r   )r!   r   r   r   )r!   r   r   r   )r!   r   r   r   )r!   r	   r   r   )r!   r	   r<   rB   r=   rC   r   r   )r!   r   r   r   )r!   r
   r   r   )__name__
__module____qualname____doc__r   r(   r*   r4   r6   rA   r;   r`   rb   __classcell__)r   s   @r   r   r      s                    C C C C   
	 	 	 	* * * *.   % % % % % % % %r    r   N)rf   
__future__r   typingr   %pylint.reporters.ureports.base_writerr   pylint.reporters.ureports.nodesr   r   r   r	   r
   r   r   r/   BULLETSr   rF   r    r   <module>rm      s   
 , + " " " " " "             < < < < < < 	                  655 *P% P% P% P% P% P% P% P% P% P%r    