aboutsummaryrefslogtreecommitdiff
path: root/mingling_cli/src/metadata/cmd_metadata.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-07-21 06:40:46 +0800
committer魏曹先生 <1992414357@qq.com>2026-07-21 06:40:46 +0800
commit04ce3a18efe971c5b6893977f0ebe1ce1d9a6947 (patch)
tree0f70ebbfae3e89404603721a1505dbed0cd6371d /mingling_cli/src/metadata/cmd_metadata.rs
parent8a230bd93b4801cc9001d0611ade16261e4f0cc4 (diff)
feat(mingling_cli): add metadata and linter commands with cargo analysis
Introduce `metadata` and `mlint` subcommands, wire up `cargo_metadata` for manifest analysis, and enable procedural macro support in editors
Diffstat (limited to 'mingling_cli/src/metadata/cmd_metadata.rs')
-rw-r--r--mingling_cli/src/metadata/cmd_metadata.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/mingling_cli/src/metadata/cmd_metadata.rs b/mingling_cli/src/metadata/cmd_metadata.rs
new file mode 100644
index 0000000..867e606
--- /dev/null
+++ b/mingling_cli/src/metadata/cmd_metadata.rs
@@ -0,0 +1,16 @@
+use mingling::{
+ LazyRes,
+ macros::{chain, dispatcher, pack_structural},
+};
+
+use crate::metadata::setup::ResMetadata;
+
+dispatcher!("metadata");
+
+pack_structural!(ResultMetadata = ResMetadata);
+
+#[chain]
+pub fn handle_metadata(_: EntryMetadata, metadata: &mut LazyRes<ResMetadata>) -> ResultMetadata {
+ let metadata = metadata.get_ref().clone();
+ ResultMetadata::new(metadata)
+}