aboutsummaryrefslogtreecommitdiff
path: root/mingling_ci/src/cmd/cmd_show_features.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-08-18 09:18:38 +0800
committer魏曹先生 <1992414357@qq.com>2026-08-18 09:18:38 +0800
commitee3c2e39ac8456712bf21bd5f3d300d9c8b5605a (patch)
treecb7657bb54cf6c223d8c6f65d9c0f031aa4fb1d8 /mingling_ci/src/cmd/cmd_show_features.rs
parentb3aa0a08848ccd01cd7a4ecef6ff5bf46719af85 (diff)
feat(ci-new): add show-features command to list documented features
Diffstat (limited to 'mingling_ci/src/cmd/cmd_show_features.rs')
-rw-r--r--mingling_ci/src/cmd/cmd_show_features.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/mingling_ci/src/cmd/cmd_show_features.rs b/mingling_ci/src/cmd/cmd_show_features.rs
new file mode 100644
index 0000000..5fff0c5
--- /dev/null
+++ b/mingling_ci/src/cmd/cmd_show_features.rs
@@ -0,0 +1,26 @@
+use mingling::{
+ Grouped,
+ macros::{buffer, command, r_println, renderer},
+};
+
+use crate::res::ResFeatureList;
+
+#[command(node = "show-features")]
+pub fn show_features(features: &ResFeatureList) -> ResultShowFeatures {
+ ResultShowFeatures {
+ features: features.list.clone(),
+ }
+}
+
+/// The docs.rs feature list of `mingling`.
+#[derive(Grouped)]
+pub struct ResultShowFeatures {
+ pub features: Vec<String>,
+}
+
+#[renderer(buffer)]
+pub fn render_show_features(r: ResultShowFeatures) {
+ for feature in r.features {
+ r_println!("{feature}");
+ }
+}