Packages

Multi-surface application runtime for Elixir. One TEA module renders to terminal, browser (LiveView), SSH, and MCP (agents). 30+ widgets, flexbox + CSS grid, AI agent runtime, distributed swarm with CRDTs, time-travel debugging, session recording, sandboxed REPL, and agentic commerce.

Current section

Files

Jump to
raxol 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