From 89e93b9a011f984b840d3b3bee882f819067687f Mon Sep 17 00:00:00 2001 From: David Aguilar Date: Thu, 28 Dec 2023 21:38:51 -0800 Subject: [PATCH] shellexpand: upgrade to shellexpand v3 shellexpand now requires that the home_dir context function returns an Option rather than an Option. Upgrade the shellexpand crate and garden API usage accordingly. --- Cargo.lock | 57 ++++++++++++++++++++++------------------------------- Cargo.toml | 2 +- src/eval.rs | 6 +++--- 3 files changed, 28 insertions(+), 37 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2f2f40b..4f1805e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -109,9 +109,9 @@ checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "bstr" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" +checksum = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc" dependencies = [ "memchr", "regex-automata", @@ -135,9 +135,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.4.11" +version = "4.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfaff671f6b22ca62406885ece523383b9b64022e341e53e009a62ebc47a45f2" +checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" dependencies = [ "clap_builder", "clap_derive", @@ -145,9 +145,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.11" +version = "4.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a216b506622bb1d316cd51328dce24e07bdff4a6128a47c7e7fad11878d5adbb" +checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9" dependencies = [ "anstream", "anstyle", @@ -270,33 +270,13 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys 0.3.7", -] - [[package]] name = "dirs" version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys 0.4.1", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", + "dirs-sys", ] [[package]] @@ -364,7 +344,7 @@ dependencies = [ "clap_complete", "crossbeam", "derivative", - "dirs 5.0.1", + "dirs", "function_name", "glob", "indexmap", @@ -504,9 +484,9 @@ checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "once_cell" @@ -520,6 +500,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" +dependencies = [ + "memchr", +] + [[package]] name = "pathdiff" version = "0.2.1" @@ -683,11 +672,13 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" [[package]] name = "shellexpand" -version = "2.1.2" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4" +checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" dependencies = [ - "dirs 4.0.0", + "bstr", + "dirs", + "os_str_bytes", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 1d0e615..27e5dae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,7 +37,7 @@ is-terminal = "0.4.10" pathdiff = "0.2.1" rayon = "1.8.0" rm_rf = "0.6.2" -shellexpand = "2.1.2" +shellexpand = { version = "3.1.0", features = ["full"] } shell-words = "1.1.0" shlex = "1.2.0" strum = "0.25.0" diff --git a/src/eval.rs b/src/eval.rs index 75635cd..e8e0a50 100644 --- a/src/eval.rs +++ b/src/eval.rs @@ -181,12 +181,12 @@ fn expand_graft_vars( } /// Resolve ~ to the current user's home directory -fn home_dir() -> Option { +fn home_dir() -> Option { // Honor $HOME when set in the environment. if let Ok(home) = std::env::var("HOME") { - return Some(std::path::PathBuf::from(home)); + return Some(home); } - dirs::home_dir() + dirs::home_dir().map(|x| x.to_string_lossy().to_string()) } /// Resolve an expression in a garden/tree/global scope