mirror of
https://gitlab.computer.surgery/matrix/grapevine.git
synced 2025-12-17 07:41:23 +01:00
split out separate error type for serve command
This commit is contained in:
parent
86515d53cc
commit
5315bac0c5
3 changed files with 14 additions and 3 deletions
|
|
@ -60,7 +60,8 @@ pub(crate) struct ServeArgs {
|
||||||
impl Args {
|
impl Args {
|
||||||
pub(crate) async fn run(self) -> Result<(), error::Main> {
|
pub(crate) async fn run(self) -> Result<(), error::Main> {
|
||||||
match self.command {
|
match self.command {
|
||||||
Command::Serve(args) => serve::run(args).await,
|
Command::Serve(args) => serve::run(args).await?,
|
||||||
}
|
}
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,8 +44,8 @@ use crate::{
|
||||||
utils::error::{Error, Result},
|
utils::error::{Error, Result},
|
||||||
};
|
};
|
||||||
|
|
||||||
pub(crate) async fn run(args: ServeArgs) -> Result<(), error::Main> {
|
pub(crate) async fn run(args: ServeArgs) -> Result<(), error::ServeCommand> {
|
||||||
use error::Main as Error;
|
use error::ServeCommand as Error;
|
||||||
|
|
||||||
let config = config::load(args.config.config.as_ref()).await?;
|
let config = config::load(args.config.config.as_ref()).await?;
|
||||||
|
|
||||||
|
|
|
||||||
10
src/error.rs
10
src/error.rs
|
|
@ -40,6 +40,16 @@ impl fmt::Display for DisplayWithSources<'_> {
|
||||||
#[allow(missing_docs)]
|
#[allow(missing_docs)]
|
||||||
#[derive(Error, Debug)]
|
#[derive(Error, Debug)]
|
||||||
pub(crate) enum Main {
|
pub(crate) enum Main {
|
||||||
|
#[error(transparent)]
|
||||||
|
ServeCommand(#[from] ServeCommand),
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Errors returned from the `serve` CLI subcommand.
|
||||||
|
// Missing docs are allowed here since that kind of information should be
|
||||||
|
// encoded in the error messages themselves anyway.
|
||||||
|
#[allow(missing_docs)]
|
||||||
|
#[derive(Error, Debug)]
|
||||||
|
pub(crate) enum ServeCommand {
|
||||||
#[error("failed to load configuration")]
|
#[error("failed to load configuration")]
|
||||||
Config(#[from] Config),
|
Config(#[from] Config),
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue