Raxol.Terminal.StateManager (Raxol v2.0.1)
View SourceManages terminal state transitions and state stack operations. This module is responsible for maintaining and manipulating the terminal's state.
This module implements the StateManager behavior for consistent state management patterns across the codebase while maintaining its specific terminal functionality.
Summary
Functions
Clears all saved states. Returns {:ok, updated_emulator}.
Gets the current terminal state. Returns the current state map.
Restores the most recently saved terminal state. Returns {:ok, updated_emulator}.
Saves the current terminal state. Returns {:ok, updated_emulator}.
Updates the current terminal state. Returns {:ok, updated_emulator}.
Functions
@spec clear_states(Raxol.Terminal.Emulator.t()) :: {:ok, Raxol.Terminal.Emulator.t()}
Clears all saved states. Returns {:ok, updated_emulator}.
@spec get_current_state(Raxol.Terminal.Emulator.t()) :: map()
Gets the current terminal state. Returns the current state map.
@spec restore_state(Raxol.Terminal.Emulator.t()) :: {:ok, Raxol.Terminal.Emulator.t()}
Restores the most recently saved terminal state. Returns {:ok, updated_emulator}.
@spec save_state(Raxol.Terminal.Emulator.t()) :: {:ok, Raxol.Terminal.Emulator.t()}
Saves the current terminal state. Returns {:ok, updated_emulator}.
@spec update_current_state(Raxol.Terminal.Emulator.t(), map()) :: {:ok, Raxol.Terminal.Emulator.t()}
Updates the current terminal state. Returns {:ok, updated_emulator}.