dochy_fs 0.10.1

A file system which composes chlonological diff files efficiently.
use std::path::{Path, PathBuf};
use crate::error::FsResult;
use std::fs::{read_dir};

pub fn show_dir_contents_fs<P : AsRef<Path>>(path : P) -> FsResult<Vec<PathBuf>>{
    let mut r : Vec<PathBuf> = vec![];
    collect_dir_contents(path.as_ref(), &mut r)?;
    Ok(r)
}

fn collect_dir_contents(path : &Path, r : &mut Vec<PathBuf>) -> FsResult<()>{
    let dir = read_dir(path)?;

    let mut dirs : Vec<PathBuf> = vec![];

    for item in dir{
        let entry = item?;
        r.push(entry.path());
        if entry.file_type()?.is_dir(){
            dirs.push(entry.path());
        }
    }

    for dir_path in dirs{
        collect_dir_contents(&dir_path, r)?;
    }
    Ok(())
}