summary refs log tree commit diff stats
path: root/src/command_line_interface.rs
diff options
context:
space:
mode:
authorSoispha <soispha@vhack.eu>2023-06-18 16:32:47 +0200
committerSoispha <soispha@vhack.eu>2023-06-18 16:32:47 +0200
commit369bf07cbb36d8e72025014bfd4ddc52d9049fde (patch)
tree545b32762ec8af521484f6c520dc568edaf8a2f7 /src/command_line_interface.rs
downloadlpm-369bf07cbb36d8e72025014bfd4ddc52d9049fde.tar.gz
lpm-369bf07cbb36d8e72025014bfd4ddc52d9049fde.zip
Chore: Initial commit
Diffstat (limited to '')
-rw-r--r--src/command_line_interface.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/command_line_interface.rs b/src/command_line_interface.rs
new file mode 100644
index 0000000..66d8122
--- /dev/null
+++ b/src/command_line_interface.rs
@@ -0,0 +1,42 @@
+use clap::{Subcommand, Parser};
+
+/// A project manager for LaTeX
+#[derive(Parser, Debug)]
+#[clap(author, version, about, long_about = None)]
+pub struct Args {
+    #[command(subcommand)]
+    pub cli: Command,
+}
+
+#[derive(Subcommand, Debug)]
+pub enum Command {
+    /// Generates a new part
+    #[command(subcommand)]
+    New (SubCommand),
+}
+
+
+#[derive(Subcommand, Debug)]
+pub enum SubCommand {
+    /// Adds a section
+    Section {
+        /// Name of the new Section
+        name: String,
+    },
+
+    /// Adds a chapter
+    Chapter {
+        /// Name of the new Chapter
+        name: String,
+    },
+
+    /// generates a new project
+    Project {
+        /// Name of the new Project
+        name: String,
+        /// Name of the first chapter
+        first_chapter: String,
+        // /// Name of the first section
+        // first_section: String,
+    },
+}