use cargo_metadata::Metadata; use mingling::{ Grouped, LazyRes, Wrap, macros::{chain, dispatcher, metadata}, metadata::Description, }; use crate::metadata::setup::ResMetadata; dispatcher!("metadata"); #[metadata(EntryMetadata)] pub fn desc_metadata() -> Description { "Check your workspace metadata using 'cargo metadata'" .to_string() .into() } #[derive(Grouped, Wrap)] pub struct ResultMetadata(ResMetadata); #[chain] pub fn handle_metadata(_: EntryMetadata, metadata: &mut LazyRes) -> Metadata { let metadata = metadata.get_ref().clone(); metadata.data().clone() }