about summary refs log tree commit diff stats
path: root/src/cli.rs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-23 18:20:26 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-08-23 18:20:26 +0200
commitd5c2fcc184f764f9d4bb5846a1182c6014316bdc (patch)
treef4c3241b4a8b64aa30de39a7c057bf1ec9b99dbe /src/cli.rs
parentfix(config/from_filesystem): Only create the parent of config paths (diff)
downloadyt-d5c2fcc184f764f9d4bb5846a1182c6014316bdc.tar.gz
yt-d5c2fcc184f764f9d4bb5846a1182c6014316bdc.zip
feat(videos): Init
Diffstat (limited to 'src/cli.rs')
-rw-r--r--src/cli.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/cli.rs b/src/cli.rs
index d3ec262..72ec877 100644
--- a/src/cli.rs
+++ b/src/cli.rs
@@ -61,6 +61,12 @@ pub enum Command {
         max_cache_size: Option<u64>,
     },
 
+    /// Work with single videos
+    Videos {
+        #[command(subcommand)]
+        cmd: VideosCommand,
+    },
+
     /// Watch the already cached (and selected) videos
     Watch {},
 
@@ -126,6 +132,23 @@ impl Default for Command {
 }
 
 #[derive(Subcommand, Clone, Debug)]
+pub enum VideosCommand {
+    /// List the videos in the database
+    #[command(visible_alias = "ls")]
+    List {
+        /// An optional search query to limit the results
+        #[arg(action = ArgAction::Append)]
+        search_query: Option<String>,
+    },
+
+    /// Get detailed information about a video
+    Info {
+        /// The short hash of the video
+        hash: LazyExtractorHash,
+    },
+}
+
+#[derive(Subcommand, Clone, Debug)]
 pub enum SubscriptionCommand {
     /// Subscribe to an URL
     Add {