Trait termdiff::Theme

source ·
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§

source

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>

The prefix to give lines that are being removed

source

fn insert_prefix<'this>(&self) -> Cow<'this, str>

The prefix to give lines that are being added

source

fn header<'this>(&self) -> Cow<'this, str>

A header to put above the diff

Provided Methods§

source

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>

How to format the text when highlighting it for deletes

source

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>

How to format bits of text that are being removed

source

fn insert_line<'this>(&self, input: &'this str) -> Cow<'this, str>

How to format bits of text that are being added

source

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>

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

Implementors§