entrust-dialog 0.6.0

Interactive terminal dialogs for entrust
Documentation
pub mod dialog;
pub mod input;
pub mod select;
pub mod theme;
pub mod yes_no;

pub use ratatui::style;
pub use ratatui::text;

macro_rules! key_event_pattern {
    ($code:pat) => {
        ratatui::crossterm::event::KeyEvent {
            code: $code,
            modifiers: _,
            kind: ratatui::crossterm::event::KeyEventKind::Press,
            state: _,
        }
    };
    ($code:pat, $modifier:pat) => {
        ratatui::crossterm::event::KeyEvent {
            code: $code,
            modifiers: $modifier,
            kind: ratatui::crossterm::event::KeyEventKind::Press,
            state: _,
        }
    };
    ($code:pat, $modifier:pat, $kind:pat) => {
        ratatui::crossterm::event::KeyEvent {
            code: $code,
            modifiers: $modifier,
            kind: $kind,
            state: _,
        }
    };
    ($code:pat, $modifier:pat, $kind:pat, $state:pat) => {
        ratatui::crossterm::event::KeyEvent {
            code: $code,
            modifiers: $modifier,
            kind: $kind,
            state: $state,
        }
    };
}
pub(crate) use key_event_pattern;

macro_rules! cancel_key_event {
    () => {
        crate::key_event_pattern!(KeyCode::Esc)
            | crate::key_event_pattern!(KeyCode::Char('c'), KeyModifiers::CONTROL)
    };
}
pub(crate) use cancel_key_event;