aboutsummaryrefslogtreecommitdiff
path: root/mingling_cli/src/metadata.rs
diff options
context:
space:
mode:
Diffstat (limited to 'mingling_cli/src/metadata.rs')
-rw-r--r--mingling_cli/src/metadata.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/mingling_cli/src/metadata.rs b/mingling_cli/src/metadata.rs
new file mode 100644
index 0000000..2e7aeef
--- /dev/null
+++ b/mingling_cli/src/metadata.rs
@@ -0,0 +1,24 @@
+use cargo_metadata::Metadata;
+use mingling::{
+ Program,
+ macros::{buffer, group, program_setup, r_println, renderer, renderify},
+};
+
+use crate::metadata::{cmd_metadata::CMDMetadata, setup::CargoMetadataSetup};
+
+pub mod cmd_metadata;
+pub mod setup;
+
+#[program_setup]
+pub fn mingling_metadata_setup(program: &mut Program<crate::ThisProgram>) {
+ program.with_setup(CargoMetadataSetup);
+ program.with_dispatcher(CMDMetadata);
+}
+
+group!(Metadata);
+
+#[renderer(buffer, renderify)]
+pub fn render_metadata(metadata: Metadata) {
+ let result = serde_json::to_string(&metadata)?;
+ r_println!("{}", result);
+}