About The Project
The RCLI-Loader crate (coming soon) is a Rust CLI manager built for versatile monitoring of the progress for running tasks, either quick or slow! A screenshot for an examplified implementation of the features can be seen below, including:
- Names
- Progress indicator (numbered)
- Also features providing a scaling function for conversion of any wanted unit!
- Progress indicator (block characters)
- Scaling perfectly to the terminal size to give maximal precision (8 blocks per character available)!
- Fully customizable colors for individual loading elements
- Provide a custom function, or use an already created one, for determining the color setup of the loading elements.
- Note: Currently only the numbered progress indicator supports colors
- Custom alignment for loading elements: Place either aligning with top or bottom of terminal
- Custom print function for logging, without overwriting the loading elements.
- Note: Currently only supports printing regular UTF-8 characters, as line length is determined purely from byte count.

Even more features are coming, and feature requests are welcome: read Contributing
Built With
Built with pure rust, and a minimal amount of dependencies, to keep the crate as lightweight as possible. Currently the bare mininmum crate tree size is only 4. Tree size quickly goes up when using optional dependencies for running the example, such as tokio, reqwest, and humansize. These three crate make the crate tree size shoot up to 239.
Getting Started
Running example
- git clone https://github.com/nikguin04/rcli-loader.git
- cd rcli-loader
- cargo run --example basic_example --all-features
Implementing crate for your own project!
Coming soon
Usage
Usage coming soon™
Contributing
Currently i am the only contributor and maintainer of this project. Contributions of any kind are very welcome.
If you have any improvements please fork the repo and create a pull request here. Please make sure to properly describe any changes made in the pull request, so i am not 100% reliant on commit names, which usually are a bit messy ;) If this project has helped you, please give it a star!
License
Distributed under the GNU General Public License v3.0 license. See LICENSE.txt for more information.
Contact
For any contact regarding this repo, please contact me through email at nikguin04@proton.me or on the Discussions on this repository Project Link: https://github.com/nikguin04/rcli-loader
