Raxol.Terminal.Escape.Parsers.BaseParser (Raxol v0.5.0)

View Source

Common utilities for parsing escape sequences.

This module provides shared functionality for parsing escape sequences, including parameter parsing and validation.

Summary

Functions

Logs an invalid sequence with context.

Logs an unknown sequence with context.

Gets a parameter value at the specified index, returning the default if not found.

Parses numeric parameters from a string, handling empty values. Returns a list of integers or nil values.

Validates if a string could be a valid escape sequence start.

Functions

log_invalid_sequence(prefix, data)

@spec log_invalid_sequence(String.t(), String.t()) :: :ok

Logs an invalid sequence with context.

log_unknown_sequence(prefix, data)

@spec log_unknown_sequence(String.t(), String.t()) :: :ok

Logs an unknown sequence with context.

param_at(params, index, default)

@spec param_at([integer() | nil], non_neg_integer(), integer() | nil) ::
  integer() | nil

Gets a parameter value at the specified index, returning the default if not found.

parse_params(params_str)

@spec parse_params(String.t()) :: [integer() | nil]

Parses numeric parameters from a string, handling empty values. Returns a list of integers or nil values.

valid_sequence_start?(data)

@spec valid_sequence_start?(String.t()) :: boolean()

Validates if a string could be a valid escape sequence start.