Skip to main content

Tree

Struct Tree 

Source
pub(crate) struct Tree {
    header: Text,
    root: Entry,
    footer: Text,
}
Expand description

A parsed YAML document.

Block mappings are split into entries. A flow mapping with entries is kept as raw text until an edit enters it, and then it prints in block style. Everything else is kept as raw text. Printing the tree gives the source back, with edits applied.

Fields§

§header: Text§root: Entry§footer: Text

Implementations§

Source§

impl Tree

Source

pub(crate) fn parse(text: &str) -> Result<Self, DocumentError>

Read a YAML document with a single document in it.

§Errors

Returns an error when the text is not valid YAML or holds more than one document.

Source

pub(super) fn new(header: Text, root: Value, footer: Text) -> Self

Source

pub(crate) fn is_opaque_at(&self, path: &KeyPath) -> bool

Whether the node at path is a mapping the tree cannot edit.

Source

pub(crate) fn collapse_empty_root(&mut self)

Print an empty root mapping as {}. Call after editing.

Source

pub(super) fn into_mapping(self) -> Option<Mapping>

The root mapping, when the document has one the tree can edit.

Trait Implementations§

Source§

impl Clone for Tree

Source§

fn clone(&self) -> Tree

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Tree

Source§

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

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

impl Display for Tree

Source§

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

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

impl Editable for Tree

Source§

type Node = Entry

Source§

fn header_text(&self) -> &str

The text of the header comment of this document.
Source§

fn leading(&self) -> (&str, &str)

The text before the first entry as the document root holds it and as the first entry holds it. A format that keeps all of it in one place returns an empty root text.
Source§

fn set_leading(&mut self, applied: Applied<'_>)

Put the leading text of an applied header in place.
Source§

fn root(&self) -> &Entry

The root node.
Source§

fn root_mut(&mut self) -> &mut Entry

The root node the merge works on.
Source§

fn apply_header(&mut self, desired: &Self, existing: Existing)

Replace the leading comment block of this document with the header of desired.
Source§

impl Eq for Tree

Source§

impl PartialEq for Tree

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Tree

Auto Trait Implementations§

§

impl Freeze for Tree

§

impl RefUnwindSafe for Tree

§

impl Send for Tree

§

impl Sync for Tree

§

impl Unpin for Tree

§

impl UnsafeUnpin for Tree

§

impl UnwindSafe for Tree

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
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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, <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.