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]
impl<'stdout> Terminal<'stdout>
pub fn new(screen: &'stdout Arc<TerminalOutput>) -> Terminal<'stdout>
[src]
pub fn new(screen: &'stdout Arc<TerminalOutput>) -> Terminal<'stdout>
Create new terminal instance whereon terminal related actions can be performed.
pub fn clear(&self, clear_type: ClearType)
[src]
pub fn clear(&self, clear_type: ClearType)
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);
pub fn terminal_size(&self) -> (u16, u16)
[src]
pub fn terminal_size(&self) -> (u16, u16)
Get the terminal size (x,y).
let screen = Screen::default(); let mut term = terminal(&screen); let size = term.terminal_size(); println!("{:?}", size);
pub fn scroll_up(&self, count: i16)
[src]
pub fn scroll_up(&self, count: i16)
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);
pub fn scroll_down(&self, count: i16)
[src]
pub fn scroll_down(&self, count: i16)
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);
pub fn set_size(&self, width: i16, height: i16)
[src]
pub fn set_size(&self, width: i16, height: i16)
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);
pub fn exit(&self)
[src]
pub fn exit(&self)
Exit the current process.
let screen = Screen::default(); let mut term = terminal(&screen); let size = term.exit();
pub fn write<D: Display>(&self, value: D)
[src]
pub fn write<D: Display>(&self, value: D)
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");