alternate_screen_wrapper 0.3.3

enter end leave alternate screen in one line
Documentation

Cargo.toml

alternate_screen_wrapper = { version = "<current-version>", features = ["crossterm"] } # add "crossterm-bracketed-paste" to enable it

main.rs

fn main() {
    let alternate_screen = alternate_screen_wrapper::AlternateScreen::enter();
    // ..do some work
    let printable = // do other work
    //
    drop(alternate_screen);
    println!("{printable}"); // it works
}

You can don't call drop manually. It will be dropped automatically when you exit scope or panic.