Split ColorConfig
off of HumanReadableErrorType
The previous setup tied two unrelated things together. Splitting these two is a better model.
This commit is contained in:
parent
ce20e15f01
commit
ae696f847d
9 changed files with 62 additions and 54 deletions
|
@ -55,6 +55,7 @@ pub struct JsonEmitter {
|
|||
ignored_directories_in_source_blocks: Vec<String>,
|
||||
#[setters(skip)]
|
||||
json_rendered: HumanReadableErrorType,
|
||||
color_config: ColorConfig,
|
||||
diagnostic_width: Option<usize>,
|
||||
macro_backtrace: bool,
|
||||
track_diagnostics: bool,
|
||||
|
@ -68,6 +69,7 @@ impl JsonEmitter {
|
|||
fallback_bundle: LazyFallbackBundle,
|
||||
pretty: bool,
|
||||
json_rendered: HumanReadableErrorType,
|
||||
color_config: ColorConfig,
|
||||
) -> JsonEmitter {
|
||||
JsonEmitter {
|
||||
dst: IntoDynSyncSend(dst),
|
||||
|
@ -79,6 +81,7 @@ impl JsonEmitter {
|
|||
ui_testing: false,
|
||||
ignored_directories_in_source_blocks: Vec::new(),
|
||||
json_rendered,
|
||||
color_config,
|
||||
diagnostic_width: None,
|
||||
macro_backtrace: false,
|
||||
track_diagnostics: false,
|
||||
|
@ -173,7 +176,7 @@ impl Emitter for JsonEmitter {
|
|||
}
|
||||
|
||||
fn should_show_explain(&self) -> bool {
|
||||
!matches!(self.json_rendered, HumanReadableErrorType::Short(_))
|
||||
!matches!(self.json_rendered, HumanReadableErrorType::Short)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -353,8 +356,8 @@ impl Diagnostic {
|
|||
|
||||
let buf = BufWriter::default();
|
||||
let mut dst: Destination = Box::new(buf.clone());
|
||||
let (short, color_config) = je.json_rendered.unzip();
|
||||
match color_config {
|
||||
let short = matches!(je.json_rendered, HumanReadableErrorType::Short);
|
||||
match je.color_config {
|
||||
ColorConfig::Always | ColorConfig::Auto => dst = Box::new(termcolor::Ansi::new(dst)),
|
||||
ColorConfig::Never => {}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue