From 20cfa6035b1be1b8d41e1774053e1985c40bb90d Mon Sep 17 00:00:00 2001 From: Michael Rogenmoser Date: Thu, 6 Jul 2023 18:12:44 +0200 Subject: [PATCH] Remove atty dependency --- Cargo.lock | 32 ++++++-------------------------- Cargo.toml | 2 +- src/cmd/fusesoc.rs | 3 ++- src/main.rs | 2 ++ src/resolver.rs | 5 +++-- 5 files changed, 14 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 112331e2..cc8a15da 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -77,17 +77,6 @@ dependencies = [ "syn", ] -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - [[package]] name = "autocfg" version = "1.1.0" @@ -114,7 +103,6 @@ name = "bender" version = "0.27.1" dependencies = [ "async-recursion", - "atty", "blake2", "clap", "common-path", @@ -122,6 +110,7 @@ dependencies = [ "futures", "glob", "indexmap", + "is-terminal", "itertools", "pathdiff", "semver", @@ -454,15 +443,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.3.2" @@ -495,18 +475,18 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi 0.3.2", + "hermit-abi", "libc", "windows-sys", ] [[package]] name = "is-terminal" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24fddda5af7e54bf7da53067d6e802dbcc381d0a8eef629df528e3ebf68755cb" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.2", + "hermit-abi", "rustix 0.38.3", "windows-sys", ] @@ -586,7 +566,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.2", + "hermit-abi", "libc", ] diff --git a/Cargo.toml b/Cargo.toml index b7d43ea8..9cecf231 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,7 +25,7 @@ dirs = "5" pathdiff = "0.2" common-path = "1.0.0" itertools = "0.11" -atty = "0.2" +is-terminal = "0.4" tabwriter = "1.2.1" indexmap = { version = "2", features = ["serde"] } tempfile = "3.5" diff --git a/src/cmd/fusesoc.rs b/src/cmd/fusesoc.rs index 1d09a0f7..c7d3ae9f 100644 --- a/src/cmd/fusesoc.rs +++ b/src/cmd/fusesoc.rs @@ -13,6 +13,7 @@ use std::path::PathBuf; use clap::{value_parser, Arg, ArgAction, ArgMatches, Command}; use indexmap::{IndexMap, IndexSet}; +use is_terminal::IsTerminal; use itertools::Itertools; use tokio::runtime::Runtime; use walkdir::{DirEntry, WalkDir}; @@ -282,7 +283,7 @@ pub fn run(sess: &Session, matches: &ArgMatches) -> Result<()> { } println!("{}", msg); // Let user resolve conflict if both stderr and stdin go to a TTY. - if atty::is(atty::Stream::Stderr) && atty::is(atty::Stream::Stdin) { + if std::io::stderr().is_terminal() && std::io::stdin().is_terminal() { index = { loop { eprint!("Enter a number or hit enter to abort: "); diff --git a/src/main.rs b/src/main.rs index c25c6480..3784e77a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,6 +16,8 @@ extern crate blake2; extern crate clap; extern crate dirs; extern crate glob; +extern crate is_terminal; +extern crate itertools; extern crate pathdiff; extern crate semver; extern crate tempfile; diff --git a/src/resolver.rs b/src/resolver.rs index 7f25e566..e03ca0e5 100644 --- a/src/resolver.rs +++ b/src/resolver.rs @@ -17,7 +17,8 @@ use tokio::runtime::Runtime; extern crate itertools; use self::itertools::Itertools; -extern crate atty; +extern crate is_terminal; +use is_terminal::IsTerminal; use std::io::{self, Write}; @@ -502,7 +503,7 @@ impl<'ctx> DependencyResolver<'ctx> { } cons = cons.into_iter().unique().collect(); // Let user resolve conflict if both stderr and stdin go to a TTY. - if atty::is(atty::Stream::Stderr) && atty::is(atty::Stream::Stdin) { + if std::io::stderr().is_terminal() && std::io::stdin().is_terminal() { let decision = if let Some(d) = self.decisions.get(name) { d.clone() } else {