pub trait Theme: Debug {
// Required methods
fn equal_prefix<'this>(&self) -> Cow<'this, str>;
fn delete_prefix<'this>(&self) -> Cow<'this, str>;
fn insert_prefix<'this>(&self) -> Cow<'this, str>;
fn header<'this>(&self) -> Cow<'this, str>;
// Provided methods
fn highlight_insert<'this>(&self, input: &'this str) -> Cow<'this, str> { ... }
fn highlight_delete<'this>(&self, input: &'this str) -> Cow<'this, str> { ... }
fn equal_content<'this>(&self, input: &'this str) -> Cow<'this, str> { ... }
fn delete_content<'this>(&self, input: &'this str) -> Cow<'this, str> { ... }
fn insert_line<'this>(&self, input: &'this str) -> Cow<'this, str> { ... }
fn line_end<'this>(&self) -> Cow<'this, str> { ... }
fn trailing_lf_marker<'this>(&self) -> Cow<'this, str> { ... }
}Expand description
A Theme for the diff
This is to allows some control over what the diff looks like without having to parse it yourself
Required Methods§
sourcefn equal_prefix<'this>(&self) -> Cow<'this, str>
fn equal_prefix<'this>(&self) -> Cow<'this, str>
The prefix to give lines that are equal
sourcefn delete_prefix<'this>(&self) -> Cow<'this, str>
fn delete_prefix<'this>(&self) -> Cow<'this, str>
The prefix to give lines that are being removed
sourcefn insert_prefix<'this>(&self) -> Cow<'this, str>
fn insert_prefix<'this>(&self) -> Cow<'this, str>
The prefix to give lines that are being added
Provided Methods§
sourcefn 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
sourcefn 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
sourcefn 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
sourcefn 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
sourcefn 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
sourcefn 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
sourcefn 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