pub fn run_cascade(
specs: &[EditSpec],
files: &mut [FileBuf],
) -> Result<Vec<EditOutcome>, String>Expand description
Run the script with cascade: edits run in script order, each matching the
buffers as already transformed by earlier edits, exactly as the final
write would have it. Buffers are updated even past a failing edit so the
remaining diagnostics stay meaningful; the caller writes nothing unless
every outcome is SUCCESS.