pub fn run<R: Read, W: Write, E: Write>(
cli: Cli,
io: &mut Io<R, W, E>,
) -> Result<(), FaceError>Expand description
Library entry point with explicit I/O.
The binary’s main wraps the locked OS handles into Io and
passes them in here; tests use in-memory slices and buffers.
§Errors
Surfaces every FaceError variant raised inside the pipeline.
Conflicting flags surface as FaceError::ConflictingFlags;
detection ambiguity as FaceError::AmbiguousDetection.
§Examples
use face_cli::{Io, cli};
use clap::Parser;
let parsed = cli::Cli::parse_from(["face"]);
let mut io = Io::new(std::io::empty(), Vec::<u8>::new(), Vec::<u8>::new());
let _ = face_cli::run(parsed, &mut io);