Expand description
Project tree model, file watching, mutations, ignore rules. Phase 02.
The FileSystemService trait here is the workspace’s only door to the real
filesystem (ARCHITECTURE.md §7.4). Its shape — synchronous methods, called from a
worker thread rather than the render loop — is fixed by ADR-0005 §3 and is the
template every later service copies.
Re-exports§
pub use ignore_rules::matches_exclusion;pub use ignore_rules::IgnoreOptions;pub use ignore_rules::IgnoreRules;pub use reader::DirReader;pub use real::RealFileSystem;pub use service::sort_entries;pub use service::FileSystemService;pub use tree::ChildState;pub use tree::FileTree;pub use tree::Node;pub use tree::Row;pub use watch::Coalescer;pub use watch::RootWatcher;pub use worker::FsWorker;
Modules§
- ignore_
rules - Ignore semantics for the explorer (ADR-0005 §4).
- reader
- Reading one directory level the way the explorer wants it: listed, ignore-filtered, and capped.
- real
- The
std::fs-backedFileSystemService. The one place in the workspace that is allowed to touchstd::fs— everything else goes through the trait (ARCHITECTURE.md §7.4). - service
- The
FileSystemServiceboundary: the only door to the real filesystem. - tree
- The lazy file-explorer tree (ADR-0005 §2).
- watch
- File watching, and the coalescing policy that makes it usable (ADR-0005 §5).
- worker
- The filesystem worker thread (ADR-0005 §1).
Structs§
- DirEntry
Info - One entry in a directory listing.
Enums§
- Entry
Kind - What a directory entry is, determined without following symlinks — a symlink
reports as
EntryKind::Symlinkwhatever it points at (ADR-0005 §6). - FsError
- Filesystem failures, in the vocabulary the explorer actually needs.