cursive/examples
2020-12-05 23:45:29 -08:00
..
assets
src/bin Re-organize imports 2020-12-05 23:45:29 -08:00
Cargo.toml
Readme.md

Cursive Examples

Here are example programs using Cursive to help you getting familiar with the various aspects of the library.

To run an example, use cargo run --bin EXAMPLE_NAME.

To use a specific cursive backend, you can do, for example:

cargo run --bin EXAMPLE_NAME --features cursive/crossterm-backend

hello_world

Simplest example possible, it will show you the starting point of a basic Cursive application.

dialog

This example wraps the text in a Dialog view, showing the basic idea of view composition.

lorem

This example loads a large text file to show scrolling behaviour. It also includes greek and japanese characters to show non-ascii support.

edit

Here we have an EditView to get input from the user, and use that input in the next view. It shows how to identify a view with an name and refer to it later.

mutation

This example modifies the content of an existing view.

linear

This example uses a LinearView to put multiple views side-by-side.

menubar

Here we learn how to create a menubar at the top of the screen, and populate it with static and dynamic entried.

logs

This example defines a custom view to display asynchronous input from a channel.

key_codes

This example uses a custom view to print any input received. Can be used as a debugging tool to see what input the application is receiving.

select

This example uses a SelectView to have the user pick a city from a long list.

list_view

This shows a use of a ListView, used to build simple forms.

text_area

This example uses a TextArea, where the user can input a block of text.

markup

This example prints a text with markup decorations.

theme

This loads a theme file at runtime to change default colors.

theme_manual

Instead of loading a theme file, this manually sets various theme settings.

terminal_default

This example shows the effect of the Color::TerminalDefault setting.

colors

This example draws a colorful square to show off true color support.

refcell_view

Here we show how to access multiple views concurently through their name.

progress

This shows how to send information from an asynchronous task (like a download or slow computation) to update a progress bar.

radio

This shows how to use RadioGroup and RadioButton.

slider

This is a demonstration of the SliderView.

mines (Work in progress)

A larger example showing an implementation of minesweeper.