1 unstable release

0.1.0 Apr 14, 2023

#943 in Command-line interface

Apache-2.0

17KB
60 lines

⚠️ Work in progress ⚠️

A terminal user interface library for the lazy

Outline

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 and pre-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.

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