pub struct TextHandler { /* private fields */ }Expand description
Flatten attributes that allow overlap
Implementations§
Source§impl TextHandler
impl TextHandler
Sourcepub fn new_detached() -> Self
pub fn new_detached() -> Self
Create a new container that is detached from the document.
The edits on a detached container will not be persisted. To attach the container to the document, please insert it into an attached container.
Sourcepub fn version_id(&self) -> usize
pub fn version_id(&self) -> usize
Get the version id of the richtext
This can be used to detect whether the richtext is changed
pub fn get_richtext_value(&self) -> LoroValue
pub fn is_empty(&self) -> bool
pub fn len_utf8(&self) -> usize
pub fn len_utf16(&self) -> usize
pub fn len_unicode(&self) -> usize
Sourcepub fn len_event(&self) -> usize
pub fn len_event(&self) -> usize
if wasm feature is enabled, it is a UTF-16 length
otherwise, it is a Unicode length
pub fn diagnose(&self)
pub fn iter(&self, callback: impl FnMut(&str) -> bool)
Sourcepub fn char_at(&self, pos: usize) -> LoroResult<char>
pub fn char_at(&self, pos: usize) -> LoroResult<char>
pos is a Event Index:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
Sourcepub fn slice(&self, start_index: usize, end_index: usize) -> LoroResult<String>
pub fn slice(&self, start_index: usize, end_index: usize) -> LoroResult<String>
start_index and end_index are Event Index:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
Sourcepub fn splice(&self, pos: usize, len: usize, s: &str) -> LoroResult<String>
pub fn splice(&self, pos: usize, len: usize, s: &str) -> LoroResult<String>
pos is a Event Index:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
This method requires auto_commit to be enabled.
pub fn splice_utf8(&self, pos: usize, len: usize, s: &str) -> LoroResult<()>
Sourcepub fn insert(&self, pos: usize, s: &str) -> LoroResult<()>
pub fn insert(&self, pos: usize, s: &str) -> LoroResult<()>
pos is a Event Index:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
This method requires auto_commit to be enabled.
pub fn insert_utf8(&self, pos: usize, s: &str) -> LoroResult<()>
pub fn insert_unicode(&self, pos: usize, s: &str) -> LoroResult<()>
Sourcepub fn insert_with_txn(
&self,
txn: &mut Transaction,
pos: usize,
s: &str,
) -> LoroResult<()>
pub fn insert_with_txn( &self, txn: &mut Transaction, pos: usize, s: &str, ) -> LoroResult<()>
pos is a Event Index:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
pub fn insert_with_txn_utf8( &self, txn: &mut Transaction, pos: usize, s: &str, ) -> LoroResult<()>
Sourcepub fn delete(&self, pos: usize, len: usize) -> LoroResult<()>
pub fn delete(&self, pos: usize, len: usize) -> LoroResult<()>
pos is a Event Index:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
This method requires auto_commit to be enabled.
pub fn delete_utf8(&self, pos: usize, len: usize) -> LoroResult<()>
pub fn delete_unicode(&self, pos: usize, len: usize) -> LoroResult<()>
Sourcepub fn delete_with_txn(
&self,
txn: &mut Transaction,
pos: usize,
len: usize,
) -> LoroResult<()>
pub fn delete_with_txn( &self, txn: &mut Transaction, pos: usize, len: usize, ) -> LoroResult<()>
pos is a Event Index:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
Sourcepub fn mark(
&self,
start: usize,
end: usize,
key: impl Into<InternalString>,
value: LoroValue,
) -> LoroResult<()>
pub fn mark( &self, start: usize, end: usize, key: impl Into<InternalString>, value: LoroValue, ) -> LoroResult<()>
start and end are [Event Index]s:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
This method requires auto_commit to be enabled.
Sourcepub fn unmark(
&self,
start: usize,
end: usize,
key: impl Into<InternalString>,
) -> LoroResult<()>
pub fn unmark( &self, start: usize, end: usize, key: impl Into<InternalString>, ) -> LoroResult<()>
start and end are [Event Index]s:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
This method requires auto_commit to be enabled.
Sourcepub fn mark_with_txn(
&self,
txn: &mut Transaction,
start: usize,
end: usize,
key: impl Into<InternalString>,
value: LoroValue,
is_delete: bool,
) -> LoroResult<()>
pub fn mark_with_txn( &self, txn: &mut Transaction, start: usize, end: usize, key: impl Into<InternalString>, value: LoroValue, is_delete: bool, ) -> LoroResult<()>
start and end are [Event Index]s:
- if feature=“wasm”, pos is a UTF-16 index
- if feature!=“wasm”, pos is a Unicode index
pub fn check(&self)
pub fn apply_delta(&self, delta: &[TextDelta]) -> LoroResult<()>
pub fn apply_delta_with_txn( &self, txn: &mut Transaction, delta: &[TextDelta], ) -> LoroResult<()>
pub fn update( &self, text: &str, options: UpdateOptions, ) -> Result<(), UpdateTimeoutError>
pub fn update_by_line( &self, text: &str, options: UpdateOptions, ) -> Result<(), UpdateTimeoutError>
pub fn to_string(&self) -> String
pub fn get_cursor(&self, event_index: usize, side: Side) -> Option<Cursor>
pub fn is_deleted(&self) -> bool
pub fn push_str(&self, s: &str) -> LoroResult<()>
Trait Implementations§
Source§impl Clone for TextHandler
impl Clone for TextHandler
Source§fn clone(&self) -> TextHandler
fn clone(&self) -> TextHandler
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TextHandler
impl Debug for TextHandler
Source§impl HandlerTrait for TextHandler
impl HandlerTrait for TextHandler
fn to_handler(&self) -> Handler
Source§fn attach(
&self,
txn: &mut Transaction,
parent: &BasicHandler,
self_id: ContainerID,
) -> LoroResult<Self>
fn attach( &self, txn: &mut Transaction, parent: &BasicHandler, self_id: ContainerID, ) -> LoroResult<Self>
fn attached_handler(&self) -> Option<&BasicHandler>
fn get_value(&self) -> LoroValue
fn get_deep_value(&self) -> LoroValue
fn is_attached(&self) -> bool
fn kind(&self) -> ContainerType
Source§fn get_attached(&self) -> Option<Self>
fn get_attached(&self) -> Option<Self>
fn from_handler(h: Handler) -> Option<Self>
fn doc(&self) -> Option<LoroDoc>
fn parent(&self) -> Option<Handler>
fn idx(&self) -> ContainerIdx
fn id(&self) -> ContainerID
fn with_state<R>( &self, f: impl FnOnce(&mut State) -> LoroResult<R>, ) -> LoroResult<R>
Auto Trait Implementations§
impl Freeze for TextHandler
impl RefUnwindSafe for TextHandler
impl Send for TextHandler
impl Sync for TextHandler
impl Unpin for TextHandler
impl UnwindSafe for TextHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightBlack.
§Example
println!("{}", value.bright_black());Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightGreen.
§Example
println!("{}", value.bright_green());Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightYellow.
§Example
println!("{}", value.bright_yellow());Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightMagenta.
§Example
println!("{}", value.bright_magenta());Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Returns self with the
fg()
set to
Color::BrightWhite.
§Example
println!("{}", value.bright_white());Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightBlack.
§Example
println!("{}", value.on_bright_black());Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightGreen.
§Example
println!("{}", value.on_bright_green());Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightYellow.
§Example
println!("{}", value.on_bright_yellow());Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightBlue.
§Example
println!("{}", value.on_bright_blue());Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightMagenta.
§Example
println!("{}", value.on_bright_magenta());Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightCyan.
§Example
println!("{}", value.on_bright_cyan());Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Returns self with the
bg()
set to
Color::BrightWhite.
§Example
println!("{}", value.on_bright_white());Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn underline(&self) -> Painted<&T>
fn underline(&self) -> Painted<&T>
Returns self with the
attr()
set to
Attribute::Underline.
§Example
println!("{}", value.underline());Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Returns self with the
attr()
set to
Attribute::RapidBlink.
§Example
println!("{}", value.rapid_blink());Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);