Reimplement colorized data relocation hover diffs (#182)

* Reimplement colorized data relocation hover diffs

* Fix objdiff-wasm build

Data diffing doesn't seem to be fully implemented in objdiff-wasm yet, so just putting placeholders in so it compiles.

* Reloc hover: Add separators, override special color too
This commit is contained in:
LagoLunatic
2025-03-28 23:48:14 -04:00
committed by GitHub
parent 7b00a9e9f2
commit 196c003a92
6 changed files with 62 additions and 21 deletions

View File

@@ -230,7 +230,9 @@ impl GuestDisplay for Component {
) -> Vec<HoverItem> {
let obj_diff = diff.get::<ResourceObjectDiff>();
let obj = obj_diff.0.as_ref();
diff::display::symbol_hover(obj, symbol_display.symbol as usize, 0 /* TODO */)
// TODO: colorize replaced/deleted/inserted relocations
let override_color = None;
diff::display::symbol_hover(obj, symbol_display.symbol as usize, 0, override_color)
.into_iter()
.map(|item| HoverItem::from(item))
.collect()
@@ -501,6 +503,8 @@ impl From<diff::display::HoverItemColor> for HoverItemColor {
diff::display::HoverItemColor::Normal => HoverItemColor::Normal,
diff::display::HoverItemColor::Emphasized => HoverItemColor::Emphasized,
diff::display::HoverItemColor::Special => HoverItemColor::Special,
diff::display::HoverItemColor::Delete => HoverItemColor::Delete,
diff::display::HoverItemColor::Insert => HoverItemColor::Insert,
}
}
}