lla 0.2.0

A lightweight ls replacement
use super::FileSorter;
use crate::error::Result;
use std::path::PathBuf;

pub struct DateSorter;

impl FileSorter for DateSorter {
    fn sort_files(&self, files: &mut [PathBuf]) -> Result<()> {
        files.sort_by(|a, b| {
            let time_a = a
                .metadata()
                .and_then(|m| m.modified())
                .unwrap_or_else(|_| std::time::SystemTime::UNIX_EPOCH);
            let time_b = b
                .metadata()
                .and_then(|m| m.modified())
                .unwrap_or_else(|_| std::time::SystemTime::UNIX_EPOCH);
            time_b.cmp(&time_a)
        });
        Ok(())
    }
}