use crate::engines;
use colored::Colorize;
#[derive(clap::Args)]
pub struct Args {
#[arg(short, long)]
pub verbose: bool,
}
pub fn run(args: Args) {
let conns = engines::list();
if conns.is_empty() {
println!(
"{}",
"No saved connections yet. Run `esql` and press `c` to add one.".dimmed()
);
return;
}
if args.verbose {
let width = conns.iter().map(|c| c.name.len()).max().unwrap_or(0);
let ew = conns
.iter()
.map(|c| c.engine.label().len())
.max()
.unwrap_or(0);
for c in &conns {
println!(
" {:ew$} {:width$} {}",
c.engine.label().dimmed(),
c.name.bold(),
c.target().dimmed()
);
}
} else {
for c in &conns {
println!("{}", c.name);
}
}
}