binocular-cli 0.2.3

Not exactly a telescope, but it's useful sometimes. TUI to search/navigate through files and workspaces.
Documentation
mod detect;
mod metadata;
pub(crate) mod ui;

use image::ImageReader;
use ratatui::text::Text;
use ratatui_image::picker::Picker;
use ratatui_image::protocol::StatefulProtocol;
use std::path::Path;

pub fn is_image_extension(path: &Path) -> bool {
    detect::is_image_extension(path)
}

pub fn load_image(path: &Path, picker: &Picker) -> Option<(StatefulProtocol, Text<'static>)> {
    let reader = ImageReader::open(path).ok()?;
    let reader = reader.with_guessed_format().ok()?;
    let format = reader.format();
    let dyn_img = reader.decode().ok()?;
    let metadata = metadata::generate_metadata(path, &dyn_img, format);
    let protocol = picker.new_resize_protocol(dyn_img);
    Some((protocol, metadata))
}