
    dN                        d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ erd dl	m
Z
 d dlmZ d dlmZ  G d	 d
          ZdS )    )annotations)TYPE_CHECKING)Iterable)Type)	Verbosity)Input)Output)SectionOutputc                     e Zd Zd7dZed8d	            Zed9d
            Zed9d            Zd:d;dZd<d;dZ	e
j        ej        fd=dZde
j        ej        fd>dZe
j        ej        fd=dZde
j        ej        fd>d Zd?d!Zd?d"Zd@d#ZdAd$ZdBdCd'ZdBdDd)ZdAd*ZdAd+ZdEd,ZdAd-ZdAd.ZdAd/ZdFd0ZdGd1ZdHd3ZdId5Z d6S )JIOinputr   outputr	   error_outputreturnNonec                0    || _         || _        || _        d S N)_input_output_error_output)selfr   r   r   s       N/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/cleo/io/io.py__init__zIO.__init__   s    )    c                    | j         S r   r   r   s    r   r   zIO.input   s
    {r   c                    | j         S r   )r   r   s    r   r   z	IO.output   s
    |r   c                    | j         S r   )r   r   s    r   r   zIO.error_output   s    !!r    lengthintdefaultstrc                :    | j                             ||          S )zM
        Reads the given amount of characters from the input stream.
        )r#   )r   readr   r!   r#   s      r   r&   zIO.read"   s     {888r   c                :    | j                             ||          S )z5
        Reads a line from the input stream.
        )r!   r#   )r   	read_liner'   s      r   r*   zIO.read_line(   s     {$$FG$DDDr   messagesstr | Iterable[str]	verbosityr   type
OutputTypec                @    | j                             |||           d S N)r-   r.   )r   
write_liner   r+   r-   r.   s       r   r2   zIO.write_line.   s'     	IDIIIIIr   Fnew_lineboolc                B    | j                             ||||           d S N)r4   r-   r.   )r   writer   r+   r4   r-   r.   s        r   r8   zIO.write6   s*     	8h)RVWWWWWr   c                @    | j                             |||           d S r1   )r   r2   r3   s       r   write_error_linezIO.write_error_line?   s(     	%%h)$%OOOOOr   c                B    | j                             ||||           d S r7   )r   r8   r9   s        r   write_errorzIO.write_errorG   s7     	  x94 	! 	
 	
 	
 	
 	
r   c                    ddl m}  || j                  }|                    d           |                                 |                     |           d S Nr   )Cursor   )cleo.cursorr@   r   move_to_column
clear_liner8   r   r+   r@   cursors       r   	overwritezIO.overwriteR   sc    &&&&&&%%a   

8r   c                    ddl m}  || j                  }|                    d           |                                 |                     |           d S r?   )rB   r@   r   rC   rD   r=   rE   s       r   overwrite_errorzIO.overwrite_errorZ   sf    &&&&&&*++a   """""r   c                8    | j                                          d S r   )r   flushr   s    r   rK   zIO.flushb   s    r   c                4    | j                                         S r   )r   is_interactiver   s    r   rM   zIO.is_interactivee   s    {))+++r   Tinteractivec                :    | j                             |           d S r   )r   rN   )r   rN   s     r   rN   zIO.interactiveh   s    ,,,,,r   	decoratedc                n    | j                             |           | j                            |           d S r   )r   rP   r   )r   rP   s     r   rP   zIO.decoratedk   s5    y)))$$Y/////r   c                4    | j                                         S r   )r   is_decoratedr   s    r   rS   zIO.is_decoratedo   s    |((***r   c                4    | j                                         S r   )r   supports_utf8r   s    r   rU   zIO.supports_utf8r   s    |))+++r   c                n    | j                             |           | j                            |           d S r   )r   set_verbosityr   )r   r-   s     r   rW   zIO.set_verbosityu   s5    ""9---((33333r   c                4    | j                                         S r   )r   
is_verboser   s    r   rY   zIO.is_verbosey   s    {%%'''r   c                4    | j                                         S r   )r   is_very_verboser   s    r   r[   zIO.is_very_verbose|   s    {**,,,r   c                4    | j                                         S r   )r   is_debugr   s    r   r]   zIO.is_debug   s    {##%%%r   c                    || _         d S r   r   r   r   s     r   	set_inputzIO.set_input   s    r   c                D    |                      || j        | j                  S r   )	__class__r   r   r_   s     r   
with_inputzIO.with_input   s    ~~eT\43EFFFr   textc                6    | j                             |          S r   )r   remove_format)r   rd   s     r   rf   zIO.remove_format   s    |))$///r   r
   c                4    | j                                         S r   )r   sectionr   s    r   rh   z
IO.section   s    |##%%%r   N)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.   r/   r   r   )
r+   r,   r4   r5   r-   r   r.   r/   r   r   )r+   r,   r   r   )r   r   )r   r5   )T)rN   r5   r   r   )rP   r5   r   r   )r-   r   r   r   )r   r   r   r   )r   r   r   r   )rd   r$   r   r$   )r   r
   )!__name__
__module____qualname__r   propertyr   r   r   r&   r*   r   NORMALr/   r2   r8   r;   r=   rG   rI   rK   rM   rN   rP   rS   rU   rW   rY   r[   r]   r`   rc   rf   rh    r   r   r   r      s       * * * *
    X    X " " " X"9 9 9 9 9E E E E E  )/%,	J J J J J (/%,X X X X X  )/%,	P P P P P (/%,	
 	
 	
 	
 	
   # # # #   , , , ,- - - - -0 0 0 0 0+ + + +, , , ,4 4 4 4( ( ( (- - - -& & & &   G G G G0 0 0 0& & & & & &r   r   N)
__future__r   typingr   r   cleo.io.outputs.outputr   r/   r   cleo.io.inputs.inputr   r	   cleo.io.outputs.section_outputr
   r   rn   r   r   <module>rt      s    " " " " " "                   5 5 5 5 5 5 , , , , , ,  =******------<<<<<<|& |& |& |& |& |& |& |& |& |&r   