nxt::ansi::Writer class

ANSI escape sequence builder that writes to a string buffer.

Constructors, destructors, conversion operators

Writer(std::string& buf) explicit

Public functions

auto begin_synchronized_update() →  Writer&
auto bg(Rgb8 color) →  Writer&
auto bg(std::uint8_t r, std::uint8_t g, std::uint8_t b) →  Writer&
auto bg(TerminalColor c) →  Writer&
auto bg_default() →  Writer&
auto bg_palette(std::uint8_t index) →  Writer&
auto bold() →  Writer&
auto buffer() →  std::string&
auto buffer() const →  const std::string&
auto clear_line() →  Writer&
auto clear_line_from_cursor() →  Writer&
auto clear_line_to_cursor() →  Writer&
auto clear_screen() →  Writer&
Clear operations.
auto clear_screen_from_cursor() →  Writer&
auto clear_screen_to_cursor() →  Writer&
auto dim() →  Writer&
auto end_synchronized_update() →  Writer&
auto fg(Rgb8 color) →  Writer&
Colors (24-bit RGB)
auto fg(std::uint8_t r, std::uint8_t g, std::uint8_t b) →  Writer&
auto fg(TerminalColor c) →  Writer&
Terminal colors (16-color palette)
auto fg_default() →  Writer&
Reset colors.
auto fg_palette(std::uint8_t index) →  Writer&
256-color palette
auto hide_cursor() →  Writer&
Cursor visibility.
auto italic() →  Writer&
auto move(Size delta) →  Writer&
auto move_down(height_t n = 1*ln) →  Writer&
auto move_left(width_t n = 1*ch) →  Writer&
auto move_right(width_t n = 1*ch) →  Writer&
auto move_to(ansi_row_t y, ansi_col_t x) →  Writer&
Move cursor to terminal position (1-based coordinates)
auto move_to(Pos pos) →  Writer&
auto move_to_column(ansi_col_t col) →  Writer&
Move to column (1-based)
auto move_up(height_t n = 1*ln) →  Writer&
Move cursor relatively (positive deltas)
auto request_cursor_position() →  Writer&
Request cursor position report (DSR 6). Response comes via stdin.
auto reset() →  Writer&
auto reset_scroll_region() →  Writer&
auto restore_cursor() →  Writer&
auto reverse() →  Writer&
auto save_cursor() →  Writer&
Save/restore cursor position.
auto scroll_down(height_t n = 1*ln) →  Writer&
auto scroll_up(height_t n = 1*ln) →  Writer&
auto set_scroll_region(row_t top, row_t bottom) →  Writer&
Scroll region (INCLUSIVE bounds [top, bottom])
auto show_cursor() →  Writer&
auto style(Emphasis e) →  Writer&
Text emphasis.
auto text(std::string_view str) →  Writer&
Write raw text (no escaping)
auto text(const char ch) →  Writer&
Write a single character.
auto underline() →  Writer&

Function documentation

Writer& nxt::ansi::Writer::begin_synchronized_update()

Terminal synchronized update mode. Supporting terminals defer presenting changes until the matching end call.