rtlibs-tui 0.1.4

rtools library: ratatui widgets
Documentation
use crossterm::cursor;
use crossterm::execute;

use crate::Result;

pub fn default() -> Result<()>
{
    set_cursor(cursor::SetCursorStyle::DefaultUserShape)
}

pub fn bar() -> Result<()>
{
    set_cursor(cursor::SetCursorStyle::SteadyBar)
}

pub fn blinking_bar() -> Result<()>
{
    set_cursor(cursor::SetCursorStyle::BlinkingBar)
}

pub fn block() -> Result<()>
{
    set_cursor(cursor::SetCursorStyle::SteadyBlock)
}

pub fn blinking_block() -> Result<()>
{
    set_cursor(cursor::SetCursorStyle::BlinkingBlock)
}

pub fn underscore() -> Result<()>
{
    set_cursor(cursor::SetCursorStyle::SteadyUnderScore)
}

pub fn blinking_underscore() -> Result<()>
{
    set_cursor(cursor::SetCursorStyle::BlinkingUnderScore)
}

pub fn hide() -> Result<()>
{
    execute!(
        std::io::stdout(),
        cursor::Hide
    )?;
    Ok(())
}

fn set_cursor(c: cursor::SetCursorStyle) -> Result<()>
{
    execute!(
        std::io::stdout(),
        cursor::Show,
        c
    )?;
    Ok(())
}