diff --git a/src/cli_util.rs b/src/cli_util.rs index 6cccd3087..562d2d174 100644 --- a/src/cli_util.rs +++ b/src/cli_util.rs @@ -58,7 +58,7 @@ use crate::merge_tools::{ConflictResolveError, DiffEditError}; use crate::templater::TemplateFormatter; use crate::ui::{ColorChoice, Ui}; -#[derive(Debug)] +#[derive(Clone, Debug)] pub enum CommandError { UserError { message: String, @@ -68,7 +68,7 @@ pub enum CommandError { /// Invalid command line CliError(String), /// Invalid command line detected by clap - ClapCliError(clap::Error), + ClapCliError(Arc), BrokenPipe, InternalError(String), } @@ -216,7 +216,7 @@ impl From for CommandError { impl From for CommandError { fn from(err: clap::Error) -> Self { - CommandError::ClapCliError(err) + CommandError::ClapCliError(Arc::new(err)) } }