1 unstable release
0.1.0 | Apr 14, 2023 |
---|
#943 in Command-line interface
17KB
60 lines
A terminal user interface library for the lazy
Outline
- Installation
- Testing the Project
- Benchmarking the Project
- Contributing
- Getting Help
- External Resources
- License
Installation
Using cargo
cargo install termui
Testing the Project
-
Run tests
cargo test
Benchmarking the Project
For benchmarking and measuring performance, this project leverages
criterion and a test_utils
feature flag
for integrating proptest within the the suite for working with
strategies and sampling from randomly generated values.
-
Run benchmarks
cargo bench --features test_utils
Contributing
🎈 We're thankful for any feedback and help in improving our project! We have a contributing guide to help you get involved. We also adhere to our Code of Conduct.
Formatting
For formatting Rust in particular, please use cargo +nightly fmt
as it uses
specific nightly features we recommend. Make sure you have nightly
installed.
Pre-commit Hook
This project recommends using pre-commit for running pre-commit hooks. Please run this before every commit and/or push.
-
Once installed, Run
pre-commit install
andpre-commit install --hook-type commit-msg
to setup the pre-commit hooks locally. This will reduce failed CI builds. -
If you are doing interim commits locally, and for some reason if you don't want pre-commit hooks to fire, you can run
git commit -a -m "Your message here" --no-verify
.
Recommended Development Flow
- We recommend installing and leveraging cargo-watch, cargo-expand and irust for Rust development.
Conventional Commits
This project lightly follows the Conventional Commits
convention to help explain
commit history and tie in with our release process. The full specification
can be found here. We recommend prefixing your commits with
a type of fix
, feat
, docs
, ci
, refactor
, etc..., structured like so:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Getting Help
For usage questions, usecases, or issues please open an issue in our repository.
We would be happy to try to answer your question or try opening a new issue on Github.
External Resources
These are references to specifications, talks and presentations, etc.
License
This project is licensed under the Apache License 2.0, or http://www.apache.org/licenses/LICENSE-2.0.
Dependencies
~1.3–2.2MB
~36K SLoC