mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
improve: error handling, output table enhancement
This commit is contained in:
parent
0fd6c666a6
commit
06e06975b8
2 changed files with 222 additions and 34 deletions
15
src/main.rs
15
src/main.rs
|
|
@ -16,7 +16,7 @@ use crate::api::default_provider;
|
|||
use crate::cli::{Cli, Commands};
|
||||
use crate::config::IdxConfig;
|
||||
use crate::error::IdxError;
|
||||
use crate::output::emit_error;
|
||||
use crate::output::{OutputFormat, emit_error};
|
||||
|
||||
fn main() {
|
||||
if let Err(err) = run() {
|
||||
|
|
@ -29,7 +29,7 @@ fn run() -> Result<(), IdxError> {
|
|||
let config = match IdxConfig::load_with_cli(&cli) {
|
||||
Ok(config) => config,
|
||||
Err(err) => {
|
||||
eprintln!("Error: {err}");
|
||||
emit_error(&err, &bootstrap_output_format(&cli));
|
||||
return Err(err);
|
||||
}
|
||||
};
|
||||
|
|
@ -83,3 +83,14 @@ fn run() -> Result<(), IdxError> {
|
|||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn bootstrap_output_format(cli: &Cli) -> OutputFormat {
|
||||
if let Some(output) = cli.output {
|
||||
return output;
|
||||
}
|
||||
|
||||
match std::env::var("IDX_OUTPUT") {
|
||||
Ok(value) if value.eq_ignore_ascii_case("json") => OutputFormat::Json,
|
||||
_ => OutputFormat::Table,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue