git.delta.rocks / jrsonnet / refs/commits / 761e42906daa

difftreelog

refactor finish renaming hi-doc format

Yaroslav Bolyukin2024-08-30parent: #5349cbf.patch.diff
in: master

2 files changed

modifiedcrates/jrsonnet-cli/src/trace.rsdiffbeforeafterboth
before · crates/jrsonnet-cli/src/trace.rs
1use clap::{Parser, ValueEnum};2use jrsonnet_evaluator::trace::{3	AssStrokeFormat, CompactFormat, ExplainingFormat, PathResolver, TraceFormat,4};56#[derive(PartialEq, Eq, ValueEnum, Clone)]7pub enum TraceFormatName {8	/// Only show `filename:line:column`9	Compact,10	/// Display source code with attached trace annotations11	Explaining,12	/// Experimental trace formatting based on hi-doc library13	HiDoc,14}1516#[derive(Parser)]17#[clap(next_help_heading = "STACK TRACE VISUAL")]18pub struct TraceOpts {19	/// Format of stack traces' display in console.20	#[clap(long)]21	trace_format: Option<TraceFormatName>,22	/// Amount of stack trace elements to be displayed.23	/// If set to `0` then full stack trace will be displayed.24	#[clap(long, short = 't', default_value = "20")]25	max_trace: usize,26}27impl TraceOpts {28	pub fn trace_format(&self) -> Box<dyn TraceFormat> {29		let resolver = PathResolver::new_cwd_fallback();30		let max_trace = self.max_trace;31		let format: Box<dyn TraceFormat> = match self32			.trace_format33			.as_ref()34			.unwrap_or(&TraceFormatName::Compact)35		{36			TraceFormatName::Compact => Box::new(CompactFormat {37				resolver,38				padding: 4,39				max_trace,40			}),41			TraceFormatName::Explaining => Box::new(ExplainingFormat {42				resolver,43				max_trace,44			}),45			TraceFormatName::HiDoc => Box::new(AssStrokeFormat {46				resolver,47				max_trace,48			}),49		};50		format51	}52}
after · crates/jrsonnet-cli/src/trace.rs
1use clap::{Parser, ValueEnum};2use jrsonnet_evaluator::trace::{3	CompactFormat, ExplainingFormat, HiDocFormat, PathResolver, TraceFormat,4};56#[derive(PartialEq, Eq, ValueEnum, Clone)]7pub enum TraceFormatName {8	/// Only show `filename:line:column`9	Compact,10	/// Display source code with attached trace annotations11	Explaining,12	/// Experimental trace formatting based on hi-doc library13	HiDoc,14}1516#[derive(Parser)]17#[clap(next_help_heading = "STACK TRACE VISUAL")]18pub struct TraceOpts {19	/// Format of stack traces' display in console.20	#[clap(long)]21	trace_format: Option<TraceFormatName>,22	/// Amount of stack trace elements to be displayed.23	/// If set to `0` then full stack trace will be displayed.24	#[clap(long, short = 't', default_value = "20")]25	max_trace: usize,26}27impl TraceOpts {28	pub fn trace_format(&self) -> Box<dyn TraceFormat> {29		let resolver = PathResolver::new_cwd_fallback();30		let max_trace = self.max_trace;31		let format: Box<dyn TraceFormat> = match self32			.trace_format33			.as_ref()34			.unwrap_or(&TraceFormatName::Compact)35		{36			TraceFormatName::Compact => Box::new(CompactFormat {37				resolver,38				padding: 4,39				max_trace,40			}),41			TraceFormatName::Explaining => Box::new(ExplainingFormat {42				resolver,43				max_trace,44			}),45			TraceFormatName::HiDoc => Box::new(HiDocFormat {46				resolver,47				max_trace,48			}),49		};50		format51	}52}
modifiedcrates/jrsonnet-evaluator/src/trace/mod.rsdiffbeforeafterboth
--- a/crates/jrsonnet-evaluator/src/trace/mod.rs
+++ b/crates/jrsonnet-evaluator/src/trace/mod.rs
@@ -368,12 +368,12 @@
 
 #[cfg(feature = "explaining-traces")]
 #[derive(Trace)]
-pub struct AssStrokeFormat {
+pub struct HiDocFormat {
 	pub resolver: PathResolver,
 	pub max_trace: usize,
 }
 #[cfg(feature = "explaining-traces")]
-impl TraceFormat for AssStrokeFormat {
+impl TraceFormat for HiDocFormat {
 	fn write_trace(
 		&self,
 		out: &mut dyn std::fmt::Write,
@@ -420,7 +420,7 @@
 					let rendered = builder.build();
 					let ansi = source_to_ansi(&rendered);
 					if let Some(loc) = &last_location {
-						let _ = writeln!(out, "...because of {}", loc.0.source_path());
+						let _ = writeln!(out, "...at {}", loc.0.source_path());
 					}
 					let _ = write!(out, "{}", ansi.trim_end());
 				}
@@ -456,7 +456,8 @@
 					writeln!(out)?;
 					write!(out, "{flushed}")?;
 				}
-				write!(out, "{desc}")?;
+				writeln!(out)?;
+				write!(out, "   {desc}")?;
 			}
 		}