Text

Struct Text 

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

Represents the buffer of characters which are operated on by the commands, and the stack of operations that are eligible for undo commands.

Implementations§

Source§

impl Text

use simple_text_editor::ops;
use simple_text_editor::text::Text;
let (num_ops, ops) = ops::parse(r#"4
1 hello
2 1
2 1
1 p me!
"#).unwrap();
let mut text = Text::new("", num_ops);
text.apply(ops);
assert_eq!(text.output(), "help me!".to_string());
Source

pub fn new(init: impl AsRef<str>, num_ops: usize) -> Self

Creates a new Text instance, which can start from an initial state instead of an empty buffer.

Source

pub fn apply(&mut self, ops: Vec<Operation<'_>>)

Mutates the Text instance by executing each operation in ops serially.

Source

pub fn output(self) -> String

Returns the current state of the Text instance’s internal buffer.

Trait Implementations§

Source§

impl Debug for Text

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Text

§

impl RefUnwindSafe for Text

§

impl Send for Text

§

impl Sync for Text

§

impl Unpin for Text

§

impl UnwindSafe for Text

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, 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.