Return result of Command::execute
directly from main
#7
2 changed files with 5 additions and 9 deletions
|
@ -1,6 +1,6 @@
|
|||
use std::io;
|
||||
use std::fmt;
|
||||
use std::fmt::Display;
|
||||
use std::fmt::Debug;
|
||||
|
||||
pub enum FF2MpvError {
|
||||
NoConfig,
|
||||
|
@ -20,7 +20,7 @@ impl From<serde_json::Error> for FF2MpvError {
|
|||
}
|
||||
}
|
||||
|
||||
impl Display for FF2MpvError {
|
||||
impl Debug for FF2MpvError {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
Self::NoConfig => write!(f, "Config doesn't exist"),
|
||||
|
|
10
src/main.rs
10
src/main.rs
|
@ -1,18 +1,14 @@
|
|||
use std::env;
|
||||
use std::process;
|
||||
|
||||
use ff2mpv_rust::command::Command;
|
||||
use ff2mpv_rust::{command::Command, error::FF2MpvError};
|
||||
|
||||
fn main() {
|
||||
fn main() -> Result<(), FF2MpvError> {
|
||||
let mut args = env::args();
|
||||
args.next(); // Skip binary path
|
||||
|
||||
let command_name = args.next().unwrap_or_default();
|
||||
let command = get_command(&command_name);
|
||||
if let Err(e) = command.execute() {
|
||||
eprintln!("{e}");
|
||||
process::exit(-1);
|
||||
}
|
||||
command.execute()
|
||||
}
|
||||
|
||||
fn get_command(name: &str) -> Command {
|
||||
|
|
Loading…
Reference in a new issue