Previous keyboard event polling didn't work for Ctrl+C in raw mode. Now using tokio::signal::ctrl_c() with a background task that signals the render loop through a channel when Ctrl+C is pressed. Changes: - Added "signal" and "sync" features to tokio dependency - Spawn background task to listen for Ctrl+C signal - Use mpsc channel to communicate signal to render loop - Keep 'q' and ESC keyboard shortcuts for convenience Ctrl+C now properly exits looping animations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
947 B
TOML
48 lines
947 B
TOML
[package]
|
|
name = "piglet"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Your Name"]
|
|
description = "Animated and colorful figlet wrapper with motion effects"
|
|
license = "MIT"
|
|
repository = "https://github.com/valknarthing/piglet"
|
|
|
|
[dependencies]
|
|
# CLI
|
|
clap = { version = "4.4", features = ["derive", "cargo"] }
|
|
|
|
# Color handling
|
|
csscolorparser = "0.6"
|
|
palette = "0.7"
|
|
|
|
# Animation & Interpolation
|
|
# scirs2-interpolate = "0.1.0-rc.2" # Not needed, using custom easing functions
|
|
|
|
# Terminal manipulation
|
|
crossterm = "0.27"
|
|
|
|
# Async runtime (for timing and signal handling)
|
|
tokio = { version = "1.35", features = ["time", "rt-multi-thread", "macros", "signal", "sync"] }
|
|
|
|
# Process execution
|
|
which = "5.0"
|
|
|
|
# Parsing
|
|
nom = "7.1"
|
|
regex = "1.10"
|
|
|
|
# Error handling
|
|
anyhow = "1.0"
|
|
thiserror = "1.0"
|
|
|
|
# Utilities
|
|
itertools = "0.12"
|
|
lazy_static = "1.4"
|
|
rand = "0.8"
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions = "1.4"
|
|
|
|
[[bin]]
|
|
name = "piglet"
|
|
path = "src/main.rs" |