Skip to main content

Spinner

Struct Spinner 

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

A named terminal spinner. Mirrors rich.spinner.Spinner.

Implementations§

Source§

impl Spinner

Source

pub fn new(name: &str) -> Self

Look up a built-in spinner by name (falls back to dots).

Source

pub fn try_new(name: &str) -> Option<Self>

Look up a built-in spinner by name, or None where upstream’s constructor raises KeyError("no spinner called 'name'"). new falls back to dots instead.

Source

pub fn text(self, text: impl Into<String>) -> Self

Trailing text after the frame, parsed as console markup (upstream passes a str through Text.from_markup).

Source

pub fn with_text(self, text: Text) -> Self

Trailing text after the frame, used as it is (upstream’s text= given a Text).

Source

pub fn renderable(self, renderable: Box<dyn Renderable + Send>) -> Self

Any renderable after the frame (upstream’s text= given another renderable): the frame and the renderable are laid out in a Table.grid(padding=1).

Source

pub fn speed(self, speed: f64) -> Self

Set the animation speed multiplier (default 1.0).

Source

pub fn style(self, style: impl Into<StyleType>) -> Self

Style applied to the spinner frame (not the trailing text): a style or a theme name such as "status.spinner".

Source

pub fn update( &mut self, text: Option<&str>, style: Option<StyleType>, speed: Option<f64>, )

Port of Spinner.update: replace the text or style when given, and schedule a speed change for the next render. Like upstream, empty text and a zero speed mean “unchanged”.

Source

pub fn render(&self, time: f64) -> Text

Render the spinner as it appears at time seconds. Port of Spinner.render: the first call fixes the start time, the frame carries the spinner style and Text.assemble(frame, " ", text) adds the text.

Source

pub fn render_renderable(&self, time: f64) -> Box<dyn Renderable>

render for any trailing renderable: upstream’s render returns a Table.grid(padding=1) of the frame and the renderable set with renderable, and the assembled text otherwise.

Trait Implementations§

Source§

impl Renderable for Spinner

Source§

fn rich_render( &self, console: &Console, options: &ConsoleOptions, ) -> Vec<Segment>

Port of Spinner.__rich_console__: the frame for the console’s clock (Console::get_time), so each redraw inside a Live display moves the animation on.

Source§

fn measure(&self, console: &Console, options: &ConsoleOptions) -> Measurement

Port of Spinner.__rich_measure__, which measures self.render(0).

Source§

fn fit_to_measurement(&self) -> bool

Whether a top-level Console::print shrinks this renderable to its measured width. Upstream renders every top-level renderable at the full console width, so the default is false; an extension may opt in.
Source§

fn vertical(&self) -> Option<VerticalAlign>

The vertical alignment a Table cell holding this renderable uses in place of its column’s. Upstream reads getattr(renderable, "vertical", None); Align sets it.
Source§

fn print_end_line(&self, _options: &ConsoleOptions) -> bool

Whether a top-level print ends this renderable’s last line. This port’s renderables separate lines, where upstream’s end each line with "\n", so a print adds the final line break. A renderable whose upstream output stops without one (Screen, LiveRender, a Rule whose end has no newline) returns false, and the next output continues its last line. options are the print’s options.

Auto Trait Implementations§

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, 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.