Struct crossterm::terminal::Terminal[][src]

pub struct Terminal<'stdout> { /* fields omitted */ }

Struct that stores an specific platform implementation for terminal related actions.

Check /examples/terminal in the library for more specific examples.

use crossterm::terminal;

let screen = Screen::default();
let term = terminal(&screen);

term.scroll_down(5);
term.scroll_up(4);
let (with, height) = term.terminal_size();

Methods

impl<'stdout> Terminal<'stdout>
[src]

Create new terminal instance whereon terminal related actions can be performed.

Clear the current cursor by specifying the clear type.

let screen = Screen::default();
let mut term = terminal(&screen);

// clear all cells in terminal.
term.clear(terminal::ClearType::All);
// clear all cells from the cursor position downwards in terminal.
term.clear(terminal::ClearType::FromCursorDown);
// clear all cells from the cursor position upwards in terminal.
term.clear(terminal::ClearType::FromCursorUp);
// clear current line cells in terminal.
term.clear(terminal::ClearType::CurrentLine);
// clear all cells from cursor position until new line in terminal.
term.clear(terminal::ClearType::UntilNewLine);

Get the terminal size (x,y).

let screen = Screen::default();
let mut term = terminal(&screen);

let size = term.terminal_size();
println!("{:?}", size);

Scroll n lines up in the current terminal.

let screen = Screen::default();
let mut term = terminal(&screen);

// scroll up by 5 lines
let size = term.scroll_up(5);

Scroll n lines up in the current terminal.

let screen = Screen::default();
let mut term = terminal(&screen);

// scroll down by 5 lines
let size = term.scroll_down(5);

Set the terminal size. Note that not all terminals can be set to a very small scale.

let screen = Screen::default();
let mut term = terminal(&screen);

// Set of the size to X: 10 and Y: 10
let size = term.set_size(10,10);

Exit the current process.

let screen = Screen::default();
let mut term = terminal(&screen);

let size = term.exit();

Write any displayable content to the current terminal screen.

let screen = Screen::default();
let mut term = terminal(&screen);

let size = term.write("Some text \n Some text on new line");

Auto Trait Implementations

impl<'stdout> Send for Terminal<'stdout>

impl<'stdout> Sync for Terminal<'stdout>