Expand description
strop editor engine: documents, grammar dispatch, services, sessions — no
terminal. The binary (crates/strop) owns the physical terminal, cell-grid
rendering, the CLI, self-update, bench and headless frame rendering; it
drives this engine and injects frame capture at the composition roots.
Modules§
- config
- Configuration (0005-lite): real TOML from day one, embedded defaults, never bricks (0005 §2). The full layering/hot-reload/settings-popup arrives with 0005 proper; this is the editor-facing config object.
- editor
- The editor state: modes, pending keys, named registers, buffers.
One input path for TUI and headless — both call
feed. - files
- Application open targets (0042).
FileTargetis the unresolved input an open/browse command was given — a local path or a remote URI spelling — as opposed tostrop_workspace::ResourceLocation, the resolved identity of a resource once it is known. Remote URIs and native local paths stay distinct. - keymap
- The keymap table (0008 §3 — keymaps as data). v1: this table drives
the
Space ?keybinds popup and the which-key prefix cards; the trie dispatch cutover (0008 §5) makes it the dispatch source later. - session
- Owned per-project snapshots and transactional restoration. Scratch and readonly documents never persist. Trust storage is independent.