use git_object::bstr::BStr;/// The crate powering file diffs.pub use similar;pub use similar::Algorithm;use similar::TextDiff;/// Provide an iterator over the changes needed to turn `old` into `new` with `algorithm`.////// See [the `similar` crate documentation][similar::TextDiffConfig::diff_lines()] for information on how to use the iterator.pub fn with<'old, 'new, 'bufs>( old: &'old BStr, new: &'new BStr, algorithm: Algorithm,) -> TextDiff<'old, 'new, 'bufs, [u8]> { similar::TextDiffConfig::default() .algorithm(algorithm) .diff_lines(old.as_ref(), new.as_ref())}/// Provide an iterator over the changes needed to turn `old` into `new` with Myers algorithm, the default for `git`.////// See [the `similar` crate documentation][similar::TextDiffConfig::diff_lines()] for information on how to use the iterator.pub fn myers<'old, 'new, 'bufs>(old: &'old BStr, new: &'new BStr) -> TextDiff<'old, 'new, 'bufs, [u8]> { with(old, new, Algorithm::Myers)}
use git_object::bstr::BStr;
/// The crate powering file diffs.
pub use similar;
pub use similar::Algorithm;
use similar::TextDiff;
/// Provide an iterator over the changes needed to turn `old` into `new` with `algorithm`.
///
/// See [the `similar` crate documentation][similar::TextDiffConfig::diff_lines()] for information on how to use the iterator.
pub fn with<'old, 'new, 'bufs>(
old: &'old BStr,
new: &'new BStr,
algorithm: Algorithm,
) -> TextDiff<'old, 'new, 'bufs, [u8]> {
similar::TextDiffConfig::default()
.algorithm(algorithm)
.diff_lines(old.as_ref(), new.as_ref())
}
/// Provide an iterator over the changes needed to turn `old` into `new` with Myers algorithm, the default for `git`.
///
/// See [the `similar` crate documentation][similar::TextDiffConfig::diff_lines()] for information on how to use the iterator.
pub fn myers<'old, 'new, 'bufs>(old: &'old BStr, new: &'new BStr) -> TextDiff<'old, 'new, 'bufs, [u8]> {
with(old, new, Algorithm::Myers)
}