diff options
Diffstat (limited to 'vendor/anstyle-wincon/examples/set-wincon.rs')
-rw-r--r-- | vendor/anstyle-wincon/examples/set-wincon.rs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/vendor/anstyle-wincon/examples/set-wincon.rs b/vendor/anstyle-wincon/examples/set-wincon.rs deleted file mode 100644 index 6febb0a..0000000 --- a/vendor/anstyle-wincon/examples/set-wincon.rs +++ /dev/null @@ -1,58 +0,0 @@ -#![cfg_attr(not(windows), allow(dead_code))] - -#[cfg(not(windows))] -fn main() { - panic!("unsupported"); -} - -#[cfg(windows)] -fn main() -> Result<(), lexopt::Error> { - use anstyle_wincon::WinconStream as _; - - let args = Args::parse()?; - let stdout = std::io::stdout(); - let mut stdout = stdout.lock(); - - let fg = args.fg.and_then(|c| c.into_ansi()); - let bg = args.bg.and_then(|c| c.into_ansi()); - - let _ = stdout.write_colored(fg, bg, "".as_bytes()); - - std::mem::forget(stdout); - - Ok(()) -} - -#[derive(Default)] -struct Args { - fg: Option<anstyle::Ansi256Color>, - bg: Option<anstyle::Ansi256Color>, -} - -impl Args { - fn parse() -> Result<Self, lexopt::Error> { - use lexopt::prelude::*; - - let mut res = Args::default(); - - let mut args = lexopt::Parser::from_env(); - while let Some(arg) = args.next()? { - match arg { - Long("fg") => { - res.fg = Some( - args.value()? - .parse_with(|s| s.parse::<u8>().map(anstyle::Ansi256Color))?, - ); - } - Long("bg") => { - res.fg = Some( - args.value()? - .parse_with(|s| s.parse::<u8>().map(anstyle::Ansi256Color))?, - ); - } - _ => return Err(arg.unexpected()), - } - } - Ok(res) - } -} |