Skip to main content

ConcealedLine

Struct ConcealedLine 

Source
pub struct ConcealedLine {
    pub display_text: String,
    pub spans: Vec<StyleSpan>,
    /* private fields */
}
Expand description

A rendered visual line where concealed syntax tokens have been collapsed, maintaining exact bidirectional mapping to source buffer byte offsets.

Fields§

§display_text: String

The transformed text to be shaped and rendered on screen.

§spans: Vec<StyleSpan>

Syntax highlight spans adjusted to display text coordinates.

Implementations§

Source§

impl ConcealedLine

Source

pub fn build(line_text: &str, spans: &[StyleSpan]) -> Self

Constructs a concealed line from raw line text and syntax spans.

Source

pub fn expanded(&self, pads: &[DisplayPad]) -> Self

Returns a copy of this line with display-only padding spliced in.

pads are applied in ascending display_at order against the original collapsed coordinates. Span boundaries at or after an insertion point shift right, so inserted padding belongs to the span ending there. Each padding byte maps back to the source offset of the display byte it was inserted before.

Source

pub fn display_to_source(&self, display_col: usize) -> usize

Converts a display byte offset to a source buffer line byte offset.

Source

pub fn source_to_display(&self, source_col: usize) -> usize

Converts a source buffer line byte offset to the nearest display byte offset.

Trait Implementations§

Source§

impl Clone for ConcealedLine

Source§

fn clone(&self) -> ConcealedLine

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ConcealedLine

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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.