cursive-tabs 0.1.1

Tabs for gyscos/cursive views
Documentation

This project is work-in-progress

This project provides a wrapper view to be able to easily handle multiple tabs that can be switched to at any time without having to change the order of the views for gyscos/cursive views.

How does it look like? demo terminalizer

Usage

Simply add to your Cargo.toml

[dependencies]
cursive-tabs = "^0"

Creating your TabView and add tabs

This crate provides a struct TabView you can use to add tabs and switch between them.

use cursive::{views::TextView, Cursive};
use cursive_tabs::TabView;

let mut siv = Cursive::default();
let tabs = TabView::new().with_view(0, TextView::new("Our first tab!"));
// We can continue to add as many tabs as we want!

siv.add_layer(tabs);
siv.run();

Troubleshooting

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.

Development cargo test shellshot

TBD

Running the tests

:bangbang: CAUTION :bangbang: This crate uses Tmux for end2end testing and will kill your Tmux server during testing!

Preparing integration tests

In order to run the integration tests, you first need to install a recent version of >=npm-10 and >=tmux-2.6!

After npm and tmux are installed, install required dependencies:

$ ./scripts/prepare-end2end-tests.sh

This will use npm to install jest and shellshot in the tests folder.

Running all test suites

Just run

$ cargo test

to execute all available tests.

shields.io endpoints

shields.io endpoints are generated inside the ./target/shields folder. They are used in this README.

Authors

Fin Christensen

:octocat: @fin-ger
:elephant: @fin_ger@mastodon.social
:bird: @fin_ger_github

Johannes Wünsche

:octocat: @jwuensche
:elephant: @fredowald@mastodon.social
:bird: @Fredowald

Show your support

Give a :star: if this project helped you!