@@ -52,12 +52,13 @@ pub(crate) fn worktree(repo_path: &Path, _json: bool) -> anyhow::Result<()> {
52
52
}
53
53
54
54
let unassigned = assignment:: filter_by_stack_id ( assignments_by_file. values ( ) , & None ) ;
55
- print_group ( None , unassigned, & changes) ?;
55
+ print_group ( None , unassigned, & changes, false ) ?;
56
56
57
57
for ( stack_id, branch) in & stack_id_to_branch {
58
58
let filtered =
59
59
assignment:: filter_by_stack_id ( assignments_by_file. values ( ) , & Some ( * stack_id) ) ;
60
- print_group ( Some ( branch. as_str ( ) ) , filtered, & changes) ?;
60
+ let marked = crate :: mark:: stack_marked ( ctx, * stack_id) . unwrap_or_default ( ) ;
61
+ print_group ( Some ( branch. as_str ( ) ) , filtered, & changes, marked) ?;
61
62
}
62
63
Ok ( ( ) )
63
64
}
@@ -66,6 +67,7 @@ pub fn print_group(
66
67
group : Option < & str > ,
67
68
assignments : Vec < FileAssignment > ,
68
69
changes : & [ TreeChange ] ,
70
+ marked : bool ,
69
71
) -> anyhow:: Result < ( ) > {
70
72
let id = if let Some ( group) = group {
71
73
CliId :: branch ( group)
@@ -78,7 +80,17 @@ pub fn print_group(
78
80
let group = & group
79
81
. map ( |s| format ! ( "[{}]" , s) )
80
82
. unwrap_or ( "<UNASSIGNED>" . to_string ( ) ) ;
81
- println ! ( "{} {}" , id, group. green( ) . bold( ) ) ;
83
+ let mark = if marked {
84
+ Some ( "◀ Marked ▶" . red ( ) . bold ( ) )
85
+ } else {
86
+ None
87
+ } ;
88
+ println ! (
89
+ "{} {} {}" ,
90
+ id,
91
+ group. green( ) . bold( ) ,
92
+ mark. unwrap_or_default( )
93
+ ) ;
82
94
for fa in assignments {
83
95
let state = status_from_changes ( changes, fa. path . clone ( ) ) ;
84
96
let path = match state {
0 commit comments