Expand description
Trail library crate.
Exposes the public module API so that integration tests in tests/ can
import and exercise state, actions, input, and preview logic without
running the binary.
The binary entry point is src/main.rs and adds only the terminal-
lifecycle glue on top of this library.
Modules§
- actions
- Action system: the
Actionenum andapply(action, state). - app
- Application state management.
- cli
- CLI argument definitions for Trail.
- config
- Configuration loading and schema definitions.
- input
- Input handling: dispatches keystrokes by current mode.
- metafmt
- How a file’s metadata is spelled for a human.
- pathfmt
- Rendering filesystem paths for the two audiences Trail has: the operating system, and the person reading the screen.
- paths
- Every filesystem location Trail owns, resolved in one place.
- plugin
- Plugin system: Lua scripting surface via
mlua. - preview
- Preview system:
PreviewProvidertrait, registry, and built-in providers. - session
- Session management: writes
--cwd-fileon normal exit. - terminal
- The terminal panel: interactive shells in a panel under the file list.
- ui
- UI rendering: draws the three-panel layout (nav, preview, status bar), and the terminal panel beneath the first two when it is open.
- version
- What this binary was built as: a release, or a dev build and which commit.
- window_
title - The terminal window or tab title, so the tab Trail is running in can be told apart from the others.
- workers
- Async worker pool:
WorkerMsgenum, spawn/dispatch helpers, mpsc plumbing.