Owns the multi-file working set: a list of paths, a current-index
cursor, and the navigation primitives that the colon-prompt dispatch
consumes (:n, :p, :e, :d, :x, :t).
Static registry of every default keybinding, with category and human-
readable description. Used by the help overlay; not the runtime dispatcher
(that’s input::translate). The registry_matches_translate test in this
module enforces that the two don’t drift.
Helper to open a file source, applying the live-mode wrapper and/or
preprocessor as configured. Factored out of main.rs so that app.rs
can also call it when switching files via colon-prompt commands.
Overlay subsystem: full-screen popups that take over the body+status
area (file picker, help). App holds an Option<Box<dyn Overlay>>;
events route through it first when present.
Input preprocessor: pipe the source file through a user-defined command
before tess reads it. Supports --preprocess CMD (CLI) and $LESSOPEN
(env var). Pipe-mode only — the command must start with |, and %s
is substituted with the source file path (shell-quoted).
Status-line prompt customization. Wraps the existing DisplayTemplate
parser from format.rs, validating against a fixed set of prompt-only
placeholder names. Rendered against a PromptContext populated by the
viewport on every frame.