U
    Ôðccy  ã                   @   s4   d dl mZmZ ddlmZ dgZG dd„ dƒZdS )é    )ÚListÚOptionalé   )ÚKeyPressÚ
EmacsStatec                   @   sZ   e Zd ZdZddœdd„Zddœdd„Zeedœdd	„ƒZddœd
d„Z	ddœdd„Z
dS )r   z5
    Mutable class to hold Emacs specific state.
    N)Úreturnc                 C   s   g | _ d | _d S ©N)ÚmacroÚcurrent_recording©Úself© r   ú`/var/www/html/project/venv/lib/python3.8/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.resetc                 C   s
   | j dk	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_macro)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚpropertyÚboolr   r   r   r   r   r   r   r   
   s   N)Útypingr   r   Zkey_processorr   Ú__all__r   r   r   r   r   Ú<module>   s   ÿ