Raxol.Terminal.ANSI.Utils.SequenceParser (Raxol Terminal v2.6.0)

Copy Markdown View Source

Helper module for parsing ANSI escape sequences.

This module provides common utilities for parsing and handling ANSI sequences, extracted from duplicate implementations in other ANSI-related modules.

Summary

Functions

Parses parameters from an ANSI sequence.

Generic parser for ANSI sequences that follow the pattern: params + operation code.

Functions

parse_params(params)

@spec parse_params(binary()) :: {:ok, [integer()]} | :error

Parses parameters from an ANSI sequence.

Splits the parameter string by semicolons and converts them to integers.

Returns

  • {:ok, params} - Successfully parsed parameters
  • :error - Failed to parse parameters

parse_sequence(sequence, operation_decoder)

@spec parse_sequence(binary(), function()) :: {:ok, atom(), [integer()]} | :error

Generic parser for ANSI sequences that follow the pattern: params + operation code.

Parameters

  • sequence - The binary sequence to parse
  • operation_decoder - Function to decode operation from character code

Returns

  • {:ok, operation, params} - Successfully parsed sequence
  • :error - Failed to parse sequence