Skip to main content

binocular/preview/archive/
mod.rs

1//! Archive file preview: lists entries from ZIP, tar.gz/bz2/xz archives.
2
3mod detect;
4mod listing;
5mod tar;
6mod zip;
7
8use ratatui::text::Text;
9use std::path::Path;
10
11pub use detect::ArchiveKind;
12pub fn detect_archive_kind(path: &Path) -> Option<ArchiveKind> {
13    detect::detect_archive_kind(path)
14}
15
16pub fn generate_preview(path: &Path, kind: ArchiveKind) -> Text<'static> {
17    match kind {
18        ArchiveKind::Zip => zip::preview_zip(path),
19        ArchiveKind::TarGz => tar::preview_tar_gz(path),
20        ArchiveKind::TarBz2 => tar::preview_tar_bz2(path),
21        ArchiveKind::TarXz => tar::preview_tar_xz(path),
22        ArchiveKind::TarRaw => tar::preview_tar_raw(path),
23    }
24}