o
    it                     @  s0   d dl mZ ddlmZ dgZG dd dZdS )    )annotations   )KeyPress
EmacsStatec                   @  sF   e Zd ZdZdddZdddZedd	d
ZdddZdddZ	dS )r   z5
    Mutable class to hold Emacs specific state.
    returnNonec                 C  s   g | _ d | _d S N)macrocurrent_recordingself r   c/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/prompt_toolkit/key_binding/emacs_state.py__init__   s   
zEmacsState.__init__c                 C  s
   d | _ d S r   r
   r   r   r   r   reset   s   
zEmacsState.resetboolc                 C  s
   | j duS )z&Tell whether we are recording a macro.Nr   r   r   r   r   is_recording   s   
zEmacsState.is_recordingc                 C  s
   g | _ dS )zStart recording macro.Nr   r   r   r   r   start_macro   s   
zEmacsState.start_macroc                 C  s   | j | _d| _ dS )zEnd recording macro.N)r
   r	   r   r   r   r   	end_macro!   s   
zEmacsState.end_macroN)r   r   )r   r   )
__name__
__module____qualname____doc__r   r   propertyr   r   r   r   r   r   r   r   
   s    


N)
__future__r   key_processorr   __all__r   r   r   r   r   <module>   s
    