Struct termdiff::ArrowsColorTheme
source · pub struct ArrowsColorTheme {}Expand description
A simple colorful theme using arrows
use termdiff::{ArrowsColorTheme, diff};
let old = "The quick brown fox and\njumps over the sleepy dog";
let new = "The quick red fox and\njumps over the lazy dog";
let theme = ArrowsColorTheme::default();
let mut buffer: Vec<u8> = Vec::new();
diff(&mut buffer, old, new, &theme).unwrap();
let actual: String = String::from_utf8(buffer).expect("Not valid UTF-8");
assert_eq!(
actual,
"\u{1b}[38;5;9m< left\u{1b}[39m / \u{1b}[38;5;10m> right\u{1b}[39m
\u{1b}[38;5;9m<\u{1b}[39m\u{1b}[38;5;9mThe quick \u{1b}[39m\u{1b}[38;5;9m\u{1b}[4mbrown\u{1b}[0m\u{1b}[39m\u{1b}[38;5;9m fox and
\u{1b}[39m\u{1b}[38;5;9m<\u{1b}[39m\u{1b}[38;5;9mjumps over the \u{1b}[39m\u{1b}[38;5;9m\u{1b}[4msleepy\u{1b}[0m\u{1b}[39m\u{1b}[38;5;9m dog\u{1b}[39m
\u{1b}[38;5;10m>\u{1b}[39m\u{1b}[38;5;10mThe quick \u{1b}[39m\u{1b}[38;5;10m\u{1b}[4mred\u{1b}[0m\u{1b}[39m\u{1b}[38;5;10m fox and
\u{1b}[39m\u{1b}[38;5;10m>\u{1b}[39m\u{1b}[38;5;10mjumps over the \u{1b}[39m\u{1b}[38;5;10m\u{1b}[4mlazy\u{1b}[0m\u{1b}[39m\u{1b}[38;5;10m dog\u{1b}[39m
"
);Trait Implementations§
source§impl Clone for ArrowsColorTheme
impl Clone for ArrowsColorTheme
source§fn clone(&self) -> ArrowsColorTheme
fn clone(&self) -> ArrowsColorTheme
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Debug for ArrowsColorTheme
impl Debug for ArrowsColorTheme
source§impl Default for ArrowsColorTheme
impl Default for ArrowsColorTheme
source§fn default() -> ArrowsColorTheme
fn default() -> ArrowsColorTheme
Returns the “default value” for a type. Read more
source§impl Theme for ArrowsColorTheme
impl Theme for ArrowsColorTheme
source§fn highlight_insert<'this>(&self, input: &'this str) -> Cow<'this, str>
fn highlight_insert<'this>(&self, input: &'this str) -> Cow<'this, str>
How to format the text when highlighting it for inserts
source§fn highlight_delete<'this>(&self, input: &'this str) -> Cow<'this, str>
fn highlight_delete<'this>(&self, input: &'this str) -> Cow<'this, str>
How to format the text when highlighting it for deletes
source§fn delete_content<'this>(&self, input: &'this str) -> Cow<'this, str>
fn delete_content<'this>(&self, input: &'this str) -> Cow<'this, str>
How to format bits of text that are being removed
source§fn equal_prefix<'this>(&self) -> Cow<'this, str>
fn equal_prefix<'this>(&self) -> Cow<'this, str>
The prefix to give lines that are equal
source§fn delete_prefix<'this>(&self) -> Cow<'this, str>
fn delete_prefix<'this>(&self) -> Cow<'this, str>
The prefix to give lines that are being removed
source§fn insert_line<'this>(&self, input: &'this str) -> Cow<'this, str>
fn insert_line<'this>(&self, input: &'this str) -> Cow<'this, str>
How to format bits of text that are being added
source§fn insert_prefix<'this>(&self) -> Cow<'this, str>
fn insert_prefix<'this>(&self) -> Cow<'this, str>
The prefix to give lines that are being added
source§fn equal_content<'this>(&self, input: &'this str) -> Cow<'this, str>
fn equal_content<'this>(&self, input: &'this str) -> Cow<'this, str>
How to format unchanged content
source§fn line_end<'this>(&self) -> Cow<'this, str>
fn line_end<'this>(&self) -> Cow<'this, str>
If a diff line doesn’t end with a newline, what should we insert
source§fn trailing_lf_marker<'this>(&self) -> Cow<'this, str>
fn trailing_lf_marker<'this>(&self) -> Cow<'this, str>
If one of the two strings ends with a newline, and the other does not,
insert this character before the newline, and then re-add the newline