[−][src]Struct ptree::print_config::PrintConfig
Structure controlling the print output formatting
Fields
depth: u32
Maximum recursion depth when printing
The default is infinity, i.e. there is no recursion limit.
indent: usize
Indentation size. The default value is 3.
padding: usize
Padding size. The default value is 1.
styled: StyleWhen
Control when output is styled.
The default value is StyleWhen::Tty
, meaning that ANSI styles are only used for printing to the standard
output, and only when the standard output is a TTY.
characters: IndentChars
Characters used to print indentation lines or "branches" of the tree
branch: Style
ANSI style used for printing the indentation lines ("branches")
leaf: Style
ANSI style used for printing the item text ("leaves")
Implementations
impl PrintConfig
[src]
pub fn from_env() -> PrintConfig
[src]
Load print configuration from a configuration file or environment variables
Configuration files and variables
If the PTREE_CONFIG
environment variable is set, its value is used as the path to a file
from which to read to configuration parameters.
Otherwise, any file with a stem of ptree
inside the directory returned by [config_dir
]
is used.
Finally, environment variables may be used to override the values from the configuration file.
For every field of the PrintConfig
structure, the corresponding environment variable name
is PTREE_<FIELD_NAME>, for example PTREE_INDENT=4
sets the indent
field to 4.
Nested fields are supported; to set the branch foreground color use PTREE_BRANCH_FOREGROUND=red
.
Field values
[indent
] and [depth
] accept non-negative integers.
[styled
] accepts either "always"
, "tty"
or "never"
[leaf
] and [branch
] accept a Style
structure.
In a configuration file, this takes a form of a map.
Using environment variables, each field has to be set separately.
Color fields accept either an ANSI named color, a named web color, a hex code like "#33ffbb", an ANSI integer fixed color, or a [red, green, blue] triple of non-negative integers.
Other Style
fields are boolean parameters.
In a configuration file, they are parsed according to the rules of the deserialization format.
In an environment variables, TRUE
, ON
and 1
evaluate to true
, and FALSE
, OFF
and 0
evaluate to false
. Environment variable values are case insensitive.
[characters
] can be set to a string with a value of "utf", "ascii", "ascii-plus", "utf-bold", "utf-double"
or "utf-dashed". Alternatively, it can be set to a structure with each of their fields set to the
appropriate character.
Configuration file example
indent = 3
depth = 100
styled = "tty"
[branch]
foreground = "red"
dimmed = true
bold = false
[leaf]
foreground = "MediumSeaGreen"
background = "#102018"
Errors
This function does not report errors.
If anything goes wrong while loading the configuration parameters, a default PrintConfig
is returned.
pub fn should_style_output(&self, output_kind: OutputKind) -> bool
[src]
Checks if output to a writer should be styled
pub fn paint_branch(&self, input: impl Display) -> impl Display
[src]
Formats input
according to the branch style
This function is a wrapper that is available even without the "ansi"
feature.
Without that feature it returns the input unchanged.
pub fn paint_leaf(&self, input: impl Display) -> impl Display
[src]
Formats input
according to the leaf style
This function is a wrapper that is available even without the "ansi"
feature.
Without that feature it returns the input unchanged.
Trait Implementations
impl Clone for PrintConfig
[src]
pub fn clone(&self) -> PrintConfig
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for PrintConfig
[src]
impl Default for PrintConfig
[src]
pub fn default() -> PrintConfig
[src]
impl<'de> Deserialize<'de> for PrintConfig where
PrintConfig: Default,
[src]
PrintConfig: Default,
pub fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
__D: Deserializer<'de>,
impl PartialEq<PrintConfig> for PrintConfig
[src]
pub fn eq(&self, other: &PrintConfig) -> bool
[src]
pub fn ne(&self, other: &PrintConfig) -> bool
[src]
impl Serialize for PrintConfig
[src]
pub fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer,
[src]
__S: Serializer,
impl StructuralPartialEq for PrintConfig
[src]
Auto Trait Implementations
impl RefUnwindSafe for PrintConfig
[src]
impl Send for PrintConfig
[src]
impl Sync for PrintConfig
[src]
impl Unpin for PrintConfig
[src]
impl UnwindSafe for PrintConfig
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,