[][src]Trait term::Terminal

pub trait Terminal: Write {
    type Output: Write;
    pub fn fg(&mut self, color: Color) -> Result<()>;
pub fn bg(&mut self, color: Color) -> Result<()>;
pub fn attr(&mut self, attr: Attr) -> Result<()>;
pub fn supports_attr(&self, attr: Attr) -> bool;
pub fn reset(&mut self) -> Result<()>;
pub fn supports_reset(&self) -> bool;
pub fn supports_color(&self) -> bool;
pub fn cursor_up(&mut self) -> Result<()>;
pub fn delete_line(&mut self) -> Result<()>;
pub fn carriage_return(&mut self) -> Result<()>;
pub fn get_ref(&self) -> &Self::Output;
pub fn get_mut(&mut self) -> &mut Self::Output;
pub 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[src]

The terminal's output writer type.

Loading content...

Required methods

pub fn fg(&mut self, color: Color) -> Result<()>[src]

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(()) if the color change code was sent to the terminal, or Err(e) if there was an error.

pub fn bg(&mut self, color: Color) -> Result<()>[src]

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(()) if the color change code was sent to the terminal, or Err(e) if there was an error.

pub fn attr(&mut self, attr: Attr) -> Result<()>[src]

Sets the given terminal attribute, if supported. Returns Ok(()) if the attribute is supported and was sent to the terminal, or Err(e) if there was an error or the attribute wasn't supported.

pub fn supports_attr(&self, attr: Attr) -> bool[src]

Returns whether the given terminal attribute is supported.

pub fn reset(&mut self) -> Result<()>[src]

Resets all terminal attributes and colors to their defaults.

Returns Ok(()) if the reset code was printed, or Err(e) if there was an 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.

pub fn supports_reset(&self) -> bool[src]

Returns true if reset is supported.

pub fn supports_color(&self) -> bool[src]

Returns true if color is fully supported.

If this function returns true, bg, fg, and reset will never return Err(Error::NotSupported).

pub fn cursor_up(&mut self) -> Result<()>[src]

Moves the cursor up one line.

Returns Ok(()) if the cursor movement code was printed, or Err(e) if there was an error.

pub fn delete_line(&mut self) -> Result<()>[src]

Deletes the text from the cursor location to the end of the line.

Returns Ok(()) if the deletion code was printed, or Err(e) if there was an error.

pub fn carriage_return(&mut self) -> Result<()>[src]

Moves the cursor to the left edge of the current line.

Returns Ok(true) if the deletion code was printed, or Err(e) if there was an error.

pub fn get_ref(&self) -> &Self::Output[src]

Gets an immutable reference to the stream inside

pub fn get_mut(&mut self) -> &mut Self::Output[src]

Gets a mutable reference to the stream inside

pub fn into_inner(self) -> Self::Output where
    Self: Sized
[src]

Returns the contained stream, destroying the Terminal

Loading content...

Implementors

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

type Output = T

Loading content...