summaryrefslogtreecommitdiff
path: root/src/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.rs')
-rw-r--r--src/parser.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/parser.rs b/src/parser.rs
index ebd860b..30eb1e0 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -16,6 +16,8 @@ pub enum ShackleCommand {
SetDescription(SetDescriptionArgs),
/// Sets the main branch of the repository
SetBranch(SetBranchArgs),
+ /// Deletes a repository
+ Delete(DeleteArgs),
/// Quit the shell
Exit,
/// Server side command required to git fetch from the server
@@ -58,6 +60,13 @@ pub struct SetBranchArgs {
}
#[derive(Parser, Clone, Debug, PartialEq, Eq)]
+pub struct DeleteArgs {
+ /// The full relative path of the repository, for example git/shuckie/repo.git
+ #[arg(value_parser = RelativePathParser)]
+ pub directory: PathBuf,
+}
+
+#[derive(Parser, Clone, Debug, PartialEq, Eq)]
pub struct GitUploadPackArgs {
/// Do not try <directory>/.git/ if <directory> is no Git directory
#[arg(long, default_value_t = true)]