Skip to main content

Crate termesh_filesystem

Crate termesh_filesystem 

Source
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-backed FileSystemService. The one place in the workspace that is allowed to touch std::fs — everything else goes through the trait (ARCHITECTURE.md §7.4).
service
The FileSystemService boundary: 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§

DirEntryInfo
One entry in a directory listing.

Enums§

EntryKind
What a directory entry is, determined without following symlinks — a symlink reports as EntryKind::Symlink whatever it points at (ADR-0005 §6).
FsError
Filesystem failures, in the vocabulary the explorer actually needs.

Type Aliases§

FsResult