cove_cli/commands/
list.rs1use crate::colors::*;
2use crate::tmux;
3
4pub fn run() -> Result<(), String> {
5 if !tmux::has_session() {
6 println!("{ANSI_OVERLAY}No active cove session.{ANSI_RESET}");
7 return Err(String::new());
8 }
9
10 let windows = tmux::list_windows()?;
11 let home = std::env::var("HOME").unwrap_or_default();
12
13 for w in &windows {
14 let dir = w.pane_path.replace(&home, "~");
15 if w.is_active {
16 println!(
17 " {ANSI_WHITE}{ANSI_BOLD}❯{ANSI_RESET} {ANSI_WHITE}{ANSI_BOLD}{}{ANSI_RESET} {ANSI_SUBTEXT}{dir}{ANSI_RESET}",
18 w.name
19 );
20 } else {
21 println!(
22 " {ANSI_OVERLAY}{}{ANSI_RESET} {ANSI_SURFACE}{dir}{ANSI_RESET}",
23 w.name
24 );
25 }
26 }
27
28 Ok(())
29}