pub struct PreviewOverride {
pub buffer_id: BufferId,
pub buffer: BufferKind,
pub cursor: Position,
pub scroll: u32,
}Expand description
PI.1: a pane’s ephemeral preview projection. Stored host-side in
Editor::preview_overrides (keyed by PaneId) so the live
Editor::pane_tree stays committed + geometry-only; the override is
baked into the published pane-tree leaves each frame.
The preview cursor / scroll live here (not on Editor::cursor /
Editor::scroll) so entering / leaving preview never disturbs the
committed buffer’s viewport — exit is dropping this value, not
restoring anything.
Fields§
§buffer_id: BufferIdThe buffer the pane currently displays. A real registry buffer
with its own resolved options (computed read-only via
mount_preview); the pane renders it exactly like an inactive
split, plus a cursorline at Self::cursor.
buffer: BufferKindThe displayed buffer’s kind (drives the renderer’s per-kind pane dispatch). Preview is Document-only for now (design §10.4).
cursor: PositionPreview cursor inside the displayed buffer. Location previews
(gr / grep) seat it on the target line; file previews start at
the top.
scroll: u32First visible line of the displayed buffer in the pane.
Trait Implementations§
Source§impl Clone for PreviewOverride
impl Clone for PreviewOverride
Source§fn clone(&self) -> PreviewOverride
fn clone(&self) -> PreviewOverride
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PreviewOverride
Source§impl Debug for PreviewOverride
impl Debug for PreviewOverride
Source§impl PartialEq for PreviewOverride
impl PartialEq for PreviewOverride
impl StructuralPartialEq for PreviewOverride
Auto Trait Implementations§
impl Freeze for PreviewOverride
impl RefUnwindSafe for PreviewOverride
impl Send for PreviewOverride
impl Sync for PreviewOverride
impl Unpin for PreviewOverride
impl UnsafeUnpin for PreviewOverride
impl UnwindSafe for PreviewOverride
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 more