(
ui: &mut Ui,
ctx: SymbolDiffContext<'_>,
symbol: &Symbol,
symbol_diff: &SymbolDiff,
symbol_idx: usize,
section: Option<&Section>,
state: &SymbolViewState,
appearance:
| 546 | |
| 547 | #[must_use] |
| 548 | fn symbol_ui( |
| 549 | ui: &mut Ui, |
| 550 | ctx: SymbolDiffContext<'_>, |
| 551 | symbol: &Symbol, |
| 552 | symbol_diff: &SymbolDiff, |
| 553 | symbol_idx: usize, |
| 554 | section: Option<&Section>, |
| 555 | state: &SymbolViewState, |
| 556 | appearance: &Appearance, |
| 557 | column: usize, |
| 558 | diff_config: &DiffObjConfig, |
| 559 | ) -> Option<DiffViewAction> { |
| 560 | let mut ret = None; |
| 561 | let mut job = LayoutJob::default(); |
| 562 | let name: &str = |
| 563 | if let Some(demangled) = &symbol.demangled_name { demangled } else { &symbol.name }; |
| 564 | let mut selected = false; |
| 565 | if let Some(sym_ref) = |
| 566 | if column == 0 { state.highlighted_symbol.0 } else { state.highlighted_symbol.1 } |
| 567 | { |
| 568 | selected = symbol_idx == sym_ref; |
| 569 | } |
| 570 | if !symbol.flags.is_empty() { |
| 571 | write_text("[", appearance.text_color, &mut job, appearance.code_font.clone()); |
| 572 | if symbol.flags.contains(SymbolFlag::Common) { |
| 573 | write_text("c", appearance.replace_color, &mut job, appearance.code_font.clone()); |
| 574 | } else if symbol.flags.contains(SymbolFlag::Global) { |
| 575 | write_text("g", appearance.insert_color, &mut job, appearance.code_font.clone()); |
| 576 | } else if symbol.flags.contains(SymbolFlag::Local) { |
| 577 | write_text("l", appearance.text_color, &mut job, appearance.code_font.clone()); |
| 578 | } |
| 579 | if symbol.flags.contains(SymbolFlag::Weak) { |
| 580 | write_text("w", appearance.text_color, &mut job, appearance.code_font.clone()); |
| 581 | } |
| 582 | if symbol.flags.contains(SymbolFlag::HasExtra) { |
| 583 | write_text("e", appearance.text_color, &mut job, appearance.code_font.clone()); |
| 584 | } |
| 585 | if symbol.flags.contains(SymbolFlag::Hidden) { |
| 586 | write_text( |
| 587 | "h", |
| 588 | appearance.deemphasized_text_color, |
| 589 | &mut job, |
| 590 | appearance.code_font.clone(), |
| 591 | ); |
| 592 | } |
| 593 | write_text("] ", appearance.text_color, &mut job, appearance.code_font.clone()); |
| 594 | } |
| 595 | if let Some(match_percent) = symbol_diff.match_percent { |
| 596 | write_text("(", appearance.text_color, &mut job, appearance.code_font.clone()); |
| 597 | write_text( |
| 598 | &format!("{:.0}%", match_percent.floor()), |
| 599 | match_color_for_symbol(match_percent, appearance), |
| 600 | &mut job, |
| 601 | appearance.code_font.clone(), |
| 602 | ); |
| 603 | write_text(") ", appearance.text_color, &mut job, appearance.code_font.clone()); |
| 604 | } |
| 605 | write_text(name, appearance.highlight_color, &mut job, appearance.code_font.clone()); |
no test coverage detected