//! Hiding and restoring the terminal hardware cursor around in-place redraws.
//!
//! During spinner and progress animations, and during interactive prompts, the
//! library rewrites frames in place; a blinking hardware cursor at the end of a
//! frame is distracting, and prompts draw their own styled cursor anyway. These
//! helpers hide the cursor on the first request and restore it on the last,
//! both idempotently. Restoration is also guaranteed by the RAII drops of the
//! `TerminalGuard` and the in-place engine, so the cursor is shown again even
//! on an early return or panic.
use ;
use ;
use execute;
/// Whether this module currently has the cursor hidden.
static HIDDEN: AtomicBool = new;
/// Hides the terminal cursor once; a no-op if already hidden.
pub
/// Restores the terminal cursor if this module hid it; a no-op otherwise.
pub