From 7aa8d8a404b50f89a0e9291bc26ceb224d182a6c Mon Sep 17 00:00:00 2001 From: elkowar <5300871+elkowar@users.noreply.github.com> Date: Sat, 21 Aug 2021 12:33:37 +0200 Subject: [PATCH] fix(diag): Improve warning for unknown attributes --- crates/eww/src/widgets/mod.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/crates/eww/src/widgets/mod.rs b/crates/eww/src/widgets/mod.rs index 61d084c..b2f50fd 100644 --- a/crates/eww/src/widgets/mod.rs +++ b/crates/eww/src/widgets/mod.rs @@ -1,10 +1,11 @@ -use crate::eww_state::*; +use crate::{error_handling_ctx, eww_state::*}; use anyhow::*; +use codespan_reporting::diagnostic::Severity; use eww_shared_util::AttrName; use gtk::prelude::*; use itertools::Itertools; use std::collections::HashMap; -use yuck::config::widget_definition::WidgetDefinition; +use yuck::{config::widget_definition::WidgetDefinition, gen_diagnostic}; use std::process::Command; use widget_definitions::*; @@ -95,12 +96,12 @@ fn build_builtin_gtk_widget( resolve_widget_attrs(&mut bargs, >k_widget); if !bargs.unhandled_attrs.is_empty() { - log::error!( - "{}: Unknown attribute used in {}: {}", - format!("{} | ", widget.span), - widget.name, - bargs.unhandled_attrs.iter().map(|x| x.to_string()).join(", ") - ) + let diag = error_handling_ctx::stringify_diagnostic(gen_diagnostic! { + kind = Severity::Warning, + msg = format!("Unknown attributes {}", bargs.unhandled_attrs.iter().map(|x| x.to_string()).join(", ")), + label = widget.span => "Found in here" + })?; + eprintln!("{}", diag); } Ok(Some(gtk_widget))