aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/commands/search.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-02-11 00:15:14 +0900
committernsfisis <nsfisis@gmail.com>2026-02-11 00:15:14 +0900
commit8441abd29aea53719c19f34ec6d542a4575a23c9 (patch)
tree2d5704acdae268253b69c4bb9a37653635037138 /src/commands/search.rs
parent9dacb9293f9b995c6c810227f73b4aa5cf019bab (diff)
downloadphp-mozart-8441abd29aea53719c19f34ec6d542a4575a23c9.tar.gz
php-mozart-8441abd29aea53719c19f34ec6d542a4575a23c9.tar.zst
php-mozart-8441abd29aea53719c19f34ec6d542a4575a23c9.zip
define subcommands and options
Diffstat (limited to 'src/commands/search.rs')
-rw-r--r--src/commands/search.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/commands/search.rs b/src/commands/search.rs
new file mode 100644
index 0000000..3d2d20f
--- /dev/null
+++ b/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!()
+}