Struct zed2::languages::TextBuffer

source ·
pub struct TextBuffer {
    pub lamport_clock: Lamport,
    /* private fields */
}

Fields§

§lamport_clock: Lamport

Implementations§

source§

impl Buffer

source

pub fn new(replica_id: u16, remote_id: u64, base_text: String) -> Buffer

source

pub fn version(&self) -> Global

source

pub fn snapshot(&self) -> BufferSnapshot

source

pub fn replica_id(&self) -> u16

source

pub fn remote_id(&self) -> u64

source

pub fn deferred_ops_len(&self) -> usize

source

pub fn transaction_group_interval(&self) -> Duration

source

pub fn edit<R, I, S, T>(&mut self, edits: R) -> Operationwhere R: IntoIterator<IntoIter = I>, I: ExactSizeIterator<Item = (Range<S>, T)>, S: ToOffset, T: Into<Arc<str, Global>>,

source

pub fn set_line_ending(&mut self, line_ending: LineEnding)

source

pub fn apply_ops<I>(&mut self, ops: I) -> Result<(), Error>where I: IntoIterator<Item = Operation>,

source

pub fn peek_undo_stack(&self) -> Option<&HistoryEntry>

source

pub fn peek_redo_stack(&self) -> Option<&HistoryEntry>

source

pub fn start_transaction(&mut self) -> Option<Lamport>

source

pub fn start_transaction_at(&mut self, now: Instant) -> Option<Lamport>

source

pub fn end_transaction(&mut self) -> Option<(Lamport, Global)>

source

pub fn end_transaction_at(&mut self, now: Instant) -> Option<(Lamport, Global)>

source

pub fn finalize_last_transaction(&mut self) -> Option<&Transaction>

source

pub fn group_until_transaction(&mut self, transaction_id: Lamport)

source

pub fn base_text(&self) -> &Rope

source

pub fn operations(&self) -> &TreeMap<Lamport, Operation>

source

pub fn undo(&mut self) -> Option<(Lamport, Operation)>

source

pub fn undo_transaction(&mut self, transaction_id: Lamport) -> Option<Operation>

source

pub fn undo_to_transaction( &mut self, transaction_id: Lamport ) -> Vec<Operation, Global>

source

pub fn forget_transaction(&mut self, transaction_id: Lamport)

source

pub fn merge_transactions(&mut self, transaction: Lamport, destination: Lamport)

source

pub fn redo(&mut self) -> Option<(Lamport, Operation)>

source

pub fn redo_to_transaction( &mut self, transaction_id: Lamport ) -> Vec<Operation, Global>

source

pub fn push_transaction(&mut self, transaction: Transaction, now: Instant)

source

pub fn edited_ranges_for_transaction<D, 'a>( &'a self, transaction: &'a Transaction ) -> impl Iterator<Item = Range<D>> + 'awhere D: TextDimension,

source

pub fn subscribe(&mut self) -> Subscription

source

pub fn wait_for_edits( &mut self, edit_ids: impl IntoIterator<Item = Lamport> ) -> impl Future<Output = Result<(), Error>> + 'static

source

pub fn wait_for_anchors( &mut self, anchors: impl IntoIterator<Item = Anchor> ) -> impl Future<Output = Result<(), Error>> + 'static

source

pub fn wait_for_version( &mut self, version: Global ) -> impl Future<Output = Result<(), Error>>

source

pub fn give_up_waiting(&mut self)

Methods from Deref<Target = BufferSnapshot>§

source

pub fn as_rope(&self) -> &Rope

source

pub fn remote_id(&self) -> u64

source

pub fn replica_id(&self) -> u16

source

pub fn row_count(&self) -> u32

source

pub fn len(&self) -> usize

source

pub fn is_empty(&self) -> bool

source

pub fn chars(&self) -> impl Iterator<Item = char>

source

pub fn chars_for_range<T>(&self, range: Range<T>) -> impl Iterator<Item = char>where T: ToOffset,

source

pub fn reversed_chars_for_range<T>( &self, range: Range<T> ) -> impl Iterator<Item = char>where T: ToOffset,

source

pub fn contains_str_at<T>(&self, position: T, needle: &str) -> boolwhere T: ToOffset,

source

pub fn common_prefix_at<T>(&self, position: T, needle: &str) -> Range<T>where T: ToOffset + TextDimension,

source

pub fn text(&self) -> String

source

pub fn line_ending(&self) -> LineEnding

source

pub fn deleted_text(&self) -> String

source

pub fn fragments(&self) -> impl Iterator<Item = &Fragment>

source

pub fn text_summary(&self) -> TextSummary

source

pub fn max_point(&self) -> Point

source

pub fn max_point_utf16(&self) -> PointUtf16

source

pub fn point_to_offset(&self, point: Point) -> usize

source

pub fn point_utf16_to_offset(&self, point: PointUtf16) -> usize

source

pub fn unclipped_point_utf16_to_offset( &self, point: Unclipped<PointUtf16> ) -> usize

source

pub fn unclipped_point_utf16_to_point( &self, point: Unclipped<PointUtf16> ) -> Point

source

pub fn offset_utf16_to_offset(&self, offset: OffsetUtf16) -> usize

source

pub fn offset_to_offset_utf16(&self, offset: usize) -> OffsetUtf16

source

pub fn offset_to_point(&self, offset: usize) -> Point

source

pub fn offset_to_point_utf16(&self, offset: usize) -> PointUtf16

source

pub fn point_to_point_utf16(&self, point: Point) -> PointUtf16

source

pub fn version(&self) -> &Global

source

pub fn chars_at<T>(&self, position: T) -> impl Iterator<Item = char>where T: ToOffset,

source

pub fn reversed_chars_at<T>(&self, position: T) -> impl Iterator<Item = char>where T: ToOffset,

source

pub fn reversed_chunks_in_range<T>(&self, range: Range<T>) -> Chunks<'_> where T: ToOffset,

source

pub fn bytes_in_range<T>(&self, range: Range<T>) -> Bytes<'_> where T: ToOffset,

source

pub fn reversed_bytes_in_range<T>(&self, range: Range<T>) -> Bytes<'_> where T: ToOffset,

source

pub fn text_for_range<T>(&self, range: Range<T>) -> Chunks<'_> where T: ToOffset,

source

pub fn line_len(&self, row: u32) -> u32

source

pub fn is_line_blank(&self, row: u32) -> bool

source

pub fn text_summary_for_range<D, O>(&self, range: Range<O>) -> Dwhere O: ToOffset, D: TextDimension,

source

pub fn summaries_for_anchors<'a, D, A>( &'a self, anchors: A ) -> impl Iterator<Item = D> + 'awhere D: 'a + TextDimension, A: 'a + IntoIterator<Item = &'a Anchor>,

source

pub fn summaries_for_anchors_with_payload<'a, D, A, T>( &'a self, anchors: A ) -> impl Iterator<Item = (D, T)> + 'awhere D: 'a + TextDimension, A: 'a + IntoIterator<Item = (&'a Anchor, T)>,

source

pub fn anchor_before<T>(&self, position: T) -> Anchorwhere T: ToOffset,

source

pub fn anchor_after<T>(&self, position: T) -> Anchorwhere T: ToOffset,

source

pub fn anchor_at<T>(&self, position: T, bias: Bias) -> Anchorwhere T: ToOffset,

source

pub fn can_resolve(&self, anchor: &Anchor) -> bool

source

pub fn clip_offset(&self, offset: usize, bias: Bias) -> usize

source

pub fn clip_point(&self, point: Point, bias: Bias) -> Point

source

pub fn clip_offset_utf16(&self, offset: OffsetUtf16, bias: Bias) -> OffsetUtf16

source

pub fn clip_point_utf16( &self, point: Unclipped<PointUtf16>, bias: Bias ) -> PointUtf16

source

pub fn edits_since<D, 'a>( &'a self, since: &'a Global ) -> impl Iterator<Item = Edit<D>> + 'awhere D: TextDimension + Ord,

source

pub fn anchored_edits_since<D, 'a>( &'a self, since: &'a Global ) -> impl Iterator<Item = (Edit<D>, Range<Anchor>)> + 'awhere D: TextDimension + Ord,

source

pub fn edits_since_in_range<D, 'a>( &'a self, since: &'a Global, range: Range<Anchor> ) -> impl Iterator<Item = Edit<D>> + 'awhere D: TextDimension + Ord,

source

pub fn anchored_edits_since_in_range<D, 'a>( &'a self, since: &'a Global, range: Range<Anchor> ) -> impl Iterator<Item = (Edit<D>, Range<Anchor>)> + 'awhere D: TextDimension + Ord,

Trait Implementations§

source§

impl Deref for Buffer

§

type Target = BufferSnapshot

The resulting type after dereferencing.
source§

fn deref(&self) -> &<Buffer as Deref>::Target

Dereferences the value.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Buffer

§

impl Send for Buffer

§

impl Sync for Buffer

§

impl Unpin for Buffer

§

impl !UnwindSafe for Buffer

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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.

§

impl<S> FromSample<S> for S

§

fn from_sample_(s: S) -> S

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere 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.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T, U> ToSample<U> for Twhere U: FromSample<T>,

§

fn to_sample_(self) -> U

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
§

impl<S, T> Duplex<S> for Twhere T: FromSample<S> + ToSample<S>,