Enum pretty_trait::Conditional
[−]
[src]
pub enum Conditional<T> { Always(T), OnlyBroken(T), OnlyUnbroken(T), }
A wrapper which decides whether or not to render its contents based on the breaking mode of the environment.
Examples
Adding a trailing comma only when broken:
use pretty_trait::{JoinExt, Sep, Conditional, to_string}; let max_line = Some(10); let tab_size = 4; let to_render = "lorem," .join(Sep(1)) .join("ipsum,") .join(Sep(1)) .join("dolor,") .join(Sep(1)) .join("sit,") .join(Sep(1)) .join("amet") .join(Conditional::OnlyBroken(",")); // Trailing comma when broken across multiple lines: let expected_broken = "\ lorem, ipsum, dolor, sit, amet,"; assert_eq!(to_string(&to_render, max_line, tab_size), expected_broken); // No trailing comma when rendered on a single line: assert_eq!( to_string(&to_render, None, tab_size), "lorem, ipsum, dolor, sit, amet" );
Variants
Always(T)
Render the wrapped value under all circumstances
OnlyBroken(T)
Render the wrapped value only when it appears in a multi-line context
OnlyUnbroken(T)
Render the wrapped value only when it appears in a single-line context
Trait Implementations
impl<T: Clone> Clone for Conditional<T>
[src]
fn clone(&self) -> Conditional<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Copy> Copy for Conditional<T>
[src]
impl<T: Debug> Debug for Conditional<T>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<T: Pretty> Pretty for Conditional<T>
[src]
Auto Trait Implementations
impl<T> Send for Conditional<T> where
T: Send,
T: Send,
impl<T> Sync for Conditional<T> where
T: Sync,
T: Sync,