Trait Command
pub trait Command {
// Required methods
fn write_ansi(&self, f: &mut impl Write) -> Result<(), Error>;
fn execute_winapi(&self) -> Result<(), Error>;
// Provided method
fn is_ansi_code_supported(&self) -> bool { ... }
}term only.Expand description
An interface for a command that performs an action on the terminal.
Crossterm provides a set of commands, and there is no immediate reason to implement a command yourself. In order to understand how to use and execute commands, it is recommended that you take a look at Command API chapter.
Required Methods§
fn write_ansi(&self, f: &mut impl Write) -> Result<(), Error>
fn write_ansi(&self, f: &mut impl Write) -> Result<(), Error>
Write an ANSI representation of this command to the given writer. An ANSI code can manipulate the terminal by writing it to the terminal buffer. However, only Windows 10 and UNIX systems support this.
This method does not need to be accessed manually, as it is used by the crossterm’s Command API
fn execute_winapi(&self) -> Result<(), Error>
Available on Windows only.
fn execute_winapi(&self) -> Result<(), Error>
Execute this command.
Windows versions lower than windows 10 do not support ANSI escape codes, therefore a direct WinAPI call is made.
This method does not need to be accessed manually, as it is used by the crossterm’s Command API
Provided Methods§
fn is_ansi_code_supported(&self) -> bool
Available on Windows only.
fn is_ansi_code_supported(&self) -> bool
Returns whether the ANSI code representation of this command is supported by windows.
A list of supported ANSI escape codes can be found here.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
§impl<T> Command for &T
impl<T> Command for &T
fn write_ansi(&self, f: &mut impl Write) -> Result<(), Error>
§fn execute_winapi(&self) -> Result<(), Error>
fn execute_winapi(&self) -> Result<(), Error>
§fn is_ansi_code_supported(&self) -> bool
fn is_ansi_code_supported(&self) -> bool
Implementors§
impl Command for BeginSynchronizedUpdate
impl Command for Clear
impl Command for DisableBlinking
impl Command for DisableBracketedPaste
bracketed-paste only.impl Command for DisableFocusChange
impl Command for DisableLineWrap
impl Command for DisableMouseCapture
impl Command for EnableBlinking
impl Command for EnableBracketedPaste
bracketed-paste only.impl Command for EnableFocusChange
impl Command for EnableLineWrap
impl Command for EnableMouseCapture
events only.