class Termisu::Terminfo

Overview

Terminfo database interface for terminal capability management.

Provides access to terminal control sequences by loading capabilities from the system terminfo database with fallback to hardcoded values for common terminals (xterm, linux).

Loading Strategy

  1. Attempts to load capabilities from terminfo database at standard locations
  2. Falls back to built-in escape sequences for xterm/linux if database unavailable
  3. Merges database values with builtins, preferring database values

Usage

terminfo = Termisu::Terminfo.new
puts terminfo.clear_screen_seq # => "\e[H\e[2J"
puts terminfo.bold_seq         # => "\e[1m"

Note: All capability methods return escape sequence STRINGS, not actions. The _seq suffix indicates this clearly.

Defined in:

termisu/terminfo.cr

Constant Summary

Log = Termisu::Logs::Terminfo

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def background_color_seq(color_index : Int32) : String #

Returns escape sequence to set background color.

Uses the terminfo setab capability with tparm processing.


[View source]
def blink_seq : String #

Returns escape sequence to enable blink (blink).


[View source]
def bold_seq : String #

Returns escape sequence to enable bold (bold).


[View source]
def clear_screen_seq : String #

Returns escape sequence to clear screen (clear).


[View source]
def column_address_seq(col : Int32) : String #

Returns escape sequence to move cursor to column N (0-based).


[View source]
def cup_seq : String #

Returns the raw cup capability string (parametrized).

Use #cursor_position_seq to get a ready-to-use sequence with coordinates. Uses cached value to avoid hash lookup overhead.


[View source]
def cursor_backward_seq(n : Int32) : String #

Returns escape sequence to move cursor backward N columns.


[View source]
def cursor_down_seq(n : Int32) : String #

Returns escape sequence to move cursor down N rows.


[View source]
def cursor_forward_seq(n : Int32) : String #

Returns escape sequence to move cursor forward N columns.


[View source]
def cursor_position_seq(row : Int32, col : Int32) : String #

Returns escape sequence to move cursor to position (row, col).

Uses the terminfo cup capability with tparm processing. Coordinates are 0-based and will be converted to 1-based by the %i operation in the capability string.


[View source]
def cursor_up_seq(n : Int32) : String #

Returns escape sequence to move cursor up N rows.


[View source]
def delete_lines_seq(n : Int32) : String #

Returns escape sequence to delete N lines at cursor.


[View source]
def dim_seq : String #

Returns escape sequence to enable dim/faint mode (dim).


[View source]
def enter_ca_seq : String #

Returns escape sequence to enter alternate screen (smcup).


[View source]
def enter_keypad_seq : String #

Returns escape sequence to enter keypad mode (smkx).


[View source]
def erase_chars_seq(n : Int32) : String #

Returns escape sequence to erase N characters at cursor.


[View source]
def exit_ca_seq : String #

Returns escape sequence to exit alternate screen (rmcup).


[View source]
def exit_keypad_seq : String #

Returns escape sequence to exit keypad mode (rmkx).


[View source]
def foreground_color_seq(color_index : Int32) : String #

Returns escape sequence to set foreground color.

Uses the terminfo setaf capability with tparm processing.


[View source]
def hidden_seq : String #

Returns escape sequence to enable hidden/invisible mode (invis).


[View source]
def hide_cursor_seq : String #

Returns escape sequence to hide cursor (civis).


[View source]
def insert_lines_seq(n : Int32) : String #

Returns escape sequence to insert N blank lines at cursor.


[View source]
def italic_seq : String #

Returns escape sequence to enable italic/cursive mode (sitm).


[View source]
def reset_attrs_seq : String #

Returns escape sequence to reset all attributes (sgr0).


[View source]
def reverse_seq : String #

Returns escape sequence to enable reverse video (rev).


[View source]
def row_address_seq(row : Int32) : String #

Returns escape sequence to move cursor to row N (0-based).


[View source]
def setab_seq : String #

Returns the raw setab capability string (parametrized background color). Uses cached value to avoid hash lookup overhead.


[View source]
def setaf_seq : String #

Returns the raw setaf capability string (parametrized foreground color). Uses cached value to avoid hash lookup overhead.


[View source]
def show_cursor_seq : String #

Returns escape sequence to show cursor (cnorm).


[View source]
def strikethrough_seq : String #

Returns escape sequence to enable strikethrough mode (smxx).


[View source]
def underline_seq : String #

Returns escape sequence to enable underline (smul).


[View source]