On this page
Trait std::io::IsTerminal
pub trait IsTerminal: Sealed {
// Required method
fn is_terminal(&self) -> bool;
}
Trait to determine if a descriptor/handle refers to a terminal/tty.
Required Methods
fn is_terminal(&self) -> bool
Returns true
if the descriptor/handle refers to a terminal/tty.
On platforms where Rust does not know how to detect a terminal yet, this will return false
. This will also return false
if an unexpected error occurred, such as from passing an invalid file descriptor.
Platform-specific behavior
On Windows, in addition to detecting consoles, this currently uses some heuristics to detect older msys/cygwin/mingw pseudo-terminals based on device name: devices with names starting with msys-
or cygwin-
and ending in -pty
will be considered terminals. Note that this may change in the future.
Implementors
impl IsTerminal for File
impl IsTerminal for BorrowedFd<'_>
impl IsTerminal for OwnedFd
impl IsTerminal for BorrowedHandle<'_>Available on Windows only.
impl IsTerminal for OwnedHandleAvailable on Windows only.
impl IsTerminal for Stderr
impl IsTerminal for StderrLock<'_>
impl IsTerminal for Stdin
impl IsTerminal for StdinLock<'_>
impl IsTerminal for Stdout
impl IsTerminal for StdoutLock<'_>
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/io/trait.IsTerminal.html