Packages

Terminal emulation and driver infrastructure for Raxol. ANSI parsing, screen buffers, command processing, cursor management, input handling, session management, and termbox2 NIF integration.

Current section

Files

Jump to
raxol_terminal lib raxol terminal parser parser_state.ex
Raw

lib/raxol/terminal/parser/parser_state.ex

defmodule Raxol.Terminal.Parser.ParserState do
@moduledoc """
Parser state for the terminal emulator.
"""
@type t :: %__MODULE__{
state: atom(),
params: list(),
params_buffer: binary(),
intermediates_buffer: binary(),
payload_buffer: binary(),
final_byte: byte() | nil,
designating_gset: term() | nil,
single_shift: term() | nil
}
defstruct state: :ground,
params: [],
params_buffer: "",
intermediates_buffer: "",
payload_buffer: "",
final_byte: nil,
designating_gset: nil,
single_shift: nil
end