pub struct Shell { /* private fields */ }Expand description
An abstraction around console output that remembers preferences for output verbosity and color.
Implementations§
Source§impl Shell
impl Shell
Sourcepub fn new() -> Shell
pub fn new() -> Shell
Creates a new shell (color choice and verbosity), defaulting to ‘auto’ color and verbose output.
Sourcepub fn from_write(out: Box<dyn Write>) -> Shell
pub fn from_write(out: Box<dyn Write>) -> Shell
Creates a shell from a plain writable object, with no color, and max verbosity.
Sourcepub fn set_needs_clear(&mut self, needs_clear: bool)
pub fn set_needs_clear(&mut self, needs_clear: bool)
Sets whether the next print should clear the current line.
Sourcepub fn is_cleared(&self) -> bool
pub fn is_cleared(&self) -> bool
Returns true if the needs_clear flag is unset.
Sourcepub fn is_err_tty(&self) -> bool
pub fn is_err_tty(&self) -> bool
Returns true if stderr is a tty.
pub fn reset_err(&mut self) -> Result<()>
Sourcepub fn err_erase_line(&mut self)
pub fn err_erase_line(&mut self)
Erase from cursor to end of line.
Sourcepub fn status<T, U>(&mut self, status: T, message: U) -> Result<()>
pub fn status<T, U>(&mut self, status: T, message: U) -> Result<()>
Shortcut to right-align and color green a status message.
pub fn status_header<T>(&mut self, status: T) -> Result<()>where
T: Display,
Sourcepub fn status_with_color<T, U>(
&mut self,
status: T,
message: U,
color: Color,
) -> Result<()>
pub fn status_with_color<T, U>( &mut self, status: T, message: U, color: Color, ) -> Result<()>
Shortcut to right-align a status message.
Sourcepub fn very_verbose<F>(&mut self, callback: F) -> Result<()>
pub fn very_verbose<F>(&mut self, callback: F) -> Result<()>
Runs the callback only if we are in very verbose mode.
Sourcepub fn verbose<F>(&mut self, callback: F) -> Result<()>
pub fn verbose<F>(&mut self, callback: F) -> Result<()>
Runs the callback only if we are in verbose mode.
Sourcepub fn concise<F>(&mut self, callback: F) -> Result<()>
pub fn concise<F>(&mut self, callback: F) -> Result<()>
Runs the callback if we are not in verbose mode.
Sourcepub fn warn<T: Display>(&mut self, message: T) -> Result<()>
pub fn warn<T: Display>(&mut self, message: T) -> Result<()>
Prints an amber ‘warning’ message.
Sourcepub fn set_verbosity(&mut self, verbosity: Verbosity)
pub fn set_verbosity(&mut self, verbosity: Verbosity)
Updates the verbosity of the shell.
Sourcepub fn set_color_choice(&mut self, color: Option<&str>) -> Result<()>
pub fn set_color_choice(&mut self, color: Option<&str>) -> Result<()>
Updates the color choice (always, never, or auto) from a string..
Sourcepub fn color_choice(&self) -> ColorChoice
pub fn color_choice(&self) -> ColorChoice
Gets the current color choice.
If we are not using a color stream, this will always return Never, even if the color
choice has been set to something else.
Sourcepub fn err_supports_color(&self) -> bool
pub fn err_supports_color(&self) -> bool
Whether the shell supports color.
pub fn out_supports_color(&self) -> bool
Sourcepub fn write_stdout(
&mut self,
fragment: impl Display,
color: &ColorSpec,
) -> Result<()>
pub fn write_stdout( &mut self, fragment: impl Display, color: &ColorSpec, ) -> Result<()>
Write a styled fragment
Caller is responsible for deciding whether Shell::verbosity is affects output.
Sourcepub fn write_stderr(
&mut self,
fragment: impl Display,
color: &ColorSpec,
) -> Result<()>
pub fn write_stderr( &mut self, fragment: impl Display, color: &ColorSpec, ) -> Result<()>
Write a styled fragment
Caller is responsible for deciding whether Shell::verbosity is affects output.
Sourcepub fn print_ansi_stderr(&mut self, message: &[u8]) -> Result<()>
pub fn print_ansi_stderr(&mut self, message: &[u8]) -> Result<()>
Prints a message to stderr and translates ANSI escape code into console colors.
Sourcepub fn print_ansi_stdout(&mut self, message: &[u8]) -> Result<()>
pub fn print_ansi_stdout(&mut self, message: &[u8]) -> Result<()>
Prints a message to stdout and translates ANSI escape code into console colors.