U
    ‰d—  ã                   @  s@   d dl mZ d dlmZmZ ddlmZ dgZG dd„ dƒZdS )é    )Úannotations)ÚListÚOptionalé   )ÚKeyPressÚ
EmacsStatec                   @  sZ   e Zd ZdZddœdd„Zddœdd„Zed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.
    ÚNone)Úreturnc                 C  s   g | _ d | _d S ©N)ÚmacroÚcurrent_recording©Úself© r   úJ/tmp/pip-unpacked-wheel-4x_7prb2/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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_macroN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Úpropertyr   r   r   r   r   r   r   r      s   N)	Ú
__future__r   Útypingr   r   Zkey_processorr   Ú__all__r   r   r   r   r   Ú<module>   s
   ÿ