
    ^h
                       S SK Jr  S SKr\R                  S:X  d   eS SKJrJr  S SKJrJ	r	  S SK
JrJr  S SKJr  S SKJr  S	S
KJr  S	SKJr  S	SKJr  S	SKJr  S/rS	rSr " S S5      r\R:                  " \5        SS jrg)    )annotationsNwin32)byrefwindll)DWORDHANDLE)AnyTextIOSize)STD_OUTPUT_HANDLE   )Output)
ColorDepth)Vt100_Output)Win32OutputWindows10_Output   c                  d    \ rS rSrSr S
     SS jjrSS jr\SS j5       rSS jr	SS jr
S	rg)r      zN
Windows 10 output abstraction. This enables and uses vt100 escape sequences.
Nc                    X l         [        XS9U l        [        US US9U l        [        [        R                  R                  [        5      5      U l
        g )N)default_color_depthc                     [        SS5      $ )Nr   r        Y/home/james-whalen/.local/lib/python3.13/site-packages/prompt_toolkit/output/windows10.py<lambda>+Windows10_Output.__init__.<locals>.<lambda>'   s
    DAJr   )r   r   win32_outputr   vt100_outputr   r   kernel32GetStdHandler   	_hconsole)selfstdoutr   s      r   __init__Windows10_Output.__init__!   sK     $7 'X(&<O
   < <=N OPr   c                   [        S5      n[        R                  R                  U R                  [        U5      5        [        R                  R                  U R                  [        [        [        -  5      5         U R                  R                  5         [        R                  R                  U R                  U5        g! [        R                  R                  U R                  U5        f = f)z#
Write to output stream and flush.
r   N)r   r   r!   GetConsoleModer#   r   SetConsoleModeENABLE_PROCESSED_INPUT"ENABLE_VIRTUAL_TERMINAL_PROCESSINGr    flush)r$   original_modes     r   r-   Windows10_Output.flush+   s     a 	&&t~~u]7KL 	&&NN(+MMN	

	J##% OO**4>>=IFOO**4>>=Is   >C ,C/c                    g)NFr   r$   s    r   responds_to_cpr Windows10_Output.responds_to_cpr@   s    r   c                f    US;   a  [        U R                  U5      $ [        U R                  U5      $ )N)get_sizeget_rows_below_cursor_positionscroll_buffer_to_promptget_win32_screen_buffer_info)getattrr   r    )r$   names     r   __getattr__Windows10_Output.__getattr__D   s9      	
 	
 4,,d334,,d33r   c                T    U R                   b  U R                   $ [        R                  $ )z
Return the default color depth for a windows terminal.

Contrary to the Vt100 implementation, this doesn't depend on a $TERM
variable.
)r   r   
TRUE_COLORr1   s    r   get_default_color_depth(Windows10_Output.get_default_color_depthX   s*     ##/+++ $$$r   )r#   r   r    r   )N)r%   r
   r   zColorDepth | NonereturnNone)rA   rB   rA   bool)r:   strrA   r	   )rA   r   )__name__
__module____qualname____firstlineno____doc__r&   r-   propertyr2   r;   r?   __static_attributes__r   r   r   r   r      sS    
 HLQQ3DQ	QJ*  4(%r   c                    [         R                  S:w  a  g[        [        R                  R                  [        5      5      n [        S5      n[        R                  R                  U [        U5      5         [        R                  R                  U [        [        [        -  5      5      nUS:H  [        R                  R                  X5        $ ! [        R                  R                  X5        f = f)zS
Returns True when we're running Windows and VT100 escape sequences are
supported.
r   Fr   r   )sysplatformr   r   r!   r"   r   r   r)   r   r*   r+   r,   )hconsoler.   results      r   is_win_vt100_enabledrR   o   s    
 ||wfoo223DEFH !HM
OO""8U=-AB@oo44e25WWX
 {&&x?&&x?s   78C !C0rC   )
__future__r   rN   rO   ctypesr   r   ctypes.wintypesr   r   typingr	   r
   prompt_toolkit.data_structuresr   prompt_toolkit.win32_typesr   baser   color_depthr   vt100r   r   r   __all__r+   r,   r   registerrR   r   r   r   <module>r^      st    " 

||w    )  / 8  #   
   %+ "M% M%`   !@r   