pub mod constructors;
pub mod methods;
pub mod traits;
use std::path::PathBuf;
use crate::primitives::tree_view::TreeNode;
use ratatui::style::Style;
use ratatui::widgets::Block;
#[derive(Debug, Clone)]
pub struct FileSystemEntry {
pub name: String,
pub path: PathBuf,
pub is_dir: bool,
pub is_hidden: bool,
}
#[derive(Debug, Clone, Copy)]
pub struct FileSystemTreeConfig {
pub show_hidden: bool,
pub use_dark_theme: bool,
pub dir_style: Style,
pub file_style: Style,
pub selected_style: Style,
}
#[derive(Clone)]
pub struct FileSystemTree<'a> {
pub root_path: PathBuf,
pub nodes: Vec<TreeNode<FileSystemEntry>>,
pub(crate) config: FileSystemTreeConfig,
pub block: Option<Block<'a>>,
}