Skip to content
are you or are you not a tty?
Rust
Branch: master
Clone or download
Latest commit 0e6ef04 Jul 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Revert "upgrade to 2018 edition" Jul 16, 2019
src
.gitignore ignore rustfmt artifacts Sep 12, 2016
.travis.yml just test building Sep 30, 2017
CHANGELOG.md back to 2015 edition Jul 16, 2019
Cargo.toml back to 2015 edition Jul 16, 2019
LICENSE update readme example for 2018 edition rust Jul 11, 2019
README.md update readme example for 2018 edition rust Jul 11, 2019
appveyor.yml just test building Sep 30, 2017
rustfmt.toml

README.md

atty

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

You can’t perform that action at this time.