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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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<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