Skip to content

Instantly share code, notes, and snippets.

@lennyerik
Created August 7, 2023 13:32
Show Gist options
  • Save lennyerik/fd92bf00baa6b1769e637bc3c5485789 to your computer and use it in GitHub Desktop.
Save lennyerik/fd92bf00baa6b1769e637bc3c5485789 to your computer and use it in GitHub Desktop.
Terminal Activity Indicators
use std::io::{self, Write};
use std::thread::sleep;
use std::time::Duration;
fn main() {
let mut monkeys = ['πŸ™ˆ', 'πŸ™Š', 'πŸ™‰'].iter().cycle();
let mut smileys = ['πŸ™‚', 'πŸ™ƒ'].iter().cycle();
let mut wheels = ['β ‹', 'β ™', 'β Ή', 'β Έ', 'β Ό', 'β ΄', 'β ¦', 'β §', 'β ‡', '⠏']
.iter()
.cycle();
let mut lines = ['-', '\\', '|', '/'].iter().cycle();
let mut blocks = ['β–›', 'β–œ', 'β–Ÿ', 'β–™'].iter().cycle();
let mut triangles = ['β—’', 'β—£', 'β—€', 'β—₯'].iter().cycle();
let mut circles = ['◐', 'β—“', 'β—‘', 'β—’'].iter().cycle();
let mut ball = ['⠈', '⠐', 'β  ', 'β’€', 'β‘€', 'β „', 'β ‚', '⠁'].iter().cycle();
let mut ascii_arrows = ['─', 'β”˜', 'β”΄', 'β””', 'β”œ', 'β”Œ', '┬', '┐'].iter().cycle();
let mut clocks = [
'πŸ•›', 'πŸ•', 'πŸ•‘', 'πŸ•’', 'πŸ•“', 'πŸ•”', 'πŸ••', 'πŸ•–', 'πŸ•—', 'πŸ•˜', 'πŸ•™', 'πŸ•š',
]
.iter()
.cycle();
let mut fingers = ['πŸ‘†', 'πŸ‘‰', 'πŸ‘‡', 'πŸ‘ˆ', '🫡'].iter().cycle();
loop {
print!(
"\r{} {} {} {} {} {} {} {} {} {} {} ",
monkeys.next().unwrap(),
smileys.next().unwrap(),
wheels.next().unwrap(),
lines.next().unwrap(),
blocks.next().unwrap(),
triangles.next().unwrap(),
circles.next().unwrap(),
ball.next().unwrap(),
ascii_arrows.next().unwrap(),
clocks.next().unwrap(),
fingers.next().unwrap(),
);
let _ = io::stdout().flush();
sleep(Duration::from_millis(200));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment