aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/mozart/src/commands/search.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/mozart/src/commands/search.rs')
-rw-r--r--crates/mozart/src/commands/search.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/crates/mozart/src/commands/search.rs b/crates/mozart/src/commands/search.rs
new file mode 100644
index 0000000..3d2d20f
--- /dev/null
+++ b/crates/mozart/src/commands/search.rs
@@ -0,0 +1,28 @@
+use clap::Args;
+
+#[derive(Args)]
+pub struct SearchArgs {
+ /// Search tokens
+ #[arg(required = true)]
+ pub tokens: Vec<String>,
+
+ /// Search only in name
+ #[arg(short = 'N', long)]
+ pub only_name: bool,
+
+ /// Search only for vendor / organization
+ #[arg(short = 'O', long)]
+ pub only_vendor: bool,
+
+ /// Filter by package type
+ #[arg(short, long, value_name = "TYPE")]
+ pub r#type: Option<String>,
+
+ /// Output format (text, json)
+ #[arg(short, long)]
+ pub format: Option<String>,
+}
+
+pub fn execute(_args: &SearchArgs) {
+ todo!()
+}