Raxol.Terminal.ANSI.TerminalStateBehaviour behaviour (Raxol v0.4.0)

View Source

Behaviour for managing terminal state saving and restoring.

Summary

Types

state_data_map()

@type state_data_map() :: map()

Callbacks

apply_restored_data(emulator_state, state_data, fields_to_restore)

@callback apply_restored_data(
  emulator_state :: Raxol.Terminal.Emulator.t(),
  state_data :: state_data_map() | nil,
  fields_to_restore :: [atom()]
) :: Raxol.Terminal.Emulator.t()

restore_state(stack)

@callback restore_state(stack :: Raxol.Terminal.ANSI.TerminalState.state_stack()) ::
  {new_stack :: Raxol.Terminal.ANSI.TerminalState.state_stack(),
   state_data :: state_data_map() | nil}

save_state(stack, current_emulator_state)

@callback save_state(
  stack :: Raxol.Terminal.ANSI.TerminalState.state_stack(),
  current_emulator_state :: map()
) :: Raxol.Terminal.ANSI.TerminalState.state_stack()