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::io;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::fmt::Display;
|
use std::fmt::Debug;
|
||||||
|
|
||||||
pub enum FF2MpvError {
|
pub enum FF2MpvError {
|
||||||
NoConfig,
|
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 {
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
Self::NoConfig => write!(f, "Config doesn't exist"),
|
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::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();
|
let mut args = env::args();
|
||||||
args.next(); // Skip binary path
|
args.next(); // Skip binary path
|
||||||
|
|
||||||
let command_name = args.next().unwrap_or_default();
|
let command_name = args.next().unwrap_or_default();
|
||||||
let command = get_command(&command_name);
|
let command = get_command(&command_name);
|
||||||
if let Err(e) = command.execute() {
|
command.execute()
|
||||||
eprintln!("{e}");
|
|
||||||
process::exit(-1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_command(name: &str) -> Command {
|
fn get_command(name: &str) -> Command {
|
||||||
|
|
Loading…
Reference in a new issue