use crate::{
commands::{Cli, Config, Result},
views::ApplyTableStyle,
};
use clap::Parser;
use tabled::{Table, Tabled};
#[derive(Parser, Debug)]
pub(crate) struct ConfigGet {}
#[derive(Tabled)]
struct ConfigView {
table_style: String,
delete_empty_job_after_export: String,
}
impl ConfigGet {
pub(crate) fn run(&self, _: &Cli) -> Result<()> {
let config = Config::load()?;
let table_style = config.table_style.to_string();
let delete_empty_job_after_export = match config.delete_empty_job_after_export {
true => "delete",
false => "leave",
}
.to_string();
println!();
println!("Configuration:");
let config_view = ConfigView {
table_style,
delete_empty_job_after_export,
};
let mut table = Table::kv(vec![config_view]);
table.style(&config.table_style);
println!("{table}");
Ok(())
}
}