diff options
author | Grimmauld <Grimmauld@grimmauld.de> | 2024-04-30 20:59:32 +0200 |
---|---|---|
committer | axtlos <axtlos@disroot.org> | 2024-04-30 21:11:49 +0200 |
commit | cbe8a0cdf4bdbb26faecb028e79ad6c409376051 (patch) | |
tree | 3e3bf2d22f22582151388ad7f3d466f84297f5f5 | |
parent | f66c208a613862c0deb345619b0a261e9fdda8dc (diff) | |
download | deskwhich-cbe8a0cdf4bdbb26faecb028e79ad6c409376051.tar.gz deskwhich-cbe8a0cdf4bdbb26faecb028e79ad6c409376051.tar.bz2 |
Allow reading from stdin by placing `-` as a mark
-rw-r--r-- | Cargo.lock | 42 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | src/args.rs | 4 |
3 files changed, 40 insertions, 7 deletions
@@ -61,6 +61,15 @@ dependencies = [ ] [[package]] +name = "clap-stdin" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc126d12a0930c94c3548581294d5f19360ac02e408600b4d7619d7234e8b505" +dependencies = [ + "thiserror", +] + +[[package]] name = "clap_builder" version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -101,6 +110,7 @@ name = "deskwhich" version = "0.1.0" dependencies = [ "clap", + "clap-stdin", ] [[package]] @@ -111,18 +121,18 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -135,9 +145,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.58" +version = "2.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" dependencies = [ "proc-macro2", "quote", @@ -145,6 +155,26 @@ dependencies = [ ] [[package]] +name = "thiserror" +version = "1.0.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.59" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -8,3 +8,4 @@ license = "GPL-3.0-ONLY" [dependencies] clap = {version="4.5.4", features = ["derive"]} +clap-stdin = {version="0.4.0"}
\ No newline at end of file diff --git a/src/args.rs b/src/args.rs index 00c8a25..0585278 100644 --- a/src/args.rs +++ b/src/args.rs @@ -1,13 +1,15 @@ // SPDX-License-Identifier: GPL-3.0-only use clap::Parser; +use clap_stdin::MaybeStdin; + #[derive(Debug, Parser)] #[clap(name="deskwhich", version=env!("CARGO_PKG_VERSION"),about=env!("CARGO_PKG_DESCRIPTION"), author=env!("CARGO_PKG_AUTHORS"))] pub struct Cli { /// The desktop file to search for - pub search: String, + pub search: MaybeStdin<String>, /// Skip directories in XDG_DATA_DIRS that start with a dot #[arg(long, default_value_t=false)] |