fix(diag): Improve warning for unknown attributes

This commit is contained in:
elkowar 2021-08-21 12:33:37 +02:00
parent 9ce219a420
commit 7aa8d8a404
No known key found for this signature in database
GPG key ID: E321AD71B1D1F27F

View file

@ -1,10 +1,11 @@
use crate::eww_state::*; use crate::{error_handling_ctx, eww_state::*};
use anyhow::*; use anyhow::*;
use codespan_reporting::diagnostic::Severity;
use eww_shared_util::AttrName; use eww_shared_util::AttrName;
use gtk::prelude::*; use gtk::prelude::*;
use itertools::Itertools; use itertools::Itertools;
use std::collections::HashMap; use std::collections::HashMap;
use yuck::config::widget_definition::WidgetDefinition; use yuck::{config::widget_definition::WidgetDefinition, gen_diagnostic};
use std::process::Command; use std::process::Command;
use widget_definitions::*; use widget_definitions::*;
@ -95,12 +96,12 @@ fn build_builtin_gtk_widget(
resolve_widget_attrs(&mut bargs, &gtk_widget); resolve_widget_attrs(&mut bargs, &gtk_widget);
if !bargs.unhandled_attrs.is_empty() { if !bargs.unhandled_attrs.is_empty() {
log::error!( let diag = error_handling_ctx::stringify_diagnostic(gen_diagnostic! {
"{}: Unknown attribute used in {}: {}", kind = Severity::Warning,
format!("{} | ", widget.span), msg = format!("Unknown attributes {}", bargs.unhandled_attrs.iter().map(|x| x.to_string()).join(", ")),
widget.name, label = widget.span => "Found in here"
bargs.unhandled_attrs.iter().map(|x| x.to_string()).join(", ") })?;
) eprintln!("{}", diag);
} }
Ok(Some(gtk_widget)) Ok(Some(gtk_widget))