diff options
| author | Jokler <jokler@protonmail.com> | 2020-06-22 02:15:52 +0200 |
|---|---|---|
| committer | Jokler <jokler@protonmail.com> | 2020-06-22 02:21:55 +0200 |
| commit | 37ccc5b7f8eaac129cfa5a229ff2c4e16d6fc929 (patch) | |
| tree | ff1446fe9b369112bdd41aaa02bc99343a9ecdf8 /scripts/show-figlet | |
| parent | 1a357dd0a71d8e6d73cc8af4c93d3005576aff36 (diff) | |
| download | dotfiles-37ccc5b7f8eaac129cfa5a229ff2c4e16d6fc929.tar.gz dotfiles-37ccc5b7f8eaac129cfa5a229ff2c4e16d6fc929.zip | |
Add new scripts and update old ones
Diffstat (limited to 'scripts/show-figlet')
| -rwxr-xr-x | scripts/show-figlet | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/show-figlet b/scripts/show-figlet new file mode 100755 index 0000000..727145f --- /dev/null +++ b/scripts/show-figlet @@ -0,0 +1,51 @@ +#!/usr/bin/env scriptisto + +// scriptisto-begin +// script_src: src/main.rs +// build_cmd: cargo build --release && strip ./target/release/script +// target_bin: ./target/release/script +// files: +// - path: Cargo.toml +// content: | +// package = { name = "script", version = "0.1.0", edition = "2018"} +// [dependencies] +// scripttools = { path = "/home/jokler/rust/scripttools" } +// structopt="*" +// cmd_lib = "*" +// atty = "*" +// walkdir = "*" +// scriptisto-end + +use structopt::StructOpt; +use walkdir::WalkDir; +use cmd_lib::*; +use scripttools::*; + +#[derive(Debug, StructOpt)] +#[structopt(name = "show-figlet", about = "Demos figlet fonts")] +struct Opt { + input: String, +} + +fn main() { + let opt = Opt::from_args(); + if let Err(e) = run(opt) { + eprintln!("{}", e); + } +} + +fn run(opt: Opt) -> Result<()> { + for entry in WalkDir::new("/usr/share/figlet") { + let entry = entry.unwrap(); + let path = entry.path(); + let ext = path.extension().map(|v| v.to_str().unwrap()); + if Some("flf") == ext { + let font = path.file_name().unwrap(); + run_cmd!("figlet -f {} {}", font.to_str().unwrap(), opt.input)?; + } + } + + Ok(()) +} + +// vim: filetype=rust |
