22 for (
const auto &line : lines) {
38 for (
const auto &line : lines) {
53 for (
const auto &line : lines) {
65 for (
const auto &line : lines) {
80 for (
const auto &line : std::ranges::views::drop(lines, 1)) {
95 for (
const auto &line : std::ranges::views::drop(lines, 1)) {
104 emit_note_impl(tag, lines);
109 emit_note_impl(tag, lines);
114 emit_note_impl(tag, lines);
117void StderrStyledUserDiagnostics::emit_note_impl(
const std::string &tag,
const std::vector<std::string> &lines)
const
126 for (
const auto &line : lines) {
Abstract interface for all error types used in ChainableResult error chains.
virtual std::vector< std::string > details(const TextFormatter &formatter) const =0
Returns a formatted multi-line string representation of the error.
void error(const std::string &tag, const std::vector< std::string > &lines) const override
Display a multi-line tagged error message to stderr.
void warning_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a multi-line tagged note associated with a warning to stderr.
void emit_fatal_proximate(const Error &err) const override
Emit the proximate (immediate) error in a fatal error chain to stderr.
void remark(const std::string &tag, const std::vector< std::string > &lines) const override
Display a multi-line tagged informational remark to stderr.
void remark_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a multi-line tagged note associated with a remark to stderr.
void emit_fatal_root(const Error &err) const override
Emit the root cause error in a fatal error chain to stderr.
void emit_fatal_step(const Error &err) const override
Emit an intermediate step error in a fatal error chain to stderr.
void warning(const std::string &tag, const std::vector< std::string > &lines) const override
Display a multi-line tagged warning to stderr.
void error_note(const std::string &tag, const std::vector< std::string > &lines) const override
Display a multi-line tagged note associated with an error to stderr.
static const Style magenta
Magenta foreground color.
static const Style red
Red foreground color.
static const Style cyan
Cyan foreground color.
static const Style blue
Blue foreground color.
static const Style bold
Bold text formatting.
virtual std::string style(const std::string &text, Style styles) const =0
Applies styling to a text string.
const TextFormatter & formatter() const
void assert_or_panic(bool condition, const StringViewSourceLoc &s)
Conditionally panics if the given condition is false.