Struct Shell

Source
pub struct Shell { /* private fields */ }
Expand description

An abstraction around console output that remembers preferences for output verbosity and color.

Implementations§

Source§

impl Shell

Source

pub fn new() -> Shell

Creates a new shell (color choice and verbosity), defaulting to ‘auto’ color and verbose output.

Source

pub fn from_write(out: Box<dyn Write + Send + Sync>) -> Shell

Creates a shell from a plain writable object, with no color, and max verbosity.

Source

pub fn set_needs_clear(&mut self, needs_clear: bool)

Sets whether the next print should clear the current line.

Source

pub fn is_cleared(&self) -> bool

Returns true if the needs_clear flag is unset.

Source

pub fn err_width(&self) -> TtyWidth

Returns the width of the terminal in spaces, if any.

Source

pub fn is_err_tty(&self) -> bool

Returns true if stderr is a tty.

Source

pub fn out(&mut self) -> &mut dyn Write

Gets a reference to the underlying stdout writer.

Source

pub fn err(&mut self) -> &mut dyn Write

Gets a reference to the underlying stderr writer.

Source

pub fn err_erase_line(&mut self)

Erase from cursor to end of line.

Source

pub fn status<T, U>(&mut self, status: T, message: U) -> Result<()>
where T: Display, U: Display,

Shortcut to right-align and color green a status message.

Source

pub fn status_header<T>(&mut self, status: T) -> Result<()>
where T: Display,

Source

pub fn status_with_color<T, U>( &mut self, status: T, message: U, color: &Style, ) -> Result<()>
where T: Display, U: Display,

Shortcut to right-align a status message.

Source

pub fn verbose<F>(&mut self, callback: F) -> Result<()>
where F: FnMut(&mut Shell) -> Result<()>,

Runs the callback only if we are in verbose mode.

Source

pub fn concise<F>(&mut self, callback: F) -> Result<()>
where F: FnMut(&mut Shell) -> Result<()>,

Runs the callback if we are not in verbose mode.

Source

pub fn error<T: Display>(&mut self, message: T) -> Result<()>

Prints a red ‘error’ message.

Source

pub fn warn<T: Display>(&mut self, message: T) -> Result<()>

Prints an amber ‘warning’ message.

Source

pub fn note<T: Display>(&mut self, message: T) -> Result<()>

Prints a cyan ‘note’ message.

Source

pub fn set_verbosity(&mut self, verbosity: Verbosity)

Updates the verbosity of the shell.

Source

pub fn verbosity(&self) -> Verbosity

Gets the verbosity of the shell.

Source

pub fn set_color_choice(&mut self, color: Option<&str>) -> Result<()>

Updates the color choice (always, never, or auto) from a string..

Source

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.

Source

pub fn err_supports_color(&self) -> bool

Whether the shell supports color.

Source

pub fn out_supports_color(&self) -> bool

Source

pub fn print_ansi_stderr(&mut self, message: &[u8]) -> Result<()>

Prints a message to stderr and translates ANSI escape code into console colors.

Source

pub fn print_ansi_stdout(&mut self, message: &[u8]) -> Result<()>

Prints a message to stdout and translates ANSI escape code into console colors.

Source

pub fn print_json<T: Serialize>(&mut self, obj: &T) -> Result<()>

Trait Implementations§

Source§

impl Debug for Shell

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Shell

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Shell

§

impl !RefUnwindSafe for Shell

§

impl Send for Shell

§

impl Sync for Shell

§

impl Unpin for Shell

§

impl !UnwindSafe for Shell

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,