pub trait TextBuffer {
    fn is_mutable(&self) -> bool;
    fn as_str(&self) -> &str;
    fn insert_text(&mut self, text: &str, char_index: usize) -> usize;
    fn delete_char_range(&mut self, char_range: Range<usize>);

    fn char_range(&self, char_range: Range<usize>) -> &str { ... }
    fn byte_index_from_char_index(&self, char_index: usize) -> usize { ... }
    fn clear(&mut self) { ... }
    fn replace(&mut self, text: &str) { ... }
    fn take(&mut self) -> String { ... }
}
Expand description

Trait constraining what types crate::TextEdit may use as an underlying buffer.

Most likely you will use a String which implements TextBuffer.

Required Methods

Can this text be edited?

Returns this buffer as a str.

Inserts text text into this buffer at character index char_index.

Notes

char_index is a character index, not a byte index.

Return

Returns how many characters were successfully inserted

Deletes a range of text char_range from this buffer.

Notes

char_range is a character range, not a byte range.

Provided Methods

Reads the given character range.

Clears all characters in this buffer

Replaces all contents of this string with text

Clears all characters in this buffer and returns a string of the contents.

Implementations on Foreign Types

Immutable view of a &str!

Implementors