Crate clp

Source
Expand description

Simple library for creating “command line presentations”.

clp_presentation example video

Presentations are composed with the slide macro, like so:

use clp::{crossterm, slide, TypewriterPrint, TypewriterPrintStyledContent};
use crossterm::style::{Print, Stylize};
use std::time::Duration;

slide!(
    TypewriterPrint("Welcome to my presentation on ", Duration::from_millis(25)),
    TypewriterPrintStyledContent(
        "command line presentations".bold(),
        Duration::from_millis(50),
    ),
    Print("."),
)
.expect("the first slide should appear");

slide!(TypewriterPrint(
    "\n...there isn't much content on these slides.",
    Duration::from_millis(25),
))
.expect("the second slide should appear");

§Features

This package has one feature: spin_sleep. It enables the spin_sleep dependency, which is a more accurate drop-in replacement for the sleep function. It’s particularly useful on Windows, which has a notoriously inaccurate sleep function. If you notice that TypewriterPrint or TypewriterPrintStyledContent is slower than expected, you should enable the spin_sleep feature.

cargo add clp -F spin_sleep

Re-exports§

pub use crossterm;

Macros§

slide
Defines a slide and shows it.

Structs§

TypewriterPrint
A command that prints the given displayable type, one character at a time.
TypewriterPrintStyledContent
A command that prints styled content, one character at a time.
WaitFor
A command that waits for the specified duration before executing subsequent commands.
WaitForInteraction
A command that waits for user interaction before executing subsequent commands.