Enum scm_record::Section

source ·
pub enum Section<'a> {
    Unchanged {
        lines: Vec<Cow<'a, str>>,
    },
    Changed {
        lines: Vec<SectionChangedLine<'a>>,
    },
    FileMode {
        is_checked: bool,
        before: FileMode,
        after: FileMode,
    },
    Binary {
        is_checked: bool,
        old_description: Option<Cow<'a, str>>,
        new_description: Option<Cow<'a, str>>,
    },
}
Expand description

A section of a file to be rendered and recorded.

Variants§

§

Unchanged

Fields

§lines: Vec<Cow<'a, str>>

The contents of the lines, including their trailing newline character(s), if any.

This section of the file is unchanged and just used for context.

By default, only part of the context will be shown. However, all of the context lines should be provided so that they can be used to globally number the lines correctly.

§

Changed

Fields

§lines: Vec<SectionChangedLine<'a>>

The contents of the lines, including their trailing newline character(s), if any.

This section of the file is changed, and the user needs to select which specific changed lines to record.

§

FileMode

Fields

§is_checked: bool

Whether or not the file mode change was selected for inclusion in the UI.

§before: FileMode

The old file mode.

§after: FileMode

The new file mode.

This indicates that the Unix file mode of the file changed, and that the user needs to accept that mode change or not. This is not part of the “contents” of the file per se, but it’s rendered inline as if it were.

§

Binary

Fields

§is_checked: bool

Whether or not the binary contents change was selected for inclusion in the UI.

§old_description: Option<Cow<'a, str>>

The description of the old binary contents, for use in the UI only.

§new_description: Option<Cow<'a, str>>

The description of the new binary contents, for use in the UI only.

This file contains binary contents.

Implementations§

source§

impl Section<'_>

source

pub fn is_editable(&self) -> bool

Whether or not this section contains user-editable content (as opposed to simply contextual content).

source

pub fn tristate(&self) -> Tristate

Get the tristate value of this section. If there are no items in this section, returns Tristate::False.

source

pub fn set_checked(&mut self, checked: bool)

Select or unselect all items in this section.

source

pub fn toggle_all(&mut self)

Toggle the selection of this section.

Trait Implementations§

source§

impl<'a> Clone for Section<'a>

source§

fn clone(&self) -> Section<'a>

Returns a copy 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<'a> Debug for Section<'a>

source§

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

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

impl<'de, 'a> Deserialize<'de> for Section<'a>

source§

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

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

impl<'a> PartialEq<Section<'a>> for Section<'a>

source§

fn eq(&self, other: &Section<'a>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> Serialize for Section<'a>

source§

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

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

impl<'a> Eq for Section<'a>

source§

impl<'a> StructuralEq for Section<'a>

source§

impl<'a> StructuralPartialEq for Section<'a>

Auto Trait Implementations§

§

impl<'a> RefUnwindSafe for Section<'a>

§

impl<'a> Send for Section<'a>

§

impl<'a> Sync for Section<'a>

§

impl<'a> Unpin for Section<'a>

§

impl<'a> UnwindSafe for Section<'a>

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
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 Twhere 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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