pub struct MultiBufferSnapshot { /* private fields */ }

Implementations§

source§

impl MultiBufferSnapshot

source

pub fn text(&self) -> String

source

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

source

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

source

pub fn text_for_range<T: ToOffset>( &self, range: Range<T> ) -> impl Iterator<Item = &str> + '_

source

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

source

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

source

pub fn surrounding_word<T: ToOffset>( &self, start: T ) -> (Range<usize>, Option<CharKind>)

source

pub fn as_singleton(&self) -> Option<(&ExcerptId, u64, &BufferSnapshot)>

source

pub fn len(&self) -> usize

source

pub fn is_empty(&self) -> bool

source

pub fn max_buffer_row(&self) -> u32

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 bytes_in_range<T: ToOffset>( &self, range: Range<T> ) -> MultiBufferBytes<'_>

source

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

source

pub fn buffer_rows(&self, start_row: u32) -> MultiBufferRows<'_>

source

pub fn chunks<T: ToOffset>( &self, range: Range<T>, language_aware: bool ) -> MultiBufferChunks<'_>

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 point_to_offset(&self, point: Point) -> usize

source

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

source

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

source

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

source

pub fn point_to_buffer_offset<T: ToOffset>( &self, point: T ) -> Option<(&BufferSnapshot, usize)>

source

pub fn suggested_indents( &self, rows: impl IntoIterator<Item = u32>, cx: &AppContext ) -> BTreeMap<u32, IndentSize>

source

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

source

pub fn prev_non_blank_row(&self, row: u32) -> Option<u32>

source

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

source

pub fn buffer_line_for_row( &self, row: u32 ) -> Option<(&BufferSnapshot, Range<Point>)>

source

pub fn max_point(&self) -> Point

source

pub fn text_summary(&self) -> TextSummary

source

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

source

pub fn summary_for_anchor<D>(&self, anchor: &Anchor) -> Dwhere D: TextDimension + Ord + Sub<D, Output = D>,

source

pub fn summaries_for_anchors<'a, D, I>(&'a self, anchors: I) -> Vec<D>where D: TextDimension + Ord + Sub<D, Output = D>, I: 'a + IntoIterator<Item = &'a Anchor>,

source

pub fn refresh_anchors<'a, I>( &'a self, anchors: I ) -> Vec<(usize, Anchor, bool)>where I: 'a + IntoIterator<Item = &'a Anchor>,

source

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

source

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

source

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

source

pub fn anchor_in_excerpt( &self, excerpt_id: ExcerptId, text_anchor: Anchor ) -> Anchor

source

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

source

pub fn excerpts( &self ) -> impl Iterator<Item = (ExcerptId, &BufferSnapshot, ExcerptRange<Anchor>)>

source

pub fn excerpt_boundaries_in_range<R, T>( &self, range: R ) -> impl Iterator<Item = ExcerptBoundary> + '_where R: RangeBounds<T>, T: ToOffset,

source

pub fn edit_count(&self) -> usize

source

pub fn parse_count(&self) -> usize

source

pub fn innermost_enclosing_bracket_ranges<T: ToOffset>( &self, range: Range<T> ) -> Option<(Range<usize>, Range<usize>)>

Returns the smallest enclosing bracket ranges containing the given range or None if no brackets contain range or the range is not contained in a single excerpt

source

pub fn enclosing_bracket_ranges<'a, T: ToOffset>( &'a self, range: Range<T> ) -> Option<impl Iterator<Item = (Range<usize>, Range<usize>)> + 'a>

Returns enclosing bracket ranges containing the given range or returns None if the range is not contained in a single excerpt

source

pub fn bracket_ranges<'a, T: ToOffset>( &'a self, range: Range<T> ) -> Option<impl Iterator<Item = (Range<usize>, Range<usize>)> + 'a>

Returns bracket range pairs overlapping the given range or returns None if the range is not contained in a single excerpt

source

pub fn diagnostics_update_count(&self) -> usize

source

pub fn git_diff_update_count(&self) -> usize

source

pub fn trailing_excerpt_update_count(&self) -> usize

source

pub fn file_at<'a, T: ToOffset>(&'a self, point: T) -> Option<&'a Arc<dyn File>>

source

pub fn language_at<'a, T: ToOffset>( &'a self, point: T ) -> Option<&'a Arc<Language>>

source

pub fn settings_at<'a, T: ToOffset>( &'a self, point: T, cx: &'a AppContext ) -> &'a LanguageSettings

source

pub fn language_scope_at<'a, T: ToOffset>( &'a self, point: T ) -> Option<LanguageScope>

source

pub fn language_indent_size_at<T: ToOffset>( &self, position: T, cx: &AppContext ) -> Option<IndentSize>

source

pub fn is_dirty(&self) -> bool

source

pub fn has_conflict(&self) -> bool

source

pub fn diagnostic_group<'a, O>( &'a self, group_id: usize ) -> impl Iterator<Item = DiagnosticEntry<O>> + 'awhere O: FromAnchor + 'a,

source

pub fn diagnostics_in_range<'a, T, O>( &'a self, range: Range<T>, reversed: bool ) -> impl Iterator<Item = DiagnosticEntry<O>> + 'awhere T: 'a + ToOffset, O: 'a + FromAnchor + Ord,

source

pub fn has_git_diffs(&self) -> bool

source

pub fn git_diff_hunks_in_range_rev<'a>( &'a self, row_range: Range<u32> ) -> impl 'a + Iterator<Item = DiffHunk<u32>>

source

pub fn git_diff_hunks_in_range<'a>( &'a self, row_range: Range<u32> ) -> impl 'a + Iterator<Item = DiffHunk<u32>>

source

pub fn range_for_syntax_ancestor<T: ToOffset>( &self, range: Range<T> ) -> Option<Range<usize>>

source

pub fn outline(&self, theme: Option<&SyntaxTheme>) -> Option<Outline<Anchor>>

source

pub fn symbols_containing<T: ToOffset>( &self, offset: T, theme: Option<&SyntaxTheme> ) -> Option<(u64, Vec<OutlineItem<Anchor>>)>

source

pub fn buffer_id_for_excerpt(&self, excerpt_id: ExcerptId) -> Option<u64>

source

pub fn buffer_for_excerpt( &self, excerpt_id: ExcerptId ) -> Option<&BufferSnapshot>

source

pub fn remote_selections_in_range<'a>( &'a self, range: &'a Range<Anchor> ) -> impl 'a + Iterator<Item = (ReplicaId, bool, CursorShape, Selection<Anchor>)>

Trait Implementations§

source§

impl Clone for MultiBufferSnapshot

source§

fn clone(&self) -> MultiBufferSnapshot

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Default for MultiBufferSnapshot

source§

fn default() -> MultiBufferSnapshot

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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