>_EXECUTIVE SUMMARY
A structural snapshot of the zmax v0.4.13 Cargo workspace — module map, dependency footprint, scripting embeds, and test inventory. zmax is a modal IDE; the workspace ships 13 first-party crates plus an xtask build helper, with zmax-term as the default member (the terminal binary). All figures below are counted directly from the Rust source tree (Edition 2021, MSRV 1.90, license MPL-2.0), not estimated.
~MODULE MAP
One row per workspace crate, in dependency order from core primitives up to the terminal frontend. Files and LOC count *.rs under each crate's src/; the bar tracks each crate's share of the largest crate. zmax-term is the largest crate by far (~42% of crate LOC); its commands.rs holds the keybinding-mapped actions and keymap.rs links them to key combinations.
| Crate | Files | LOC | Size | Role |
|---|---|---|---|---|
| zmax-stdx | 7 | 2,532 | Standard-library extensions (rust-analyzer-style) | |
| zmax-core | 44 | 20,389 | Functional core editing primitives: rope, selections, transactions, syntax | |
| zmax-lsp-types | 35 | 9,906 | Language Server Protocol type definitions | |
| zmax-lsp | 6 | 4,240 | Language server client | |
| zmax-dap-types | 1 | 1,107 | Debug Adapter Protocol type definitions | |
| zmax-dap | 4 | 1,188 | Debug Adapter Protocol client | |
| zmax-event | 9 | 1,094 | Event primitives, hooks, and AsyncHook debouncing | |
| zmax-loader | 5 | 1,920 | Building, fetching, and loading external resources / grammars | |
| zmax-vcs | 8 | 1,500 | Version-control integration (diff gutters, blame) | |
| zmax-parsec | 1 | 574 | Parser-combinator utilities | |
| zmax-view | 25 | 16,031 | Imperative shell: Document, View, Editor state | |
| zmax-tui | 16 | 6,222 | TUI primitives (forked from tui-rs): surfaces, widgets, layout | |
| zmax-term | 82 | 47,661 | Terminal frontend: application loop, commands, keymap, scripting | |
| 13 crates | 243 | 114,364 | plus xtask build tooling |
The workspace total of ~124.9k lines includes integration tests, benchmarks, and the xtask helper beyond the per-crate src/ figures above.
~SCRIPTING EMBEDS
zmax embeds ten scripting front-ends under zmax-term/src/commands/scripting/ — elisp, vimscript, awk, zsh, stryke, ruby, php, python, node and arb — each a pure-Rust crate compiled into the binary with no external process and no FFI between them. Per project design, every interpreter lowers to a shared fusevm bytecode VM rather than carrying its own VM/JIT.
| Module | LOC | Purpose |
|---|---|---|
| scripting/mod.rs | 254 | Shared scripting command wiring / dispatch |
| scripting/elisp.rs | 127 | Emacs Lisp (elisprs) front-end — lowers to fusevm |
| scripting/viml.rs | 39 | Vimscript (vimlrs) front-end |
~LANGUAGE & GRAMMAR FOOTPRINT
Syntax support is configured in languages.toml and backed by vendored tree-sitter grammar sources.
~PORT COVERAGE
Coverage of Emacs / Vim / Spacemacs commands ported into zmax, derived in the auto-generated port report. Full evidence and re-derived numerator live in the linked reports.
| Status | Count | Share | Notes |
|---|---|---|---|
| Ported | 3,129 | Fully ported commands against a 6,847-item denominator | |
| Partial | 537 | Partially ported commands | |
| Denominator | 6,847 | Total command surface considered |
Command Surface
The port spans 1,069 static commands, 1,641 typable commands, and 2,666 keybindings. See the port_report.html for the full re-derived numerator and evidence.
Keybinding Coverage
The keybinding_report.html isolates the key-press subset of the port report: which bindings are ported, partial, or pending.
~TEST INVENTORY & BUILD STATUS
Counts are derived statically from the source tree. No build or test run was executed for this report, so pass/fail status is not asserted here — only the test surface is enumerated. Reproduce locally with cargo test --workspace.
| Metric | Count |
|---|---|
| #[test] functions (whole workspace) | 440 |
| Source files containing tests | 89 |
| Integration test files — zmax-term/tests/ | 14 |
| Integration test files — zmax-tui/tests/ | 6 |
| Integration test files — zmax-core/tests/ | 1 |
| Integration test files — zmax-stdx/tests/ | 1 |
Fixture Suites
Additional fixture-based suites live under the top-level tests/ directory (tests/indent and tests/query).
Integration Profile
The workspace defines an integration Cargo profile that compiles zmax-core, zmax-tui, and zmax-term at opt-level = 2 for faster integration runs.
~RELATED REPORTS
The port and keybinding reports are auto-generated by scripts/gen_port_report.py. Figures in this report were counted from the v0.4.13 source tree.
Documentation Home
index.html — landing page and project doc index.
Port Report
port_report.html — Emacs/Vim/Spacemacs command coverage: 3,129 ported (45.7%) and 537 partial against a 6,847-item denominator, over a surface of 1,069 static commands, 1,641 typable commands, and 2,666 keybindings.
Keybinding Coverage
keybinding_report.html — the key-press subset of the port report.
Architecture & Vision
architecture.md — narrative of how the crates fit together. vision.md — goals and direction.