use crate::item::MatchedItem;
use crate::tui::Event;
/// Output from running skim, containing the final selection and state
#[derive(Debug)]
pub struct SkimOutput {
/// The final event that makes skim accept/quit.
/// Was designed to determine if skim quit or accept.
/// Typically there are only two options: `Event::EvActAbort` | `Event::EvActAccept`
pub final_event: Event,
/// quick pass for judging if skim aborts.
pub is_abort: bool,
/// The final key that makes skim accept/quit.
/// Note that it might be Key::Null if it is triggered by skim.
pub final_key: crossterm::event::KeyEvent,
/// The query
pub query: String,
/// The command query
pub cmd: String,
/// The selected items.
pub selected_items: Vec<MatchedItem>,
/// The current item
pub current: Option<MatchedItem>,
/// The header
pub header: String,
}