pub enum DiffSignKind {
Add,
Remove,
Change,
Conflict,
}Expand description
Per-line gutter sign kind. Renderer-facing surface for D.3.d.1 (TUI) and D.3.d.2 (GPUI sprite atlas) integrations — D.3.d.0 lands the data layer only. D.3.e (line tints) composes on top of the same classification.
Add and Remove are emitted for the obvious cases.
Change is emitted on both the baseline-deleted lines
(covered by the deletion-block virtual rows) and the
current-side replaced lines (which sit in the actual
document rows). A row carrying a Change sign tells the
renderer “this line replaces baseline content” — useful
for the tint pass.
Conflict (D.6.f, 2026-05-31) classifies a current-side
row that sits inside a three-way merge Conflict hunk —
both local and remote mutated the same base region
differently. Renders with a distinct glyph (?) and tint
(theme.diff_conflict_line_bg). The variant only fires
for three-way sessions; two-way compute_two_way
doesn’t emit HunkKind::Conflict, so two-way overlays
never produce DiffSignKind::Conflict.
Variants§
Trait Implementations§
Source§impl Clone for DiffSignKind
impl Clone for DiffSignKind
Source§fn clone(&self) -> DiffSignKind
fn clone(&self) -> DiffSignKind
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 DiffSignKind
Source§impl Debug for DiffSignKind
impl Debug for DiffSignKind
impl Eq for DiffSignKind
Source§impl PartialEq for DiffSignKind
impl PartialEq for DiffSignKind
impl StructuralPartialEq for DiffSignKind
Auto Trait Implementations§
impl Freeze for DiffSignKind
impl RefUnwindSafe for DiffSignKind
impl Send for DiffSignKind
impl Sync for DiffSignKind
impl Unpin for DiffSignKind
impl UnsafeUnpin for DiffSignKind
impl UnwindSafe for DiffSignKind
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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