Trait druid::text::EditableText

source ·
pub trait EditableText: Sized {
Show 14 methods // Required methods fn cursor(&self, position: usize) -> Option<StringCursor<'_>>; fn edit(&mut self, range: Range<usize>, new: impl Into<String>); fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>>; fn len(&self) -> usize; fn prev_word_offset(&self, offset: usize) -> Option<usize>; fn next_word_offset(&self, offset: usize) -> Option<usize>; fn prev_grapheme_offset(&self, offset: usize) -> Option<usize>; fn next_grapheme_offset(&self, offset: usize) -> Option<usize>; fn prev_codepoint_offset(&self, offset: usize) -> Option<usize>; fn next_codepoint_offset(&self, offset: usize) -> Option<usize>; fn preceding_line_break(&self, offset: usize) -> usize; fn next_line_break(&self, offset: usize) -> usize; fn is_empty(&self) -> bool; fn from_str(s: &str) -> Self;
}
Expand description

An EditableText trait.

Required Methods§

source

fn cursor(&self, position: usize) -> Option<StringCursor<'_>>

Create a cursor with a reference to the text and a offset position.

Returns None if the position isn’t a codepoint boundary.

source

fn edit(&mut self, range: Range<usize>, new: impl Into<String>)

Replace range with new text. Can panic if supplied an invalid range.

source

fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>>

Get slice of text at range.

source

fn len(&self) -> usize

Get length of text (in bytes).

source

fn prev_word_offset(&self, offset: usize) -> Option<usize>

Get the previous word offset from the given offset, if it exists.

source

fn next_word_offset(&self, offset: usize) -> Option<usize>

Get the next word offset from the given offset, if it exists.

source

fn prev_grapheme_offset(&self, offset: usize) -> Option<usize>

Get the next grapheme offset from the given offset, if it exists.

source

fn next_grapheme_offset(&self, offset: usize) -> Option<usize>

Get the next grapheme offset from the given offset, if it exists.

source

fn prev_codepoint_offset(&self, offset: usize) -> Option<usize>

Get the previous codepoint offset from the given offset, if it exists.

source

fn next_codepoint_offset(&self, offset: usize) -> Option<usize>

Get the next codepoint offset from the given offset, if it exists.

source

fn preceding_line_break(&self, offset: usize) -> usize

Get the preceding line break offset from the given offset

source

fn next_line_break(&self, offset: usize) -> usize

Get the next line break offset from the given offset

source

fn is_empty(&self) -> bool

Returns true if this text has 0 length.

source

fn from_str(s: &str) -> Self

Construct an instance of this type from a &str.

Implementations on Foreign Types§

source§

impl EditableText for String

source§

fn cursor<'a>(&self, position: usize) -> Option<StringCursor<'_>>

source§

fn edit(&mut self, range: Range<usize>, new: impl Into<String>)

source§

fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>>

source§

fn len(&self) -> usize

source§

fn prev_grapheme_offset(&self, from: usize) -> Option<usize>

source§

fn next_grapheme_offset(&self, from: usize) -> Option<usize>

source§

fn prev_codepoint_offset(&self, from: usize) -> Option<usize>

source§

fn next_codepoint_offset(&self, from: usize) -> Option<usize>

source§

fn prev_word_offset(&self, from: usize) -> Option<usize>

source§

fn next_word_offset(&self, from: usize) -> Option<usize>

source§

fn is_empty(&self) -> bool

source§

fn from_str(s: &str) -> Self

source§

fn preceding_line_break(&self, from: usize) -> usize

source§

fn next_line_break(&self, from: usize) -> usize

source§

impl EditableText for Arc<String>

source§

fn cursor(&self, position: usize) -> Option<StringCursor<'_>>

source§

fn edit(&mut self, range: Range<usize>, new: impl Into<String>)

source§

fn slice(&self, range: Range<usize>) -> Option<Cow<'_, str>>

source§

fn len(&self) -> usize

source§

fn prev_word_offset(&self, offset: usize) -> Option<usize>

source§

fn next_word_offset(&self, offset: usize) -> Option<usize>

source§

fn prev_grapheme_offset(&self, offset: usize) -> Option<usize>

source§

fn next_grapheme_offset(&self, offset: usize) -> Option<usize>

source§

fn prev_codepoint_offset(&self, offset: usize) -> Option<usize>

source§

fn next_codepoint_offset(&self, offset: usize) -> Option<usize>

source§

fn preceding_line_break(&self, offset: usize) -> usize

source§

fn next_line_break(&self, offset: usize) -> usize

source§

fn is_empty(&self) -> bool

source§

fn from_str(s: &str) -> Self

Implementors§