Raxol.UI.Components.Terminal.Emulator (Raxol v0.5.0)
View SourceTerminal emulator component wrapping the core emulator logic.
Summary
Functions
Cleans up resources when the component is destroyed.
Handles terminal resize events by delegating to State. This ensures that the terminal's internal buffers and state are correctly adjusted while preserving existing content and history where possible.
Initializes a new terminal emulator component state.
Accepts an optional map of options, currently supporting :width
and :height
.
Processes input and updates terminal state by delegating to UnifiedIO.
Returns a tuple {updated_state, output_string}
.
Renders the current terminal state.
Types
@type emulator_state() :: %{state: Raxol.Terminal.Integration.State.t()}
Functions
@spec cleanup(emulator_state()) :: :ok
Cleans up resources when the component is destroyed.
@spec handle_resize( {integer(), integer()}, emulator_state() ) :: emulator_state()
Handles terminal resize events by delegating to State. This ensures that the terminal's internal buffers and state are correctly adjusted while preserving existing content and history where possible.
@spec init(map()) :: emulator_state()
Initializes a new terminal emulator component state.
Accepts an optional map of options, currently supporting :width
and :height
.
@spec process_input(term(), emulator_state()) :: {emulator_state(), term()}
Processes input and updates terminal state by delegating to UnifiedIO.
Returns a tuple {updated_state, output_string}
.
@spec render(emulator_state()) :: emulator_state()
Renders the current terminal state.