@@ -3,6 +3,7 @@ use std::sync::atomic::Ordering;
3
3
4
4
use super :: { add_deref_to_span, apply_val_color, ORANGE , PURPLE , RED } ;
5
5
6
+ use log:: debug;
6
7
use ratatui:: prelude:: Stylize ;
7
8
use ratatui:: text:: { Line , Span , Text } ;
8
9
use ratatui:: widgets:: { Block , Borders , Paragraph } ;
@@ -29,9 +30,21 @@ pub fn draw_registers(app: &App, f: &mut Frame, register: Rect) {
29
30
// TODO: cache this
30
31
let reg_changed_lock = app. register_changed . lock ( ) . unwrap ( ) ;
31
32
let filepath_lock = app. filepath . lock ( ) . unwrap ( ) ;
32
- for RegisterStorage { name, register : _, deref : _ } in regs. iter ( ) {
33
- if longest_register_name < name. len ( ) {
34
- longest_register_name = name. len ( ) ;
33
+ debug ! ( "HEY" ) ;
34
+ for RegisterStorage { name, register, deref : _ } in regs. iter ( ) {
35
+ if let Some ( reg) = register {
36
+ if !reg. is_set ( ) {
37
+ continue ;
38
+ }
39
+ if let Some ( reg_value) = & reg. value {
40
+ if let Ok ( val) = u64:: from_str_radix ( & reg_value[ 2 ..] , 16 ) {
41
+ // let changed = reg_changed_lock.contains(&(i as u8));
42
+ if longest_register_name < name. len ( ) {
43
+ debug ! ( "long: {name}" ) ;
44
+ longest_register_name = name. len ( ) ;
45
+ }
46
+ }
47
+ }
35
48
}
36
49
}
37
50
let width: usize = if app. thirty_two_bit . load ( Ordering :: Relaxed ) { 11 } else { 19 } ;
@@ -47,11 +60,9 @@ pub fn draw_registers(app: &App, f: &mut Frame, register: Rect) {
47
60
if let Some ( reg_value) = & reg. value {
48
61
if let Ok ( val) = u64:: from_str_radix ( & reg_value[ 2 ..] , 16 ) {
49
62
let changed = reg_changed_lock. contains ( & ( i as u8 ) ) ;
50
- let mut reg_name = Span :: from ( format ! (
51
- " {name:width$}" ,
52
- width = longest_register_name - 2
53
- ) )
54
- . style ( Style :: new ( ) . fg ( PURPLE ) ) ;
63
+ let mut reg_name =
64
+ Span :: from ( format ! ( " {name:width$}" , width = longest_register_name) )
65
+ . style ( Style :: new ( ) . fg ( PURPLE ) ) ;
55
66
let ( is_stack, is_heap, is_text) = app. classify_val ( val, & filepath) ;
56
67
57
68
let mut extra_derefs = Vec :: new ( ) ;
0 commit comments