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

View Source

Parser for Select Character Set (SCS) escape sequences.

Handles sequences like:

  • ESC ( C -> Designate G0 as Charset C
  • ESC ) C -> Designate G1 as Charset C
  • ESC * C -> Designate G2 as Charset C
  • ESC + C -> Designate G3 as Charset C

Summary

Functions

Maps a character code byte to its corresponding charset atom. Reference: https://vt100.net/docs/vt510-rm/SCS.html

Maps a designator character to its corresponding G-set.

Parses a Select Character Set sequence. Returns {:ok, command, remaining} or {:incomplete, remaining} or {:error, reason, remaining}

Functions

charset_code_to_atom(arg1)

@spec charset_code_to_atom(char()) :: {:ok, atom()} | {:error, :invalid_charset}

Maps a character code byte to its corresponding charset atom. Reference: https://vt100.net/docs/vt510-rm/SCS.html

designate_char_to_gset(arg1)

@spec designate_char_to_gset(char()) ::
  {:ok, :g0 | :g1 | :g2 | :g3} | {:error, :invalid_designator}

Maps a designator character to its corresponding G-set.

parse(designator_char, arg2)

@spec parse(char(), String.t()) ::
  {:ok, {:designate_charset, :g0 | :g1 | :g2 | :g3, atom()}, String.t()}
  | {:incomplete, String.t()}
  | {:error, atom(), String.t()}

Parses a Select Character Set sequence. Returns {:ok, command, remaining} or {:incomplete, remaining} or {:error, reason, remaining}