elio 1.5.1

Snappy, batteries-included terminal file manager with rich previews, inline images, bulk actions, and trash support.
Documentation
use super::{appearance as theme, *};
use image::ImageFormat;
use ratatui::{style::Modifier, text::Line};
#[cfg(unix)]
use std::os::unix::fs::PermissionsExt;
use std::{
    fs,
    fs::File,
    io::Write,
    process::Command,
    sync::{Arc, Barrier},
    thread,
};
use zip::{CompressionMethod, ZipWriter, write::SimpleFileOptions};

mod archives;
mod audio;
mod binaries;
mod code;
mod data;
mod documents;
mod fonts;
mod helpers;
mod images;
mod markdown;
mod structured;
mod text;
mod videos;

use self::helpers::*;

#[test]
fn truncated_directory_preview_omits_sampled_header_count() {
    let root = temp_path("directory-preview-cap");
    let folder = root.join("folder");
    fs::create_dir_all(&folder).expect("failed to create temp folder");
    let line_limit = default_code_preview_line_limit();
    for index in 0..=line_limit {
        fs::write(folder.join(format!("entry-{index:04}.txt")), "")
            .expect("failed to write directory entry");
    }

    let preview = build_preview(&directory_entry(folder.clone()));

    assert_eq!(preview.kind, PreviewKind::Directory);
    assert_eq!(preview.detail, None);
    assert_eq!(preview.lines.len(), line_limit);
    assert_eq!(
        preview.truncation_note.as_deref(),
        Some(format!("{line_limit} items shown").as_str())
    );

    fs::remove_dir_all(root).expect("failed to remove temp root");
}