||3 months ago|
|.github/workflows||3 months ago|
|assets||2 years ago|
|examples||3 months ago|
|scripts||3 months ago|
|src||3 months ago|
|tests||3 months ago|
|.editorconfig||2 years ago|
|.gitignore||2 years ago|
|Cargo.toml||3 months ago|
|LICENSE||2 years ago|
|README.md||3 months ago|
Welcome to cursive-aligned-view 👋
A view wrapper for gyscos/cursive views which aligns child views
This project provides an
AlignedView for gyscos/cursive views which makes it possible to align the child view (center, left, right, top, bottom). The
AlignedView uses the
required_size reported by the child view and fills the rest of the available space with the views background color.
Expand to view
Simply add to your
[dependencies] cursive-aligned-view = "^0"
Aligning a child view
The easiest way to align a view is via the
use cursive_aligned_view::Alignable; let aligned = child_view.align_center();
This is the preferred way as it is chainable and consistent with cursive's
As an alternative you can use the
AlignedView constructors directly:
use cursive_aligned_view::AlignedView; let aligned = AlignedView::with_center(child_view);
Look into the documentation for a detailed explanation on the API.
If you find any bugs/unexpected behaviour or you have a proposition for future changes open an issue describing the current behaviour and what you expected.
Running the tests
Preparing integration tests
To perform the test it's advisable to install
cargo-insta in case your tests fail and you want to inspect the received output.
$ cargo install cargo-insta
You will also need insta to validate new tests you add or update older ones.
Running all test suites
$ cargo test
to execute all available tests.
Or if you want to interactively inspect failed tests
$ cargo insta test
shields.io endpoints are generated inside the
./target/shields folder. They are used in this README.
Show your support
Give a ⭐ if this project helped you!