diff options
Diffstat (limited to 'src/parser.rs')
-rw-r--r-- | src/parser.rs | 9 |
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)] |