15void push_to_stream(std::stringstream &ss,
const std::string_view s,
const std::size_t n)
17 for (std::size_t i = 0; i < n; i++) {
22void reset_stream(std::stringstream &ss)
25 ss.str(std::string{});
43std::vector<std::string> render_metatile_with_highlights(
45 const std::set<std::pair<std::size_t, std::size_t>> &highlight_coords,
49 std::vector<std::string> highlight{};
50 std::stringstream ss{};
57 bool is_in_subtile =
false;
58 std::size_t subtile_row = 0;
59 std::size_t subtile_col = 0;
85 if (highlight_coords.contains({subtile_row, subtile_col})) {
103 highlight.push_back(ss.str());
110 highlight.push_back(ss.str());
125 std::set<std::pair<std::size_t, std::size_t>> highlight_coords{};
126 highlight_coords.insert({row, col});
127 return render_metatile_with_highlights(subtile, highlight_coords, color, format_);
133 std::set<std::pair<std::size_t, std::size_t>> highlight_coords{};
134 for (std::size_t index : indexes) {
136 highlight_coords.insert({row, col});
138 return render_metatile_with_highlights(subtile, highlight_coords, color, format_);
std::vector< std::string > print_metatile_highlight(metatile::Subtile subtile, std::size_t row, std::size_t col, Style color) const override
std::vector< std::string > print_metatile_highlights(metatile::Subtile subtile, const std::vector< std::size_t > &indexes, Style color) const override
Abstract base class for applying text styling with context-aware formatting.
virtual std::string format(const std::string &format_str, const std::vector< FormatParam > ¶ms) const
Formats a string with styled parameters using fmtlib syntax.
constexpr std::pair< std::size_t, std::size_t > index_to_row_col(std::size_t index)
Converts a linear index to row and column coordinates.
Style
Bitmask flags for text styling options.
@ bold
Bold text formatting.