Editor

Struct Editor 

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

Allows for text input in the configured editor.

Implementations§

Source§

impl Editor

Source

pub fn new(path: impl AsRef<Path>) -> Result<Editor, Error>

Create a new editor.

Source

pub fn comment() -> Editor

Source

pub fn extension(self, ext: &str) -> Editor

Set the file extension.

Source

pub fn truncate(self, truncate: bool) -> Editor

Truncate the file to length 0 when opening

Source

pub fn cleanup(self, cleanup: bool) -> Editor

Clean up the file after the Editor is dropped.

Source

pub fn initial(self, content: impl AsRef<[u8]>) -> Result<Editor, Error>

Initialize the file with the provided content, as long as the file does not already contain anything.

Source

pub fn edit(&mut self) -> Result<Option<String>, Error>

Open the editor and return the edited text.

If the text hasn’t changed from the initial contents of the editor, return None.

Trait Implementations§

Source§

impl Default for Editor

Source§

fn default() -> Editor

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

impl Drop for Editor

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl Freeze for Editor

§

impl RefUnwindSafe for Editor

§

impl Send for Editor

§

impl Sync for Editor

§

impl Unpin for Editor

§

impl UnwindSafe for Editor

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> 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> 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> Same for T

Source§

type Output = T

Should always be Self
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<T> ErasedDestructor for T
where T: 'static,