DiffTheme

Struct DiffTheme 

Source
pub struct DiffTheme {
Show 17 fields pub deleted: Rgb, pub inserted: Rgb, pub moved: Rgb, pub unchanged: Rgb, pub key: Rgb, pub structure: Rgb, pub comment: Rgb, pub string: Rgb, pub number: Rgb, pub boolean: Rgb, pub null: Rgb, pub deleted_line_bg: Option<Rgb>, pub deleted_highlight_bg: Option<Rgb>, pub inserted_line_bg: Option<Rgb>, pub inserted_highlight_bg: Option<Rgb>, pub moved_line_bg: Option<Rgb>, pub moved_highlight_bg: Option<Rgb>,
}
Expand description

Color theme for diff rendering.

Defines colors for different kinds of changes. The default uses colorblind-friendly yellow/blue with type-specific value colors.

Fields§

§deleted: Rgb

Foreground color for deleted content (accent color)

§inserted: Rgb

Foreground color for inserted content (accent color)

§moved: Rgb

Foreground color for moved content (accent color)

§unchanged: Rgb

Foreground color for unchanged content

§key: Rgb

Foreground color for keys/field names

§structure: Rgb

Foreground color for structural elements like braces, brackets

§comment: Rgb

Foreground color for comments and type hints

§string: Rgb

Base color for string values

§number: Rgb

Base color for numeric values (integers, floats)

§boolean: Rgb

Base color for boolean values

§null: Rgb

Base color for null/None values

§deleted_line_bg: Option<Rgb>

Subtle background for deleted lines (None = no background)

§deleted_highlight_bg: Option<Rgb>

Stronger background highlight for changed values on deleted lines

§inserted_line_bg: Option<Rgb>

Subtle background for inserted lines (None = no background)

§inserted_highlight_bg: Option<Rgb>

Stronger background highlight for changed values on inserted lines

§moved_line_bg: Option<Rgb>

Subtle background for moved lines (None = no background)

§moved_highlight_bg: Option<Rgb>

Stronger background highlight for changed values on moved lines

Implementations§

Source§

impl DiffTheme

Source

pub const COLORBLIND_ORANGE_BLUE: Self

Colorblind-friendly theme - orange vs blue. No backgrounds.

Source

pub const COLORBLIND_WITH_BG: Self

Colorblind-friendly with line + highlight backgrounds (yellow/blue).

Source

pub const PASTEL: Self

Pastel color theme - soft but distinguishable (not colorblind-friendly).

Source

pub const ONE_DARK_PRO: Self

One Dark Pro color theme.

Source

pub const TOKYO_NIGHT: Self

Tokyo Night color theme.

Source

pub fn color_for(&self, kind: ChangeKind) -> Rgb

Get the color for a change kind.

Source

pub fn blend(a: Rgb, b: Rgb, t: f32) -> Rgb

Blend two colors in linear sRGB space. t ranges from 0.0 (all a) to 1.0 (all b).

Source

pub fn brighten_saturate( rgb: Rgb, lightness_boost: f32, chroma_boost: f32, ) -> Rgb

Brighten and saturate a color for use in highlights. Increases both lightness and saturation in LCH space.

Source

pub fn desaturate(rgb: Rgb, amount: f32) -> Rgb

Desaturate a color for use in backgrounds. Reduces saturation (chroma) in LCH space.

Source

pub fn deleted_key(&self) -> Rgb

Get the key color blended for a deleted context.

Source

pub fn inserted_key(&self) -> Rgb

Get the key color blended for an inserted context.

Source

pub fn deleted_structure(&self) -> Rgb

Get the structure color blended for a deleted context.

Source

pub fn inserted_structure(&self) -> Rgb

Get the structure color blended for an inserted context.

Source

pub fn deleted_comment(&self) -> Rgb

Get the comment color blended for a deleted context.

Source

pub fn inserted_comment(&self) -> Rgb

Get the comment color blended for an inserted context.

Source

pub fn deleted_string(&self) -> Rgb

Get the string color blended for a deleted context.

Source

pub fn inserted_string(&self) -> Rgb

Get the string color blended for an inserted context.

Source

pub fn deleted_number(&self) -> Rgb

Get the number color blended for a deleted context.

Source

pub fn inserted_number(&self) -> Rgb

Get the number color blended for an inserted context.

Source

pub fn deleted_boolean(&self) -> Rgb

Get the boolean color blended for a deleted context.

Source

pub fn inserted_boolean(&self) -> Rgb

Get the boolean color blended for an inserted context.

Source

pub fn deleted_null(&self) -> Rgb

Get the null color blended for a deleted context.

Source

pub fn inserted_null(&self) -> Rgb

Get the null color blended for an inserted context.

Source

pub fn deleted_highlight_string(&self) -> Rgb

Get the string color for a deleted highlight (brightened and saturated accent color).

Source

pub fn inserted_highlight_string(&self) -> Rgb

Get the string color for an inserted highlight (brightened and saturated accent color).

Source

pub fn deleted_highlight_number(&self) -> Rgb

Get the number color for a deleted highlight (brightened and saturated accent color).

Source

pub fn inserted_highlight_number(&self) -> Rgb

Get the number color for an inserted highlight (brightened and saturated accent color).

Source

pub fn deleted_highlight_boolean(&self) -> Rgb

Get the boolean color for a deleted highlight (brightened and saturated accent color).

Source

pub fn inserted_highlight_boolean(&self) -> Rgb

Get the boolean color for an inserted highlight (brightened and saturated accent color).

Source

pub fn deleted_highlight_null(&self) -> Rgb

Get the null color for a deleted highlight (brightened and saturated accent color).

Source

pub fn inserted_highlight_null(&self) -> Rgb

Get the null color for an inserted highlight (brightened and saturated accent color).

Source

pub fn deleted_highlight_key(&self) -> Rgb

Get the key color for a deleted highlight (brightened and saturated accent color).

Source

pub fn inserted_highlight_key(&self) -> Rgb

Get the key color for an inserted highlight (brightened and saturated accent color).

Source

pub fn deleted_highlight_structure(&self) -> Rgb

Get the structure color for a deleted highlight (brightened and saturated accent color).

Source

pub fn inserted_highlight_structure(&self) -> Rgb

Get the structure color for an inserted highlight (brightened and saturated accent color).

Source

pub fn deleted_highlight_comment(&self) -> Rgb

Get the comment color for a deleted highlight (brightened and saturated accent color).

Source

pub fn inserted_highlight_comment(&self) -> Rgb

Get the comment color for an inserted highlight (brightened and saturated accent color).

Source

pub fn desaturated_deleted_line_bg(&self) -> Option<Rgb>

Get desaturated deleted line background (more saturated ambient, darker context).

Source

pub fn desaturated_inserted_line_bg(&self) -> Option<Rgb>

Get desaturated inserted line background (more saturated ambient, darker context).

Source

pub fn desaturated_moved_line_bg(&self) -> Option<Rgb>

Get desaturated moved line background (more saturated ambient, darker context).

Source

pub fn desaturated_deleted_highlight_bg(&self) -> Option<Rgb>

Get desaturated deleted highlight background (very desaturated, minimal brightness boost).

Source

pub fn desaturated_inserted_highlight_bg(&self) -> Option<Rgb>

Get desaturated inserted highlight background (very desaturated, minimal brightness boost).

Source

pub fn desaturated_moved_highlight_bg(&self) -> Option<Rgb>

Get desaturated moved highlight background (very desaturated, minimal brightness boost).

Trait Implementations§

Source§

impl Clone for DiffTheme

Source§

fn clone(&self) -> DiffTheme

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for DiffTheme

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for DiffTheme

Source§

fn default() -> Self

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

impl PartialEq for DiffTheme

Source§

fn eq(&self, other: &DiffTheme) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for DiffTheme

Source§

impl StructuralPartialEq for DiffTheme

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S
where T: Real + Zero + Arithmetics + Clone, Swp: WhitePoint<T>, Dwp: WhitePoint<T>, D: AdaptFrom<S, Swp, Dwp, T>,

Source§

fn adapt_into_using<M>(self, method: M) -> D
where M: TransformMatrix<T>,

Convert the source color to the destination color using the specified method.
Source§

fn adapt_into(self) -> D

Convert the source color to the destination color using the bradford method by default.
§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T, C> ArraysFrom<C> for T
where C: IntoArrays<T>,

Source§

fn arrays_from(colors: C) -> T

Cast a collection of colors into a collection of arrays.
Source§

impl<T, C> ArraysInto<C> for T
where C: FromArrays<T>,

Source§

fn arrays_into(self) -> C

Cast this collection of arrays into a collection of colors.
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
Source§

impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for U
where T: FromCam16Unclamped<WpParam, U>,

Source§

type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
§

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

§

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, C> ComponentsFrom<C> for T
where C: IntoComponents<T>,

Source§

fn components_from(colors: C) -> T

Cast a collection of colors into a collection of color components.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromAngle<T> for T

Source§

fn from_angle(angle: T) -> T

Performs a conversion from angle.
Source§

impl<T, U> FromStimulus<U> for T
where U: IntoStimulus<T>,

Source§

fn from_stimulus(other: U) -> T

Converts other into Self, while performing the appropriate scaling, rounding and clamping.
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
§

impl<T, U> Into<U> for T
where U: From<T>,

§

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, U> IntoAngle<U> for T
where U: FromAngle<T>,

Source§

fn into_angle(self) -> U

Performs a conversion into T.
Source§

impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for U
where T: Cam16FromUnclamped<WpParam, U>,

Source§

type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar

The number type that’s used in parameters when converting.
Source§

fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T

Converts self into C, using the provided parameters.
Source§

impl<T, U> IntoColor<U> for T
where U: FromColor<T>,

Source§

fn into_color(self) -> U

Convert into T with values clamped to the color defined bounds Read more
Source§

impl<T, U> IntoColorUnclamped<U> for T
where U: FromColorUnclamped<T>,

Source§

fn into_color_unclamped(self) -> U

Convert into T. The resulting color might be invalid in its color space Read more
Source§

impl<T> IntoStimulus<T> for T

Source§

fn into_stimulus(self) -> T

Converts self into T, while performing the appropriate scaling, rounding and clamping.
Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
§

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

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

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

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

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, C> TryComponentsInto<C> for T
where C: TryFromComponents<T>,

Source§

type Error = <C as TryFromComponents<T>>::Error

The error for when try_into_colors fails to cast.
Source§

fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>

Try to cast this collection of color components into a collection of colors. Read more
§

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

§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

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

§

type Error = <U as TryFrom<T>>::Error

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

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T, U> TryIntoColor<U> for T
where U: TryFromColor<T>,

Source§

fn try_into_color(self) -> Result<U, OutOfBounds<U>>

Convert into T, returning ok if the color is inside of its defined range, otherwise an OutOfBounds error is returned which contains the unclamped color. Read more
Source§

impl<C, U> UintsFrom<C> for U
where C: IntoUints<U>,

Source§

fn uints_from(colors: C) -> U

Cast a collection of colors into a collection of unsigned integers.
Source§

impl<C, U> UintsInto<C> for U
where C: FromUints<U>,

Source§

fn uints_into(self) -> C

Cast this collection of unsigned integers into a collection of colors.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

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