summaryrefslogtreecommitdiffstats
path: root/scripts/show-figlet
diff options
context:
space:
mode:
authorJokler <jokler@protonmail.com>2020-06-22 02:15:52 +0200
committerJokler <jokler@protonmail.com>2020-06-22 02:21:55 +0200
commit37ccc5b7f8eaac129cfa5a229ff2c4e16d6fc929 (patch)
treeff1446fe9b369112bdd41aaa02bc99343a9ecdf8 /scripts/show-figlet
parent1a357dd0a71d8e6d73cc8af4c93d3005576aff36 (diff)
downloaddotfiles-37ccc5b7f8eaac129cfa5a229ff2c4e16d6fc929.tar.gz
dotfiles-37ccc5b7f8eaac129cfa5a229ff2c4e16d6fc929.zip
Add new scripts and update old ones
Diffstat (limited to 'scripts/show-figlet')
-rwxr-xr-xscripts/show-figlet51
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