pub struct TopologicalSortConfig { /* private fields */ }Expand description
Configuration for how we do topological sorts.
We remove Debug because closures cannot derive Debug easily.
Implementations§
Source§impl TopologicalSortConfig
impl TopologicalSortConfig
Sourcepub fn reverse_order(&self) -> &bool
pub fn reverse_order(&self) -> &bool
If true, reverse the final order (or reverse the layer vector).
Sourcepub fn filter_fn(&self) -> &Option<Arc<dyn Fn(&str) -> bool + Send + Sync>>
pub fn filter_fn(&self) -> &Option<Arc<dyn Fn(&str) -> bool + Send + Sync>>
Optional filter: skip or remove crates that do not satisfy this predicate.
Sourcepub fn remove_unwanted_from_graph(&self) -> &bool
pub fn remove_unwanted_from_graph(&self) -> &bool
If true, we remove crates that fail the filter from the graph entirely;
if false, we keep them in the graph but omit them from final output.
Sourcepub fn layering_enabled(&self) -> &bool
pub fn layering_enabled(&self) -> &bool
If true, we do layered sorting; if false, we do flat topological sorting.
Source§impl TopologicalSortConfig
impl TopologicalSortConfig
Sourcepub fn set_reverse_order(&mut self, val: bool) -> &mut TopologicalSortConfig
pub fn set_reverse_order(&mut self, val: bool) -> &mut TopologicalSortConfig
If true, reverse the final order (or reverse the layer vector).
Sourcepub fn set_filter_fn(
&mut self,
val: Option<Arc<dyn Fn(&str) -> bool + Send + Sync>>,
) -> &mut TopologicalSortConfig
pub fn set_filter_fn( &mut self, val: Option<Arc<dyn Fn(&str) -> bool + Send + Sync>>, ) -> &mut TopologicalSortConfig
Optional filter: skip or remove crates that do not satisfy this predicate.
Sourcepub fn set_remove_unwanted_from_graph(
&mut self,
val: bool,
) -> &mut TopologicalSortConfig
pub fn set_remove_unwanted_from_graph( &mut self, val: bool, ) -> &mut TopologicalSortConfig
If true, we remove crates that fail the filter from the graph entirely;
if false, we keep them in the graph but omit them from final output.
Sourcepub fn set_layering_enabled(&mut self, val: bool) -> &mut TopologicalSortConfig
pub fn set_layering_enabled(&mut self, val: bool) -> &mut TopologicalSortConfig
If true, we do layered sorting; if false, we do flat topological sorting.
Sourcepub fn set_weighting_fn(
&mut self,
val: Option<Arc<dyn Fn(&str) -> u32 + Send + Sync>>,
) -> &mut TopologicalSortConfig
pub fn set_weighting_fn( &mut self, val: Option<Arc<dyn Fn(&str) -> u32 + Send + Sync>>, ) -> &mut TopologicalSortConfig
If present, used in layered approach to break ties within a layer.
Trait Implementations§
Source§impl Clone for TopologicalSortConfig
impl Clone for TopologicalSortConfig
Source§fn clone(&self) -> TopologicalSortConfig
fn clone(&self) -> TopologicalSortConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TopologicalSortConfig
impl !RefUnwindSafe for TopologicalSortConfig
impl Send for TopologicalSortConfig
impl Sync for TopologicalSortConfig
impl Unpin for TopologicalSortConfig
impl !UnwindSafe for TopologicalSortConfig
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§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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>
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>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
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>
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>
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>
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>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
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 rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
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);