Raxol.Terminal.Commands.Modes (Raxol v0.2.0)

View Source

Handles terminal mode setting and resetting operations.

This module manages DEC private mode and ANSI mode setting/resetting in the terminal, which control various aspects of terminal behavior like cursor visibility, line wrapping, alternate screen buffer, and more.

Summary

Functions

Handles ANSI mode setting or resetting.

Handles DEC private mode setting or resetting.

Functions

handle_ansi_mode(emulator, params, action)

@spec handle_ansi_mode(Raxol.Terminal.Emulator.t(), [integer()], :set | :reset) ::
  Raxol.Terminal.Emulator.t()

Handles ANSI mode setting or resetting.

These are the standard mode control sequences without the '?' prefix.

Parameters

  • emulator - The current emulator state
  • params - List of mode numbers to set or reset
  • action - Either :set to enable or :reset to disable

Returns

  • Updated emulator state

handle_dec_private_mode(emulator, params, action)

@spec handle_dec_private_mode(Raxol.Terminal.Emulator.t(), [integer()], :set | :reset) ::
  Raxol.Terminal.Emulator.t()

Handles DEC private mode setting or resetting.

These are the modes that are prefixed with '?' in the terminal sequences.

Parameters

  • emulator - The current emulator state
  • params - List of mode numbers to set or reset
  • action - Either :set to enable or :reset to disable

Returns

  • Updated emulator state