[][src]Struct console::Term

pub struct Term { /* fields omitted */ }

Abstraction around a terminal.

A terminal can be cloned. If a buffer is used it's shared across all clones which means it largely acts as a handle.

Methods

impl Term[src]

Important traits for Term
pub fn stdout() -> Term[src]

Return a new unbuffered terminal

Important traits for Term
pub fn stderr() -> Term[src]

Return a new unbuffered terminal to stderr

Important traits for Term
pub fn buffered_stdout() -> Term[src]

Return a new buffered terminal

Important traits for Term
pub fn buffered_stderr() -> Term[src]

Return a new buffered terminal to stderr

pub fn target(&self) -> TermTarget[src]

Returns the targert

pub fn write_line(&self, s: &str) -> Result<()>[src]

Writes a string to the terminal and adds a newline.

pub fn read_char(&self) -> Result<char>[src]

Read a single character from the terminal

This does not echo the character and blocks until a single character is entered.

pub fn read_key(&self) -> Result<Key>[src]

Read a single key form the terminal.

This does not echo anything. If the terminal is not user attended the return value will always be the unknown key.

pub fn read_line(&self) -> Result<String>[src]

Read one line of input.

This does not include the trailing newline. If the terminal is not user attended the return value will always be an empty string.

pub fn read_secure_line(&self) -> Result<String>[src]

Read securely a line of input.

This is similar to read_line but will not echo the output. This also switches the terminal into a different mode where not all characters might be accepted.

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

Flushes internal buffers.

This forces the contents of the internal buffer to be written to the terminal. This is unnecessary for unbuffered terminals which will automatically flush.

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

Checks if the terminal is indeed a terminal.

This is a shortcut for features().is_attended().

pub fn features(&self) -> TermFeatures[src]

Checks for common terminal features.

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

Deprecated since 0.8.0:

Use features().wants_emoji() instead

Checks if this terminal wants emoji output.

pub fn size(&self) -> (u16, u16)[src]

Returns the terminal size or gets sensible defaults.

pub fn size_checked(&self) -> Option<(u16, u16)>[src]

Returns the terminal size in rows and columns.

If the size cannot be reliably determined None is returned.

pub fn move_cursor_up(&self, n: usize) -> Result<()>[src]

Moves the cursor up n lines

pub fn move_cursor_down(&self, n: usize) -> Result<()>[src]

Moves the cursor down n lines

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

Clears the current line.

The positions the cursor at the beginning of the line again.

pub fn clear_last_lines(&self, n: usize) -> Result<()>[src]

Clear the last n lines.

This positions the cursor at the beginning of the first line that was cleared.

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

Clears the entire screen.

pub fn set_title<T: Display>(&self, title: T)[src]

Set the terminal title

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

Makes cursor visible again

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

Hides cursor

Trait Implementations

impl Clone for Term[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Term[src]

impl Read for Term[src]

fn read_vectored(&mut self, bufs: &mut [IoSliceMut]) -> Result<usize, Error>1.36.0[src]

Like read, except that it reads into a slice of buffers. Read more

unsafe fn initializer(&self) -> Initializer[src]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>1.0.0[src]

Read all bytes until EOF in this source, placing them into buf. Read more

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>1.0.0[src]

Read all bytes until EOF in this source, appending them to buf. Read more

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>1.6.0[src]

Read the exact number of bytes required to fill buf. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a "by reference" adaptor for this instance of Read. Read more

fn bytes(self) -> Bytes<Self>1.0.0[src]

Transforms this Read instance to an [Iterator] over its bytes. Read more

fn chain<R>(self, next: R) -> Chain<Self, R> where
    R: Read
1.0.0[src]

Creates an adaptor which will chain this stream with another. Read more

fn take(self, limit: u64) -> Take<Self>1.0.0[src]

Creates an adaptor which will read at most limit bytes from it. Read more

impl<'a> Read for &'a Term[src]

fn read_vectored(&mut self, bufs: &mut [IoSliceMut]) -> Result<usize, Error>1.36.0[src]

Like read, except that it reads into a slice of buffers. Read more

unsafe fn initializer(&self) -> Initializer[src]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>1.0.0[src]

Read all bytes until EOF in this source, placing them into buf. Read more

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>1.0.0[src]

Read all bytes until EOF in this source, appending them to buf. Read more

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>1.6.0[src]

Read the exact number of bytes required to fill buf. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a "by reference" adaptor for this instance of Read. Read more

fn bytes(self) -> Bytes<Self>1.0.0[src]

Transforms this Read instance to an [Iterator] over its bytes. Read more

fn chain<R>(self, next: R) -> Chain<Self, R> where
    R: Read
1.0.0[src]

Creates an adaptor which will chain this stream with another. Read more

fn take(self, limit: u64) -> Take<Self>1.0.0[src]

Creates an adaptor which will read at most limit bytes from it. Read more

impl Write for Term[src]

fn write_vectored(&mut self, bufs: &[IoSlice]) -> Result<usize, Error>1.36.0[src]

Like write, except that it writes from a slice of buffers. Read more

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>1.0.0[src]

Attempts to write an entire buffer into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>1.0.0[src]

Writes a formatted string into this writer, returning any error encountered. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a "by reference" adaptor for this instance of Write. Read more

impl<'a> Write for &'a Term[src]

fn write_vectored(&mut self, bufs: &[IoSlice]) -> Result<usize, Error>1.36.0[src]

Like write, except that it writes from a slice of buffers. Read more

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>1.0.0[src]

Attempts to write an entire buffer into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>1.0.0[src]

Writes a formatted string into this writer, returning any error encountered. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a "by reference" adaptor for this instance of Write. Read more

impl AsRawFd for Term[src]

Auto Trait Implementations

impl Send for Term

impl Unpin for Term

impl Sync for Term

impl UnwindSafe for Term

impl RefUnwindSafe for Term

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]