Raxol.Terminal.StateManager (Raxol v2.0.1)

View Source

Manages 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

clear(state)

See Raxol.Core.StateManager.clear/1.

clear_states(emulator)

@spec clear_states(Raxol.Terminal.Emulator.t()) :: {:ok, Raxol.Terminal.Emulator.t()}

Clears all saved states. Returns {:ok, updated_emulator}.

delete(state, key)

See Raxol.Core.StateManager.delete/2.

get(state, key)

See Raxol.Core.StateManager.get/2.

get(state, key, default)

See Raxol.Core.StateManager.get/3.

get_current_state(emulator)

@spec get_current_state(Raxol.Terminal.Emulator.t()) :: map()

Gets the current terminal state. Returns the current state map.

init()

init(opts)

merge(state1, state2)

See Raxol.Core.StateManager.merge/2.

put(state, key, value)

See Raxol.Core.StateManager.put/3.

restore_state(emulator)

@spec restore_state(Raxol.Terminal.Emulator.t()) :: {:ok, Raxol.Terminal.Emulator.t()}

Restores the most recently saved terminal state. Returns {:ok, updated_emulator}.

save_state(emulator)

@spec save_state(Raxol.Terminal.Emulator.t()) :: {:ok, Raxol.Terminal.Emulator.t()}

Saves the current terminal state. Returns {:ok, updated_emulator}.

update(state, key, func)

See Raxol.Core.StateManager.update/3.

update_current_state(emulator, new_state)

@spec update_current_state(Raxol.Terminal.Emulator.t(), map()) ::
  {:ok, Raxol.Terminal.Emulator.t()}

Updates the current terminal state. Returns {:ok, updated_emulator}.

validate(state)

See Raxol.Core.StateManager.validate/1.