Use the is-terminal crate instead of atty

The crate is already used by `clap` and a similar trait is about to be
stabilized in `std`.
This commit is contained in:
Constantin Nickel 2023-04-05 19:26:52 +02:00
parent 1b2c69aee8
commit 57cc0d8435
3 changed files with 6 additions and 6 deletions

2
Cargo.lock generated
View File

@ -69,7 +69,6 @@ version = "0.23.0"
dependencies = [
"ansi_colours",
"assert_cmd",
"atty",
"bincode",
"bugreport",
"bytesize",
@ -84,6 +83,7 @@ dependencies = [
"git2",
"globset",
"grep-cli",
"is-terminal",
"nix",
"nu-ansi-term",
"once_cell",

View File

@ -25,7 +25,7 @@ application = [
# Mainly for developers that want to iterate quickly
# Be aware that the included features might change in the future
minimal-application = [
"atty",
"is-terminal",
"clap",
"dirs",
"paging",
@ -41,7 +41,7 @@ regex-onig = ["syntect/regex-onig"] # Use the "oniguruma" regex engine
regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine
[dependencies]
atty = { version = "0.2.14", optional = true }
is-terminal = { version = "0.4.4", optional = true }
nu-ansi-term = "0.47.0"
ansi_colours = "^1.2"
bincode = "1.0"

View File

@ -2,7 +2,7 @@ use std::collections::HashSet;
use std::env;
use std::path::{Path, PathBuf};
use atty::{self, Stream};
use is_terminal::IsTerminal;
use crate::{
clap_app,
@ -40,7 +40,7 @@ impl App {
#[cfg(windows)]
let _ = nu_ansi_term::enable_ansi_support();
let interactive_output = atty::is(Stream::Stdout);
let interactive_output = std::io::stdout().is_terminal();
Ok(App {
matches: Self::matches(interactive_output)?,
@ -104,7 +104,7 @@ impl App {
// If we are reading from stdin, only enable paging if we write to an
// interactive terminal and if we do not *read* from an interactive
// terminal.
if self.interactive_output && !atty::is(Stream::Stdin) {
if self.interactive_output && std::io::stdin().is_terminal() {
PagingMode::QuitIfOneScreen
} else {
PagingMode::Never