pub struct Diagnostic { /* private fields */ }
Expand description
A structure representing a diagnostic message and associated children messages.
Implementations§
source§impl Diagnostic
impl Diagnostic
sourcepub fn new<T: Into<String>>(level: Level, message: T) -> Diagnostic
pub fn new<T: Into<String>>(level: Level, message: T) -> Diagnostic
Creates a new diagnostic with the given level
and message
.
sourcepub fn spanned<S, T>(spans: S, level: Level, message: T) -> Diagnostic
pub fn spanned<S, T>(spans: S, level: Level, message: T) -> Diagnostic
Creates a new diagnostic with the given level
and message
pointing
to the given set of spans
.
sourcepub fn spanned_child<S, T>(
self,
spans: S,
level: Level,
message: T,
) -> Diagnostic
pub fn spanned_child<S, T>( self, spans: S, level: Level, message: T, ) -> Diagnostic
Adds a new child diagnostic message to self
with the level
and the
given spans
and message
.
sourcepub fn child<T: Into<String>>(self, level: Level, message: T) -> Diagnostic
pub fn child<T: Into<String>>(self, level: Level, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with level
and the given
message
.
sourcepub fn span_error<S, T>(self, spans: S, message: T) -> Diagnostic
pub fn span_error<S, T>(self, spans: S, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with the level
identified by this method’s name with the given spans
and
message
.
sourcepub fn error<T: Into<String>>(self, message: T) -> Diagnostic
pub fn error<T: Into<String>>(self, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with the level
identified by this method’s name with the given message
.
sourcepub fn span_warning<S, T>(self, spans: S, message: T) -> Diagnostic
pub fn span_warning<S, T>(self, spans: S, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with the level
identified by this method’s name with the given spans
and
message
.
sourcepub fn warning<T: Into<String>>(self, message: T) -> Diagnostic
pub fn warning<T: Into<String>>(self, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with the level
identified by this method’s name with the given message
.
sourcepub fn span_note<S, T>(self, spans: S, message: T) -> Diagnostic
pub fn span_note<S, T>(self, spans: S, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with the level
identified by this method’s name with the given spans
and
message
.
sourcepub fn note<T: Into<String>>(self, message: T) -> Diagnostic
pub fn note<T: Into<String>>(self, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with the level
identified by this method’s name with the given message
.
sourcepub fn span_help<S, T>(self, spans: S, message: T) -> Diagnostic
pub fn span_help<S, T>(self, spans: S, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with the level
identified by this method’s name with the given spans
and
message
.
sourcepub fn help<T: Into<String>>(self, message: T) -> Diagnostic
pub fn help<T: Into<String>>(self, message: T) -> Diagnostic
Adds a new child diagnostic message to self
with the level
identified by this method’s name with the given message
.
sourcepub fn children(&self) -> impl Iterator<Item = &Diagnostic>
pub fn children(&self) -> impl Iterator<Item = &Diagnostic>
Return the children diagnostics of self
.
sourcepub fn emit_as_item_tokens(self) -> TokenStream
pub fn emit_as_item_tokens(self) -> TokenStream
Emit tokens, suitable for item contexts, to generate a comple-time
diagnostic corresponding to self
. On nightly, this directly emits the
error and returns an empty token stream.
sourcepub fn emit_as_item_tokens_or(self, default: TokenStream) -> TokenStream
pub fn emit_as_item_tokens_or(self, default: TokenStream) -> TokenStream
Emit tokens, suitable for item contexts, to generate a comple-time
diagnostic corresponding to self
. On nightly, this directly emits the
error and returns default
.
sourcepub fn emit_as_expr_tokens(self) -> TokenStream
pub fn emit_as_expr_tokens(self) -> TokenStream
Emit tokens, suitable for expression contexts, to generate a comple-time
diagnostic corresponding to self
. On nightly, this directly emits the
error and returns a ()
token stream.
sourcepub fn emit_as_expr_tokens_or(self, default: TokenStream) -> TokenStream
pub fn emit_as_expr_tokens_or(self, default: TokenStream) -> TokenStream
Emit tokens, suitable for expressioon contexts, to generate a
comple-time diagnostic corresponding to self
. On nightly, this
directly emits the error and returns default
.
Trait Implementations§
source§impl Clone for Diagnostic
impl Clone for Diagnostic
source§fn clone(&self) -> Diagnostic
fn clone(&self) -> Diagnostic
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Diagnostic
impl Debug for Diagnostic
source§impl From<Diagnostic> for Error
impl From<Diagnostic> for Error
source§fn from(diag: Diagnostic) -> Error
fn from(diag: Diagnostic) -> Error
source§impl From<Error> for Diagnostic
impl From<Error> for Diagnostic
source§fn from(error: Error) -> Diagnostic
fn from(error: Error) -> Diagnostic
Auto Trait Implementations§
impl Freeze for Diagnostic
impl RefUnwindSafe for Diagnostic
impl !Send for Diagnostic
impl !Sync for Diagnostic
impl Unpin for Diagnostic
impl UnwindSafe for Diagnostic
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.bright_black());
source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.bright_green());
source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.bright_yellow());
source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.bright_magenta());
source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self
with the
fg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.bright_white());
source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlack
.
§Example
println!("{}", value.on_bright_black());
source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightGreen
.
§Example
println!("{}", value.on_bright_green());
source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightYellow
.
§Example
println!("{}", value.on_bright_yellow());
source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightBlue
.
§Example
println!("{}", value.on_bright_blue());
source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightMagenta
.
§Example
println!("{}", value.on_bright_magenta());
source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightCyan
.
§Example
println!("{}", value.on_bright_cyan());
source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self
with the
bg()
set to
Color::BrightWhite
.
§Example
println!("{}", value.on_bright_white());
source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::Underline
.
§Example
println!("{}", value.underline());
source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self
with the
attr()
set to
Attribute::RapidBlink
.
§Example
println!("{}", value.rapid_blink());
source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);