Raxol.Terminal.Charset.Manager (Raxol v0.5.0)

View Source

Manages terminal character sets and encoding operations.

Summary

Types

char_map()

@type char_map() :: %{required(non_neg_integer()) => String.t()}

charset()

@type charset() :: :us_ascii | :dec_supplementary | :dec_special | :dec_technical

g_set()

@type g_set() :: :g0 | :g1 | :g2 | :g3

t()

@type t() :: %Raxol.Terminal.Charset.Manager{
  charsets: %{required(charset()) => (-> char_map())},
  current_g_set: g_set(),
  g_sets: %{required(g_set()) => charset()},
  single_shift: g_set() | nil
}

Functions

apply_single_shift(state, g_set)

See Raxol.Terminal.Charset.Operations.apply_single_shift/2.

designate_charset(state, g_set, charset)

See Raxol.Terminal.Charset.Operations.designate_charset/3.

get_charset(emulator, g_set)

Gets the current character set for the specified G-set.

get_current_g_set(state)

See Raxol.Terminal.Charset.Operations.get_current_g_set/1.

get_designated_charset(state, g_set)

See Raxol.Terminal.Charset.Operations.get_designated_charset/2.

get_single_shift(state)

See Raxol.Terminal.Charset.Operations.get_single_shift/1.

get_state(state)

Gets the current state of the charset manager.

handle_set_charset(emulator, params_buffer, final_byte)

See Raxol.Terminal.Charset.Operations.handle_set_charset/3.

invoke_g_set(state, g_set)

See Raxol.Terminal.Charset.Operations.invoke_g_set/2.

map_character(emulator, char)

Maps a character using the current character set.

new()

Creates a new charset manager instance.

reset_state(state)

Resets the charset state to defaults.

update_state(state, new_state)

Updates the state of the charset manager.