Raxol.Terminal.ANSI.DeviceStatus (Raxol v0.5.0)

View Source

Handles terminal state queries and device status reports. This includes cursor position reports, device status reports, and terminal identification queries.

Summary

Functions

Generates a cursor position report.

Generates a device status report.

Generates a fourth device attributes report.

Creates a new device status map with default values.

Generates a primary device attributes report.

Generates a secondary device attributes report.

Generates a tertiary device attributes report.

Updates the cursor position in the device status.

Types

device_status()

@type device_status() :: %{
  cursor_position: {integer(), integer()},
  device_type: String.t(),
  version: String.t(),
  terminal_id: String.t(),
  features: MapSet.t()
}

Functions

cursor_position_report(map)

@spec cursor_position_report(device_status()) :: String.t()

Generates a cursor position report.

device_status_report(status, report_type)

@spec device_status_report(device_status(), :ok | :malfunction) :: String.t()

Generates a device status report.

fourth_device_attributes(map)

@spec fourth_device_attributes(device_status()) :: String.t()

Generates a fourth device attributes report.

new()

@spec new() :: device_status()

Creates a new device status map with default values.

primary_device_attributes(map)

@spec primary_device_attributes(device_status()) :: String.t()

Generates a primary device attributes report.

secondary_device_attributes(map)

@spec secondary_device_attributes(device_status()) :: String.t()

Generates a secondary device attributes report.

tertiary_device_attributes(map)

@spec tertiary_device_attributes(device_status()) :: String.t()

Generates a tertiary device attributes report.

update_cursor_position(status, arg)

@spec update_cursor_position(
  device_status(),
  {integer(), integer()}
) :: device_status()

Updates the cursor position in the device status.