From ee0e370e82aa94ef95e4aae9bb4634d491c8b153 Mon Sep 17 00:00:00 2001 From: Finn Evers Date: Mon, 26 Jan 2026 15:24:02 +0100 Subject: [PATCH] extension_cli: Improve snippet error logging (#47653) Follow-up to #47649 Release Notes: - N/A --- crates/extension_cli/src/main.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/crates/extension_cli/src/main.rs b/crates/extension_cli/src/main.rs index f5bc421a2953a1f7ec09e2b0021fd83756709f05..7cf327357eed12fcaf61dea86fa39e49d3ab7653 100644 --- a/crates/extension_cli/src/main.rs +++ b/crates/extension_cli/src/main.rs @@ -442,14 +442,21 @@ async fn test_snippets( let snippet_path = extension_path.join(relative_snippet_path); let snippets_content = fs.load_bytes(&snippet_path).await?; let snippets_file = serde_json_lenient::from_slice::(&snippets_content) - .with_context(|| anyhow!("Failed to load snippet file at {snippet_path:?}"))?; + .with_context(|| anyhow!("Failed to parse snippet file at {snippet_path:?}"))?; let snippet_errors = file_to_snippets(snippets_file, &snippet_path) .flat_map(Result::err) .collect::>(); + let error_count = snippet_errors.len(); anyhow::ensure!( - snippet_errors.len() == 0, - "Could not parse all snippets in file {snippet_path:?}: {snippet_errors:?}" + error_count == 0, + "Could not parse {error_count} snippet{suffix} in file {snippet_path:?}:\n\n{snippet_errors}", + suffix = if error_count == 1 { "" } else { "s" }, + snippet_errors = snippet_errors + .iter() + .map(ToString::to_string) + .collect::>() + .join("\n") ); }