feat: cool CLI with figlet banner and styled output - #23
Merged
Conversation
- Add banner.rs module with: - ASCII art figlet banner - Colored output functions (success, error, info, warning) - Styled headers and separators - NO_COLOR env var support - Add 'colored' dependency - Show banner on install, platform, and self-update commands Still need to: - Apply styling to actual install output - Improve spacing and formatting throughout
- Add colored imports to registry.rs - Style 'list' output with headers, separators, and colors - Package names in green, versions in dimmed - Show banner for list command Todo: - Style install output (download progress, extract, etc.) - Style uninstall command - Update command styling
- Add styled extraction message during install - Add styled checksum verification message - Style uninstall success message Todo: - Update command styling - Clean command styling - Final review
- Style update_one with colored status messages - Green checkmark for 'up to date', dimmed for versions - Style update_all summary with separator Todo: - Clean command styling - Final review
- Add banner and colored imports to github.rs - Style search_releases with colored headers - Green tag names, dimmed asset names, cyan sizes - Add separators between releases Todo: - Self-update command styling - Final review
- Add banner and colored imports to self_update.rs - Style check_for_update with headers, key-value pairs - Style perform_update with banners and colored messages - Green checkmark for 'up to date', green bold for new version All commands now have styled output with the figlet banner!
- Add unreleased section with styling features - Document figlet banner, colored output, NO_COLOR support
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Make the CLI a lot cooler with colors, formatting, and a figlet banner.
Changes
Commands Styled
Dependencies Added
Testing
All tests pass. Tested with:
/ \ / | / |/ |/ \ / | / \ / | / |$$/ $$ | $$ |$$/$$ |$$ | __ $$ | $$ |
/$$$$$$ |$$ | $$ |$$$$$$$$/ $$ \ /$$ |/$$$$$$ |$$ | $$ |
$$ |__$$ |$$ | $$ | $$ | $$$ \ /$$$ |$$ |
$$ $$ |$$ | $$ | $$ | $$$$ /$$$$ |$$ | $$ | $$ |
$$$$$$$$ |$$ | $$ | $$ | $$ $$
$$ | $$ |$$ _$$ | $$ | $$ |$$$/ $$ |$$ _/ |$$ _$$ |
$$ | $$ |$$ $$/ $$ | $$ | $/ $$ |$$ $$/ $$ $$ |
$$/ $$/ $$$$$$/ $$/ $$/ $$/ $$$$$$/ $$$$$$$ |
/ _$$ |
$$ $$/
$$$$$$/
Detected platform: linux aarch64
Compiled for: Linux
OS aliases: ["linux"]
Arch aliases: ["aarch64", "arm64"] - Shows banner
/ \ / | / |/ |/ \ / | / \ / | / |$$/ $$ | $$ |$$/$$ |$$ | __ $$ | $$ |
/$$$$$$ |$$ | $$ |$$$$$$$$/ $$ \ /$$ |/$$$$$$ |$$ | $$ |
$$ |__$$ |$$ | $$ | $$ | $$$ \ /$$$ |$$ |
$$ $$ |$$ | $$ | $$ | $$$$ /$$$$ |$$ | $$ | $$ |
$$$$$$$$ |$$ | $$ | $$ | $$ $$
$$ | $$ |$$ _$$ | $$ | $$ |$$$/ $$ |$$ _/ |$$ _$$ |
$$ | $$ |$$ $$/ $$ | $$ | $/ $$ |$$ $$/ $$ $$ |
$$/ $$/ $$$$$$/ $$/ $$/ $$/ $$$$$$/ $$$$$$$ |
/ _$$ |
$$ $$/
$$$$$$/
[INFO] [DRY RUN] Would install BurntSushi/ripgrep
Release 15.1.0
Asset ripgrep-15.1.0-aarch64-unknown-linux-gnu.tar.gz
Install dir packages/BurntSushi/ripgrep
Binary packages/BurntSushi/ripgrep/ripgrep
Symlink bin/ripgrep
------------------------------------------------------------ - Styled output
/ \ / | / |/ |/ \ / | / \ / | / |$$/ $$ | $$ |$$/$$ |$$ | __ $$ | $$ |
/$$$$$$ |$$ | $$ |$$$$$$$$/ $$ \ /$$ |/$$$$$$ |$$ | $$ |
$$ |__$$ |$$ | $$ | $$ | $$$ \ /$$$ |$$ |
$$ $$ |$$ | $$ | $$ | $$$$ /$$$$ |$$ | $$ | $$ |
$$$$$$$$ |$$ | $$ | $$ | $$ $$
$$ | $$ |$$ _$$ | $$ | $$ |$$$/ $$ |$$ _/ |$$ _$$ |
$$ | $$ |$$ $$/ $$ | $$ | $/ $$ |$$ $$/ $$ $$ |
$$/ $$/ $$$$$$/ $$/ $$/ $$/ $$$$$$/ $$$$$$$ |
/ _$$ |
$$ $$/
$$$$$$/
Detected platform: linux aarch64
Compiled for: Linux
OS aliases: ["linux"]
Arch aliases: ["aarch64", "arm64"] - Colorless output