Trait termdiff::Theme

source ·
pub trait Theme: Debug {
    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>;

    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§

The prefix to give lines that are equal

The prefix to give lines that are being removed

The prefix to give lines that are being added

A header to put above the diff

Provided Methods§

How to format the text when highlighting it for inserts

How to format the text when highlighting it for deletes

How to format unchanged content

How to format bits of text that are being removed

How to format bits of text that are being added

If a diff line doesn’t end with a newline, what should we insert

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§