summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrimmauld <Grimmauld@grimmauld.de>2024-04-30 20:59:32 +0200
committeraxtlos <axtlos@disroot.org>2024-04-30 21:11:49 +0200
commitcbe8a0cdf4bdbb26faecb028e79ad6c409376051 (patch)
tree3e3bf2d22f22582151388ad7f3d466f84297f5f5
parentf66c208a613862c0deb345619b0a261e9fdda8dc (diff)
downloaddeskwhich-cbe8a0cdf4bdbb26faecb028e79ad6c409376051.tar.gz
deskwhich-cbe8a0cdf4bdbb26faecb028e79ad6c409376051.tar.bz2
Allow reading from stdin by placing `-` as a mark
-rw-r--r--Cargo.lock42
-rw-r--r--Cargo.toml1
-rw-r--r--src/args.rs4
3 files changed, 40 insertions, 7 deletions
diff --git a/Cargo.lock b/Cargo.lock
index f34d38f..80c74a2 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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"
diff --git a/Cargo.toml b/Cargo.toml
index 700fbc6..619d78b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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)]