aboutsummaryrefslogtreecommitdiff
path: root/mingling_cli/src/metadata.rs
blob: 2e7aeeff7b5143bfcffc8eda2e6d89e683d11e6a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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);
}