softprops/atty

are you or are you not a tty?

294

stars

133

commits

Rust

primary language

Jul 18, 2024

updated

library
rust
rust-library
tty

README

atty

[!WARNING] This is crate is no longer maintained and users are encouraged to prefer the equivalant functionality of std.io.IsTerminal, introduced in Rust 1.70.0

Thank you for your support!

Build Status Build status Coverage Status crates.io Released API docs Master API docs

are you or are you not a tty?

install

Add the following to your Cargo.toml

[dependencies]
atty = "0.2"

usage

use atty::Stream;

fn main() {
  if atty::is(Stream::Stdout) {
    println!("I'm a terminal");
  } else {
    println!("I'm not");
  }
}

testing

This library has been unit tested on both unix and windows platforms (via appveyor).

A simple example program is provided in this repo to test various tty's. By default.

It prints

$ cargo run --example atty
stdout? true
stderr? true
stdin? true

To test std in, pipe some text to the program

$ echo "test" | cargo run --example atty
stdout? true
stderr? true
stdin? false

To test std out, pipe the program to something

$ cargo run --example atty | grep std
stdout? false
stderr? true
stdin? true

To test std err, pipe the program to something redirecting std err

$ cargo run --example atty 2>&1 | grep std
stdout? false
stderr? false
stdin? true

Doug Tangren (softprops) 2015-2019

Contributors

softprops

117 commits

BurntSushi

3 commits

BusyJay

2 commits

alexcrichton

2 commits

softprops/atty

are you or are you not a tty?

294

stars

133

commits

Rust

primary language

Jul 18, 2024

updated

library
rust
rust-library
tty

README

atty

[!WARNING] This is crate is no longer maintained and users are encouraged to prefer the equivalant functionality of std.io.IsTerminal, introduced in Rust 1.70.0

Thank you for your support!

Build Status Build status Coverage Status crates.io Released API docs Master API docs

are you or are you not a tty?

install

Add the following to your Cargo.toml

[dependencies]
atty = "0.2"

usage

use atty::Stream;

fn main() {
  if atty::is(Stream::Stdout) {
    println!("I'm a terminal");
  } else {
    println!("I'm not");
  }
}

testing

This library has been unit tested on both unix and windows platforms (via appveyor).

A simple example program is provided in this repo to test various tty's. By default.

It prints

$ cargo run --example atty
stdout? true
stderr? true
stdin? true

To test std in, pipe some text to the program

$ echo "test" | cargo run --example atty
stdout? true
stderr? true
stdin? false

To test std out, pipe the program to something

$ cargo run --example atty | grep std
stdout? false
stderr? true
stdin? true

To test std err, pipe the program to something redirecting std err

$ cargo run --example atty 2>&1 | grep std
stdout? false
stderr? false
stdin? true

Doug Tangren (softprops) 2015-2019

Contributors

softprops

117 commits

BurntSushi

3 commits

BusyJay

2 commits

alexcrichton

2 commits

Languages

Rust

100.0%