Struct BufferWriter

pub struct BufferWriter { /* private fields */ }

Writes colored buffers to stdout or stderr.

Writable buffers can be obtained by calling buffer on a BufferWriter.

This writer works with terminals that support ANSI escape sequences or with a Windows console.

It is intended for a BufferWriter to be put in an Arc and written to from multiple threads simultaneously.

Implementations

impl BufferWriter

fn stdout(choice: ColorChoice) -> BufferWriter

Create a new BufferWriter that writes to stdout with the given color preferences.

On Windows, if coloring is desired and a Windows console could not be found, then ANSI escape sequences are used instead.

The specific color/style settings can be configured when writing to the buffers themselves.

fn stderr(choice: ColorChoice) -> BufferWriter

Create a new BufferWriter that writes to stderr with the given color preferences.

On Windows, if coloring is desired and a Windows console could not be found, then ANSI escape sequences are used instead.

The specific color/style settings can be configured when writing to the buffers themselves.

fn separator(&mut self, sep: Option<Vec<u8>>)

If set, the separator given is printed between buffers. By default, no separator is printed.

The default value is None.

fn buffer(&self) -> Buffer

Creates a new Buffer with the current color preferences.

A Buffer satisfies both io::Write and WriteColor. A Buffer can be printed using the print method.

fn print(&self, buf: &Buffer) -> Result<()>

Prints the contents of the given buffer.

It is safe to call this from multiple threads simultaneously. In particular, all buffers are written atomically. No interleaving will occur.

Trait Implementations

impl Debug for BufferWriter

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Auto Trait Implementations

impl !Freeze for BufferWriter

impl RefUnwindSafe for BufferWriter

impl Send for BufferWriter

impl Sync for BufferWriter

impl Unpin for BufferWriter

impl UnsafeUnpin for BufferWriter

impl UnwindSafe for BufferWriter

Blanket Implementations

impl<T> Any for BufferWriter where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for BufferWriter where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for BufferWriter where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> From<T> for BufferWriter

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for BufferWriter where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for BufferWriter where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for BufferWriter where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>