changeset 44982:bacf6c7ef01b

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
author Antoine Cezar <antoine.cezar@octobus.net>
date Mon, 22 Jun 2020 15:19:35 +0530
parents cf04f62d1579
children 1b757f385549
files rust/rhg/src/commands.rs rust/rhg/src/error.rs rust/rhg/src/main.rs
diffstat 3 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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>;
+}
--- /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 {}
--- 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() {