Raxol.Terminal.Escape.Parsers.CSIParser (Raxol v0.5.0)
View SourceParser for Control Sequence Introducer (CSI) escape sequences.
Handles sequences in the format:
- CSI P... I... F Where:
- P: Parameters (numeric, separated by ;)
- I: Intermediate bytes (optional)
- F: Final byte (determines command)
Also handles DEC Private sequences (CSI ? P... F)
Summary
Functions
Parses a CSI sequence. Returns {:ok, command, remaining} or {:incomplete, remaining} or {:error, reason, remaining}
Parses a DEC Private CSI sequence.
Parses a standard CSI sequence.
Functions
@spec parse(String.t()) :: {:ok, term(), String.t()} | {:incomplete, String.t()} | {:error, atom(), String.t()}
Parses a CSI sequence. Returns {:ok, command, remaining} or {:incomplete, remaining} or {:error, reason, remaining}
@spec parse_dec_private(String.t(), String.t(), String.t()) :: {:ok, {:set_mode, :dec_private, integer(), boolean()}, String.t()} | {:error, atom(), String.t()}
Parses a DEC Private CSI sequence.
@spec parse_standard_csi(String.t()) :: {:ok, term(), String.t()} | {:incomplete, String.t()} | {:error, atom(), String.t()}
Parses a standard CSI sequence.