# HG changeset patch # User Antoine Cezar # Date 1592819375 -19800 # Node ID bacf6c7ef01bcddb3e918377b47a824e904fbeab # Parent cf04f62d1579bed3781f2ee14673360ebc477199 rhg: add Command trait for subcommands implemented by rhg Normalizes the interface of the cli's commands Differential Revision: https://phab.mercurial-scm.org/D8611 Differential Revision: https://phab.mercurial-scm.org/D8648 diff -r cf04f62d1579 -r bacf6c7ef01b rust/rhg/src/commands.rs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rust/rhg/src/commands.rs Mon Jun 22 15:19:35 2020 +0530 @@ -0,0 +1,8 @@ +use crate::error::CommandError; + +/// The common trait for rhg commands +/// +/// Normalize the interface of the commands provided by rhg +pub trait Command { + fn run(&self) -> Result<(), CommandError>; +} diff -r cf04f62d1579 -r bacf6c7ef01b rust/rhg/src/error.rs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rust/rhg/src/error.rs Mon Jun 22 15:19:35 2020 +0530 @@ -0,0 +1,3 @@ +/// The error type for the Command trait +#[derive(Debug, PartialEq)] +pub struct CommandError {} diff -r cf04f62d1579 -r bacf6c7ef01b rust/rhg/src/main.rs --- a/rust/rhg/src/main.rs Fri Jun 05 10:28:58 2020 +0200 +++ b/rust/rhg/src/main.rs Mon Jun 22 15:19:35 2020 +0530 @@ -1,3 +1,5 @@ +mod commands; +mod error; mod exitcode; fn main() {