7 releases
0.3.1 | Aug 1, 2022 |
---|---|
0.3.0 | Aug 1, 2022 |
0.2.2 | Jul 31, 2022 |
0.1.1 | Jul 30, 2022 |
#40 in #rpg
38 downloads per month
Used in nage
10KB
100 lines
🐌 snailshell
A tiny library and application for animating text in the terminal.
🪄 It's so easy to add some flair to your text RPGs or console programs. 🪄
☝️ From Fun Stuff example. (obviously looks smoother in an actual terminal)
Compatibility
Compatible with EVERYTHING! 🥳
Snailshell works with any type which implements Display
, so literally everything that you would normally use with print!()
, println!()
, or format!()
just works!
This includes colored text from other libraries such as Crossterm.
👩🏫 Examples
Basic
use snailshell::*;
// It's dead simple.
snailprint("hello, friend :)");
Custom Fixed Duration
snailprint_d("This whole message will print in half a second regardless of the size.", 0.5);
Refresh Rate
// This is optional. Default fps is 60.
// All subsequent snailprint functions will use this fps.
set_snail_fps(30);
🐌🖥️ Snailshell Standalone:
You can also use snailshell from the command line.
Useful for making shell scripts and videos!
Installation:
cargo install snailshell
Usage:
snailshell [OPTIONS] <TEXT>
ARGS:
<TEXT> Text you want to animate
OPTIONS:
-d, --duration <DURATION> How long the text should animate for
-f, --fps <FPS> Refresh rate of animation
-h, --help Print help information
-s, --speed <SPEED> Constant speed of chars per second to render. Conflicts with duration
Example
Simple:
snailshell "text you want to animate"
Animates the contents of textfile over 2 seconds:
cat textfile | snailshell -d 2.0
If you just run 'snailshell' without any any arguments, it will expect text to be piped into it and won't respond to newlines. Just press Ctrl-C.
📖 License
This crate is licensed under the MIT license.
Dependencies
~3.5MB
~68K SLoC