pub enum DiffKind {
Equal,
Add,
Remove,
}Expand description
How a line relates to the other side of the diff.
Variants§
Equal
Present in both inputs, unchanged.
Add
Present only in the revision.
Remove
Present only in the original.
Implementations§
Source§impl DiffKind
impl DiffKind
Sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
The wire encoding: a single character, so the JS side can rebuild the label without a table lookup.
Examples found in repository?
examples/parity.rs (line 26)
9fn main() {
10 let mut args = std::env::args().skip(1);
11 let before = args.next().unwrap_or_default();
12 let after = args.next().unwrap_or_default();
13
14 let lines = diff_lines(&before, &after);
15 let stats = diff_stats(&lines);
16
17 // Hand-rolled JSON: serde would pull `serde-wasm-bindgen` into a crate whose
18 // whole point is having no dependencies, and the shape is fixed anyway.
19 print!("{{\"added\":{},\"removed\":{},\"identical\":{},\"lines\":[", stats.added, stats.removed, stats.identical);
20 for (i, line) in lines.iter().enumerate() {
21 if i > 0 {
22 print!(",");
23 }
24 print!(
25 "{{\"kind\":{},\"text\":{},\"oldLine\":{},\"newLine\":{}}}",
26 json_str(line.kind.as_str()),
27 json_str(&line.text),
28 line.old_line.map(|n| n.to_string()).unwrap_or_else(|| "null".into()),
29 line.new_line.map(|n| n.to_string()).unwrap_or_else(|| "null".into()),
30 );
31 }
32 println!("]}}");
33}Trait Implementations§
impl Copy for DiffKind
impl Eq for DiffKind
impl StructuralPartialEq for DiffKind
Auto Trait Implementations§
impl Freeze for DiffKind
impl RefUnwindSafe for DiffKind
impl Send for DiffKind
impl Sync for DiffKind
impl Unpin for DiffKind
impl UnsafeUnpin for DiffKind
impl UnwindSafe for DiffKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more