diff --git a/pagetop/src/config.rs b/pagetop/src/config.rs index 8269123d..756ffd7d 100644 --- a/pagetop/src/config.rs +++ b/pagetop/src/config.rs @@ -164,22 +164,24 @@ pub static CONFIG: LazyStatic = LazyStatic::new(|| { /// /// Ver [`Cómo añadir ajustes de configuración`](config/index.html#cómo-añadir-ajustes-de-configuración). macro_rules! pub_config { - ( $S:ident: $t:ty $(, $k:literal => $v:literal)*$(,)* ) => { $crate::doc_comment! { - concat!( - "Declara y asigna los valores predefinidos para los ajustes de configuración ", - "asociados a la estructura [`", stringify!($t), "`]." - ), - pub static $S: $crate::LazyStatic<$t> = $crate::LazyStatic::new(|| { - let mut settings = $crate::config::CONFIG.clone(); - $( - settings.set_default($k, $v).unwrap(); - )* - match settings.try_into() { - Ok(s) => s, - Err(e) => panic!("Error parsing settings: {}", e), - } - }); - }}; + ( $SETTINGS:ident: $Settings:ty $(, $key:literal => $value:literal)*$(,)* ) => { + $crate::doc_comment! { + concat!( + "Declara y asigna los valores predefinidos para los ajustes de configuración ", + "asociados a la estructura [`", stringify!($Settings), "`]." + ), + pub static $SETTINGS: $crate::LazyStatic<$Settings> = $crate::LazyStatic::new(|| { + let mut settings = $crate::config::CONFIG.clone(); + $( + settings.set_default($key, $value).unwrap(); + )* + match settings.try_into() { + Ok(s) => s, + Err(e) => panic!("Error parsing settings: {}", e), + } + }); + } + }; } #[derive(Debug, Deserialize)] diff --git a/pagetop/src/core/component/definition.rs b/pagetop/src/core/component/definition.rs index 2b61cc3d..f7df0561 100644 --- a/pagetop/src/core/component/definition.rs +++ b/pagetop/src/core/component/definition.rs @@ -73,9 +73,9 @@ pub fn component_mut(component: &mut dyn ComponentTrait) -> &mut C { #[macro_export] macro_rules! hook_before_render_component { - ( $ACTION_HANDLER:ident, $Component:ty ) => { + ( $ACTION_HANDLE:ident, $Component:ty ) => { paste::paste! { - $crate::pub_handle!($ACTION_HANDLER); + $crate::pub_handle!($ACTION_HANDLE); type Action = fn(&$Component, &mut PageContext); @@ -93,7 +93,7 @@ macro_rules! hook_before_render_component { } fn handle(&self) -> Handle { - $ACTION_HANDLER + $ACTION_HANDLE } fn weight(&self) -> isize { @@ -127,9 +127,9 @@ macro_rules! hook_before_render_component { #[inline(always)] fn before_render_inline(component: &mut $Component, context: &mut PageContext) { - run_actions( - $ACTION_HANDLER, - |action| action_ref::<[< BeforeRender $Component >]>(&**action).run(component, context) + run_actions($ACTION_HANDLE, |action| + action_ref::<[< BeforeRender $Component >]>(&**action) + .run(component, context) ); } }