Skip to main content

ScriptOut

Struct ScriptOut 

Source
pub struct ScriptOut<W: Write>(/* private fields */);
Expand description

Newtype over the real stdout handle. Constructed once in main and handed only to emission call sites, so writing script bytes to the wrong stream is unrepresentable.

Implementations§

Source§

impl<W: Write> ScriptOut<W>

Source

pub fn new(w: W) -> Self

Wrap the process stdout (or a test buffer).

Source

pub fn emit_script(&mut self, cmds: &[String]) -> Result<()>

Port of emit_script (try.rb:1395-1409): warning comment first, commands chained && \ with 2-space continuation indent, final newline, no trailing &&.

§Errors

Propagates I/O errors from the underlying writer.

Source

pub fn cancelled(&mut self) -> Result<()>

Upstream’s puts "Cancelled." on cancel goes to STDOUT (try.rb:1557,1566,1584) — a sanctioned non-script stdout emission.

§Errors

Propagates I/O errors from the underlying writer.

Source

pub fn raw(&mut self, text: &str) -> Result<()>

init output (the wrapper function) also goes to stdout — it is what the user’s eval "$(tryme init …)" consumes (try.rb:1181).

§Errors

Propagates I/O errors from the underlying writer.

Auto Trait Implementations§

§

impl<W> Freeze for ScriptOut<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for ScriptOut<W>
where W: RefUnwindSafe,

§

impl<W> Send for ScriptOut<W>
where W: Send,

§

impl<W> Sync for ScriptOut<W>
where W: Sync,

§

impl<W> Unpin for ScriptOut<W>
where W: Unpin,

§

impl<W> UnsafeUnpin for ScriptOut<W>
where W: UnsafeUnpin,

§

impl<W> UnwindSafe for ScriptOut<W>
where W: UnwindSafe,

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

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

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.