Struct termdiff::SignsColorTheme
source · pub struct SignsColorTheme {}Expand description
A simple colorful theme using signs
use termdiff::{diff, SignsColorTheme};
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 mut buffer: Vec<u8> = Vec::new();
let theme = SignsColorTheme::default();
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--- remove\u{1b}[39m | \u{1b}[38;5;10minsert +++\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}[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}[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}[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}[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 SignsColorTheme
impl Clone for SignsColorTheme
source§fn clone(&self) -> SignsColorTheme
fn clone(&self) -> SignsColorTheme
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 SignsColorTheme
impl Debug for SignsColorTheme
source§impl Default for SignsColorTheme
impl Default for SignsColorTheme
source§fn default() -> SignsColorTheme
fn default() -> SignsColorTheme
Returns the “default value” for a type. Read more
source§impl Theme for SignsColorTheme
impl Theme for SignsColorTheme
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 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 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 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