git_worktree_manager/
console.rs1use console::{style, Style, Term};
5
6pub fn print_header(text: &str) {
8 let term = Term::stdout();
9 let _ = term.write_line(&format!("{}", style(text).cyan().bold()));
10}
11
12pub fn print_success(text: &str) {
14 let _ = Term::stdout().write_line(&format!("{}", style(text).green()));
15}
16
17pub fn print_warning(text: &str) {
19 let _ = Term::stderr().write_line(&format!("{}", style(text).yellow()));
20}
21
22pub fn print_error(text: &str) {
24 let _ = Term::stderr().write_line(&format!("{}", style(text).red()));
25}
26
27pub fn print_dim(text: &str) {
29 let _ = Term::stdout().write_line(&format!("{}", style(text).dim()));
30}
31
32pub fn status_style(status: &str) -> Style {
34 match status {
35 "active" => Style::new().green().bold(),
36 "clean" => Style::new().green(),
37 "modified" => Style::new().yellow(),
38 "stale" => Style::new().red(),
39 _ => Style::new(),
40 }
41}
42
43pub fn terminal_width() -> usize {
45 Term::stdout().size().1 as usize
46}