// ZMAX — ENGINEERING REPORT

A modal IDE in Rust, with an Emacs / Spacemacs-style command and keybinding port.

>_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.

13
Library / Binary Crates
243
Rust Source Files
114,364
Lines of Rust in Crate src
440
#[test] Functions
89
Files Containing Tests
334
Configured Languages
293
Tree-sitter Grammars
3,129
Ported Commands

~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.

CrateFilesLOCSizeRole
zmax-stdx72,532
Standard-library extensions (rust-analyzer-style)
zmax-core4420,389
Functional core editing primitives: rope, selections, transactions, syntax
zmax-lsp-types359,906
Language Server Protocol type definitions
zmax-lsp64,240
Language server client
zmax-dap-types11,107
Debug Adapter Protocol type definitions
zmax-dap41,188
Debug Adapter Protocol client
zmax-event91,094
Event primitives, hooks, and AsyncHook debouncing
zmax-loader51,920
Building, fetching, and loading external resources / grammars
zmax-vcs81,500
Version-control integration (diff gutters, blame)
zmax-parsec1574
Parser-combinator utilities
zmax-view2516,031
Imperative shell: Document, View, Editor state
zmax-tui166,222
TUI primitives (forked from tui-rs): surfaces, widgets, layout
zmax-term8247,661
Terminal frontend: application loop, commands, keymap, scripting
13 crates243114,364plus 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.

ModuleLOCPurpose
scripting/mod.rs254Shared scripting command wiring / dispatch
scripting/elisp.rs127Emacs Lisp (elisprs) front-end — lowers to fusevm
scripting/viml.rs39Vimscript (vimlrs) front-end

~LANGUAGE & GRAMMAR FOOTPRINT

Syntax support is configured in languages.toml and backed by vendored tree-sitter grammar sources.

334
[[language]] Entries
293
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.

StatusCountShareNotes
Ported3,129
45.7%
Fully ported commands against a 6,847-item denominator
Partial537
7.8%
Partially ported commands
Denominator6,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.

MetricCount
#[test] functions (whole workspace)440
Source files containing tests89
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.