[][src]Trait rustc_term::Terminal

pub trait Terminal: Write {
    type Output: Write;
    fn fg(&mut self, color: Color) -> Result<bool>;
fn bg(&mut self, color: Color) -> Result<bool>;
fn attr(&mut self, attr: Attr) -> Result<bool>;
fn supports_attr(&self, attr: Attr) -> bool;
fn reset(&mut self) -> Result<bool>;
fn get_ref(&self) -> &Self::Output;
fn get_mut(&mut self) -> &mut Self::Output;
fn into_inner(self) -> Self::Output
    where
        Self: Sized
; }

A terminal with similar capabilities to an ANSI Terminal (foreground/background colors etc).

Associated Types

type Output: Write

The terminal's output writer type.

Loading content...

Required methods

fn fg(&mut self, color: Color) -> Result<bool>

Sets the foreground color to the given color.

If the color is a bright color, but the terminal only supports 8 colors, the corresponding normal color will be used instead.

Returns Ok(true) if the color was set, Ok(false) otherwise, and Err(e) if there was an I/O error.

fn bg(&mut self, color: Color) -> Result<bool>

Sets the background color to the given color.

If the color is a bright color, but the terminal only supports 8 colors, the corresponding normal color will be used instead.

Returns Ok(true) if the color was set, Ok(false) otherwise, and Err(e) if there was an I/O error.

fn attr(&mut self, attr: Attr) -> Result<bool>

Sets the given terminal attribute, if supported. Returns Ok(true) if the attribute was supported, Ok(false) otherwise, and Err(e) if there was an I/O error.

fn supports_attr(&self, attr: Attr) -> bool

Returns true if the given terminal attribute is supported.

fn reset(&mut self) -> Result<bool>

Resets all terminal attributes and colors to their defaults.

Returns Ok(true) if the terminal was reset, Ok(false) otherwise, and Err(e) if there was an I/O error.

Note: This does not flush.

That means the reset command may get buffered so, if you aren't planning on doing anything else that might flush stdout's buffer (e.g., writing a line of text), you should flush after calling reset.

fn get_ref(&self) -> &Self::Output

Gets an immutable reference to the stream inside

fn get_mut(&mut self) -> &mut Self::Output

Gets a mutable reference to the stream inside

fn into_inner(self) -> Self::Output where
    Self: Sized

Returns the contained stream, destroying the Terminal

Loading content...

Implementors

impl<T: Write + Send> Terminal for TerminfoTerminal<T>[src]

type Output = T

Loading content...