GrowerTreeConfiguration

Struct GrowerTreeConfiguration 

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

We set the GrowerTreeConfiguration to refine the shape of our model trees:

  • Depth: # of hierarchical levels (≥1)
  • Breadth: baseline sibling count (≥1)
  • Density: variants at leaves (≥1)
  • leaf_granularity: fraction [0..1] controlling fine detail at leaves
  • balance_symmetry: fraction [0..1] controlling symmetrical vs. varied structure
  • complexity: overall complexity level (simple, balanced, or complex)

Optional advanced sub-structs:

  • level_specific: arrays of breadth/density overrides for each level
  • weighted_branching: mean ± variance approach
  • level_skipping: per-level leaf probabilities
  • capstone: highlight nodes (off, single, or fraction)
  • ordering: sub-branch sorting approach
  • ai_confidence: modifies branch factor based on AI certainty

New fields:

  • aggregator_preference: fraction [0..1] controlling how often aggregator is used vs. dispatch
  • allow_early_leaves: if true, allows leaf nodes to appear before the final depth
  • partial_subbranch_probability: fraction [0..1] controlling how often each child sub-branch is included
  • tree_expansion_policy: advanced logic for picking among aggregator/dispatch/leaf
  • aggregator_depth_limit, dispatch_depth_limit, leaf_min_depth: optional constraints on usage of aggregator, dispatch, or leaf nodes by depth

Your justification must indicate why each justified parameter value was chosen deliberately by using knowledge and an understanding of the target domain as a guide. Since each target domain is different, the trees which map them will have different shapes and different GrowerTreeConfiguration parameters. Your job during justification is to explain clearly why a given parameter setting makes sense in the provided target domain.

Implementations§

Source§

impl GrowerTreeConfiguration

Source

pub fn base_config( depth: u8, breadth: u8, density: u8, ) -> GrowerTreeConfiguration

Creates a minimal config with the given core fields.

Source

pub fn to_builder(&self) -> GrowerTreeConfigurationBuilder

Convert the existing config into a builder, copying all fields.

Source

pub fn with_ai_conf( self, base_factor: u8, factor_multiplier: f32, ) -> GrowerTreeConfiguration

Attaches an AI-confidence sub-struct, returning a new config.

Source

pub fn with_weighted_branching( self, mean: u8, variance: u8, ) -> GrowerTreeConfiguration

Attaches WeightedBranching with the given mean/variance.

Source

pub fn with_level_skipping( self, skip_probs: Vec<f32>, ) -> GrowerTreeConfiguration

Attaches LevelSkipping with the given skip probabilities.

Source

pub fn with_level_specific( self, bpl: Vec<u8>, dpl: Vec<u8>, ) -> GrowerTreeConfiguration

Attaches LevelSpecific with the given breadth/density arrays.

Source

pub fn with_capstone( self, mode: CapstoneMode, prob: f32, ) -> GrowerTreeConfiguration

Attaches a Capstone sub-struct with the given mode/prob.

Source§

impl GrowerTreeConfiguration

Source

pub fn target_name(&self) -> &String

This field holds verbatim the lower-kebab-case target-name belonging to the tree grow process.

Source

pub fn depth(&self) -> &u8

Set this integer to define how many levels exist from root to leaf in the tree (≥5).

  • Setting a higher number → deeper specialization (depth).
  • Setting a lower number → simpler, more general modeling.
Source

pub fn breadth(&self) -> &u8

Set this integer to define how many siblings or sub-branches each node has by default (≥7).

  • Higher → broad coverage, e.g. “Spread (Loosen).”
  • Lower → narrower, e.g. “Narrow (Tighten).”
Source

pub fn density(&self) -> &u8

Set this integer to define how many variants (children) each leaf node holds by default (≥9).

  • Higher → more fullness (“Dense”).
  • Lower → sparser representation (“Sparse”).
Source

pub fn leaf_granularity(&self) -> &f32

Set this fraction [0..1] to specify how finely detailed each leaf item becomes.

  • 0 = coarse (broad, less specialized leaves),
  • 1 = extremely specific leaves.
Source

pub fn balance_symmetry(&self) -> &f32

Set this fraction [0..1] to numerically characerize the symmetrical vs. unbalanced structure of our tree.

  • 0.0 = random/unbalanced,
  • 1.0 = perfectly balanced.
Source

pub fn complexity(&self) -> &ConfigurationComplexity

Set this field to select between “simple”, “balanced”, or “complex” for overall usage patterns.

Source

pub fn level_specific(&self) -> &Option<TreeLevelSpecificConfiguration>

Set this optional sub-struct to specify the arrays for per-level breadth & density overrides.

Source

pub fn weighted_branching(&self) -> &Option<WeightedBranchingConfiguration>

Set this optional sub-struct to define mean ± variance if you want random branching factors.

Source

pub fn level_skipping(&self) -> &Option<LevelSkippingConfiguration>

Set this optional sub-struct to define probabilities for skipping deeper expansions at certain levels.

Source

pub fn capstone(&self) -> &Option<CapstoneGenerationConfiguration>

Set this optional sub-struct to define the characteristics of capstone leaves, how many of them there are, and our chances of encountering one at any given level.

Source

pub fn ordering(&self) -> &Option<SubBranchOrdering>

Set this optional sub-struct to define how sub-branches get ordered (alphabetical, difficulty, random).

Source

pub fn ai_confidence(&self) -> &Option<AiTreeBranchingConfidenceConfiguration>

Set this optional sub-struct to define how AI confidence modifies branch factor (if any).

Source

pub fn aggregator_preference(&self) -> &f32

Set this fraction [0..1] to control how often aggregator nodes are used vs. dispatch nodes at intermediate levels.

  • 0.0 => always dispatch
  • 1.0 => always aggregator
  • 0.5 => half aggregator, half dispatch

This is a simplistic alternative to tree_expansion_policy. If tree_expansion_policy is set to something more advanced, this field might be ignored or used as a fallback.

Source

pub fn allow_early_leaves(&self) -> &bool

If true, leaf nodes may appear before the final depth, i.e. some sub-branches might terminate early with a LeafHolder. If false, all leaves appear exactly at depth.

Source

pub fn partial_subbranch_probability(&self) -> &f32

Fraction [0..1] controlling how often each potential child sub-branch is included.

  • 0.0 => no optional sub-branches
  • 1.0 => all sub-branches are included

This might tie into ChildSpec optional or probability fields, e.g. randomizing which children appear.

Source

pub fn tree_expansion_policy(&self) -> &TreeExpansionPolicy

An advanced enum describing how to pick among Dispatch, Aggregate, or LeafHolder at each level.

  • If you set this to NodeVariantStrategy::Simple, you get a straightforward approach where we do dispatch at intermediate nodes and leaves at final depth.
  • If you use Weighted, you can do random picks among aggregator/dispatch/leaf.
  • If you do DepthBased, you can specify exactly which level to start aggregator vs. leaf.
Source

pub fn aggregator_depth_limit(&self) -> &Option<u8>

If set, aggregator nodes will not appear deeper than this level. If None, no limit. If Some(n), aggregator variant is disallowed for levels > n.

Source

pub fn dispatch_depth_limit(&self) -> &Option<u8>

If set, dispatch nodes will not appear deeper than this level. If None, no limit. If Some(n), dispatch variant is disallowed for levels > n.

Source

pub fn leaf_min_depth(&self) -> &Option<u8>

If set, leaf-holder nodes cannot appear before this level (forces deeper expansions). If None, no minimum. If Some(n), we skip leaf-holder variants until level ≥ n.

Source§

impl GrowerTreeConfiguration

Source

pub fn validate(&self) -> Result<(), GrowerTreeConfigurationError>

This function should validate all fields: baseline parameters and each advanced sub-struct if present. Returns an error if any invalid configuration is detected.

Source

pub fn from_toml_str( s: &str, ) -> Result<GrowerTreeConfiguration, GrowerTreeConfigurationError>

This function should parse a GrowerTreeConfiguration from TOML string input.

Source

pub fn to_toml_string(&self) -> Result<String, GrowerTreeConfigurationError>

This function should convert the GrowerTreeConfiguration into a pretty TOML string.

Source

pub fn from_toml_file<P>( path: P, ) -> Result<GrowerTreeConfiguration, GrowerTreeConfigurationError>
where P: AsRef<Path>,

This function should load a GrowerTreeConfiguration from a TOML file on disk.

Source

pub fn to_toml_file<P>( &self, path: P, ) -> Result<(), GrowerTreeConfigurationError>
where P: AsRef<Path>,

This function should write the GrowerTreeConfiguration to a file in TOML format.

Trait Implementations§

Source§

impl AiJsonTemplate for GrowerTreeConfiguration

Source§

fn to_template() -> Value

Return a JSON template describing how the AI’s output should be structured. This might include doc comments or other instructions for each field.
Source§

impl AiJsonTemplateWithJustification for GrowerTreeConfiguration

Source§

impl Clone for GrowerTreeConfiguration

Source§

fn clone(&self) -> GrowerTreeConfiguration

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CompareAggregatorPreference for GrowerTreeConfiguration

Source§

impl CompareAiConfidence for GrowerTreeConfiguration

Source§

impl CompareAllowEarlyLeaves for GrowerTreeConfiguration

Source§

impl CompareBalanceSymmetry for GrowerTreeConfiguration

Source§

impl CompareBreadth for GrowerTreeConfiguration

Source§

impl CompareCapstone for GrowerTreeConfiguration

Source§

impl CompareComplexity for GrowerTreeConfiguration

Source§

impl CompareDensity for GrowerTreeConfiguration

Source§

impl CompareDepth for GrowerTreeConfiguration

Source§

impl CompareDepthLimits for GrowerTreeConfiguration

Source§

impl CompareFullConfiguration for GrowerTreeConfiguration

Source§

impl CompareLeafGranularity for GrowerTreeConfiguration

Source§

impl CompareLevelSkipping for GrowerTreeConfiguration

Source§

impl CompareLevelSpecific for GrowerTreeConfiguration

Source§

impl ComparePartialSubbranchProbability for GrowerTreeConfiguration

Source§

impl CompareSubBranchOrdering for GrowerTreeConfiguration

Source§

impl CompareTreeExpansionPolicy for GrowerTreeConfiguration

Source§

impl CompareWeightedBranching for GrowerTreeConfiguration

Source§

impl Debug for GrowerTreeConfiguration

Source§

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

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

impl Default for GrowerTreeConfiguration

Source§

fn default() -> GrowerTreeConfiguration

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

impl<'de> Deserialize<'de> for GrowerTreeConfiguration

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<GrowerTreeConfiguration, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<JustifiedGrowerTreeConfiguration> for GrowerTreeConfiguration

Source§

fn from(value: JustifiedGrowerTreeConfiguration) -> GrowerTreeConfiguration

Converts to this type from the input type.
Source§

impl LoadFromFile for GrowerTreeConfiguration
where GrowerTreeConfiguration: for<'de> Deserialize<'de>,

Source§

type Error = SaveLoadError

Source§

fn load_from_file<'async_trait>( filename: impl AsRef<Path> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<GrowerTreeConfiguration, <GrowerTreeConfiguration as LoadFromFile>::Error>> + Send + 'async_trait>>
where GrowerTreeConfiguration: 'async_trait,

Source§

impl PartialEq for GrowerTreeConfiguration

Source§

fn eq(&self, other: &GrowerTreeConfiguration) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl SaveToFile for GrowerTreeConfiguration

Source§

type Error = SaveLoadError

Source§

fn save_to_file<'life0, 'async_trait>( &'life0 self, filename: impl AsRef<Path> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<(), <GrowerTreeConfiguration as SaveToFile>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, GrowerTreeConfiguration: 'async_trait,

Source§

impl Serialize for GrowerTreeConfiguration

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for GrowerTreeConfiguration

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
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> IntoBox<dyn Any> for T
where T: Any,

Source§

fn into_box(self) -> Box<dyn Any>

Convert self into the appropriate boxed form.
Source§

impl<T> IntoBox<dyn Any + Send> for T
where T: Any + Send,

Source§

fn into_box(self) -> Box<dyn Any + Send>

Convert self into the appropriate boxed form.
Source§

impl<T> IntoBox<dyn Any + Sync + Send> for T
where T: Any + Send + Sync,

Source§

fn into_box(self) -> Box<dyn Any + Sync + Send>

Convert self into the appropriate boxed form.
Source§

impl<T> IntoCollection<T> for T

Source§

fn into_collection<A>(self) -> SmallVec<A>
where A: Array<Item = T>,

Converts self into a collection.
Source§

fn mapped<U, F, A>(self, f: F) -> SmallVec<A>
where F: FnMut(T) -> U, A: Array<Item = U>,

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T> LoadFromDirectory for T
where T: LoadFromFile + Send, <T as LoadFromFile>::Error: Display + From<SaveLoadError> + From<Error> + Send + 'static,

Source§

type Error = <T as LoadFromFile>::Error

Source§

fn load_from_directory<'async_trait>( dir: impl AsRef<Path> + Send + 'async_trait, ) -> Pin<Box<dyn Future<Output = Result<Vec<T>, <T as LoadFromDirectory>::Error>> + Send + 'async_trait>>
where T: 'async_trait,

Source§

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

Source§

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 primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

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>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

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>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

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>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

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>

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>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

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>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

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>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

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>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

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>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

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 bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

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 mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
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.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

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);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

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