use std::path::Path;
use super::workspace_entries::{collect_entries, sort_entries};
use super::workspace_helpers::detect_git_status;
pub use super::workspace_types::{WorkspaceEntry, WorkspaceEntryKind, WorkspaceSnapshot};
impl WorkspaceSnapshot {
pub fn capture(root: &Path, max_entries: usize) -> Self {
let mut entries = collect_entries(root);
sort_entries(&mut entries);
entries.truncate(max_entries);
let (git_branch, git_dirty_files) = detect_git_status(root);
Self {
root_display: root.to_string_lossy().to_string(),
git_branch,
git_dirty_files,
entries,
captured_at: chrono::Local::now().format("%H:%M:%S").to_string(),
}
}
}