free-launch 0.2.9

A simple fuzzy launcher written in Rust.
Documentation
use crate::{
    free_launch::search_index::ItemVec, model::search_provider::SearchProvider,
    signaling::search_metadata::SearchMetadata,
};

#[derive(Debug)]
pub enum IndexingStatus {
    Preparing,
    Indexing { indexed: usize, total: usize },
    Done,
}

/// Responses sent from the `SearchIndex` background thread back to the GUI.
///
/// These messages communicate search results, index metadata, and configuration
/// data that the UI needs to display to the user.
pub enum Response {
    IndexMetadata {
        metadata: SearchMetadata,
    },
    SearchProviders {
        providers: Vec<SearchProvider>,
    },
    SearchResults {
        id: usize,
        results: ItemVec,
        // this seems redundant with `results.len()` but it should be the total number of matched items, where results is shrunk to fit the area available on screen
        matches: u32,
        total_items: u32,
    },
    FocusWindow,
}