Skip to main content

Crate elixcee

Crate elixcee 

Source

Re-exports§

pub use elixcee_types as types;

Modules§

check
Static analysis for the elixcee check subcommand: inspects a .bas file without executing it. Deliberately narrow scope — see tasks/todo.md Milestone B1/B1.1 for what’s included here vs. still deferred and why.
diagnose
Milestone B6a: the diagnose subcommand — classifies why Excel would reject an operation (missing worksheet/workbook, array out of bounds) with concrete evidence, instead of only reporting a bare runtime-error string. Runs a macro exactly once, with Vm::strict_resolution turned on (see that field’s doc comment in src/vm/mod.rs) so a reference to a nonexistent sheet/workbook is a classified failure rather than being papered over by elixcee’s usual auto-vivify/silent-Empty convenience — and with On Error not honored, so the first such failure always propagates instead of being swallowed by the macro’s own error handling.
diagnoseworkbook
Milestone B6d: the diagnose-workbook subcommand — reuses test-workbook’s (Milestone B5a) generated-case search (testworkbook::run_fixture, called with strict: true) and enriches whichever failures are classifiable with diagnose’s (Milestones B6a–B6c2) existing root-cause machinery, via the single pub(crate) entry point diagnose::root_causes_json.
diagnostics
Structured error classification and hand-rolled JSON output for the CLI’s --json agent contract. No serde dependency — the output shapes are flat and fixed, so a small escaper is all that’s needed.
formula
parser
reader
snapshot
Workbook snapshot (Milestone B4): reads a .xlsx/.ods file directly (via reader::read_workbook, no VBA execution) and renders it as either JSON (authoritative, for machine consumers) or Markdown (default, for human display) — the elixcee snapshot subcommand’s own output shapes, distinct from run-mode’s cells/entrypoint and check’s diagnostics.
testworkbook
Property-based workbook test runner (Milestone B5a): the test-workbook subcommand runs a macro against a starting .xlsx/.ods workbook many times with generated boundary-value inputs, checking each run for panics, runtime errors, timeouts, and Excel error values in a result range. Every case starts from a completely fresh Vm and a fresh read of the workbook file — no cell, variable, MsgBox-log, or deadline state survives from one case to the next.
vm

Functions§

save_workbook
Save all sheets in vm to a file. Supports .xlsx and .ods.