pub struct MovableListHandler { /* private fields */ }
Implementations§
Source§impl MovableListHandler
impl MovableListHandler
Sourcepub fn apply_delta(
&self,
delta: DeltaRope<ArrayVec<ValueOrHandler, 8>, ListDeltaMeta>,
container_remap: &mut FxHashMap<ContainerID, ContainerID>,
) -> LoroResult<()>
pub fn apply_delta( &self, delta: DeltaRope<ArrayVec<ValueOrHandler, 8>, ListDeltaMeta>, container_remap: &mut FxHashMap<ContainerID, ContainerID>, ) -> LoroResult<()>
Applies a delta to the movable list handler.
This function processes the given delta, performing the necessary insertions, deletions, and moves to update the list accordingly. It handles container elements, maintains a map for remapping container IDs, and ensures proper indexing throughout the operation.
§Arguments
delta
- A delta representing the changes to apply.container_remap
- A map used to remap container IDs during the operation.
§Returns
LoroResult<()>
- ReturnsOk(())
if successful, or an error if something goes wrong.
Source§impl MovableListHandler
impl MovableListHandler
pub fn insert(&self, pos: usize, v: impl Into<LoroValue>) -> LoroResult<()>
pub fn insert_with_txn( &self, txn: &mut Transaction, pos: usize, v: LoroValue, ) -> LoroResult<()>
pub fn mov(&self, from: usize, to: usize) -> LoroResult<()>
Sourcepub fn move_with_txn(
&self,
txn: &mut Transaction,
from: usize,
to: usize,
) -> LoroResult<()>
pub fn move_with_txn( &self, txn: &mut Transaction, from: usize, to: usize, ) -> LoroResult<()>
Move element from from
to to
. After this op, elem will be at pos to
.
pub fn push(&self, v: LoroValue) -> LoroResult<()>
pub fn push_with_txn( &self, txn: &mut Transaction, v: LoroValue, ) -> LoroResult<()>
pub fn pop_(&self) -> LoroResult<Option<ValueOrHandler>>
pub fn pop(&self) -> LoroResult<Option<LoroValue>>
pub fn pop_with_txn( &self, txn: &mut Transaction, ) -> LoroResult<Option<LoroValue>>
pub fn insert_container<H: HandlerTrait>( &self, pos: usize, child: H, ) -> LoroResult<H>
pub fn push_container<H: HandlerTrait>(&self, child: H) -> LoroResult<H>
pub fn insert_container_with_txn<H: HandlerTrait>( &self, txn: &mut Transaction, pos: usize, child: H, ) -> LoroResult<H>
pub fn set(&self, index: usize, value: impl Into<LoroValue>) -> LoroResult<()>
pub fn set_with_txn( &self, txn: &mut Transaction, index: usize, value: LoroValue, ) -> LoroResult<()>
pub fn set_container<H: HandlerTrait>( &self, pos: usize, child: H, ) -> LoroResult<H>
pub fn set_container_with_txn<H: HandlerTrait>( &self, txn: &mut Transaction, pos: usize, child: H, ) -> LoroResult<H>
pub fn delete(&self, pos: usize, len: usize) -> LoroResult<()>
pub fn delete_with_txn( &self, txn: &mut Transaction, pos: usize, len: usize, ) -> LoroResult<()>
pub fn get_child_handler(&self, index: usize) -> LoroResult<Handler>
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
pub fn get_deep_value_with_id(&self) -> LoroValue
pub fn get(&self, index: usize) -> Option<LoroValue>
Sourcepub fn get_(&self, index: usize) -> Option<ValueOrHandler>
pub fn get_(&self, index: usize) -> Option<ValueOrHandler>
Get value at given index, if it’s a container, return a handler to the container
pub fn for_each<I>(&self, f: I)where
I: FnMut(ValueOrHandler),
pub fn log_internal_state(&self) -> String
pub fn new_detached() -> MovableListHandler
pub fn get_cursor(&self, pos: usize, side: Side) -> Option<Cursor>
pub fn is_deleted(&self) -> bool
pub fn clear(&self) -> LoroResult<()>
pub fn clear_with_txn(&self, txn: &mut Transaction) -> LoroResult<()>
pub fn get_creator_at(&self, pos: usize) -> Option<PeerID>
pub fn get_last_mover_at(&self, pos: usize) -> Option<PeerID>
pub fn get_last_editor_at(&self, pos: usize) -> Option<PeerID>
Trait Implementations§
Source§impl Clone for MovableListHandler
impl Clone for MovableListHandler
Source§fn clone(&self) -> MovableListHandler
fn clone(&self) -> MovableListHandler
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for MovableListHandler
impl Debug for MovableListHandler
Source§impl HandlerTrait for MovableListHandler
impl HandlerTrait for MovableListHandler
fn is_attached(&self) -> bool
fn attached_handler(&self) -> Option<&BasicHandler>
fn get_value(&self) -> LoroValue
fn get_deep_value(&self) -> LoroValue
fn kind(&self) -> ContainerType
fn to_handler(&self) -> Handler
fn from_handler(h: Handler) -> Option<Self>
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>
Source§fn get_attached(&self) -> Option<Self>
fn get_attached(&self) -> 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 MovableListHandler
impl RefUnwindSafe for MovableListHandler
impl Send for MovableListHandler
impl Sync for MovableListHandler
impl Unpin for MovableListHandler
impl UnwindSafe for MovableListHandler
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>
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>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
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>
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>
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>
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>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
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 rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
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);