aboutsummaryrefslogtreecommitdiff
path: root/mingling/src
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-05-08 14:49:25 +0800
committer魏曹先生 <1992414357@qq.com>2026-05-08 14:51:04 +0800
commitd895af6e53eb4a18554b3174f819eb771e81ca05 (patch)
tree9a642621477e1520e8b8a37959c0e0f79acb4223 /mingling/src
parent2d1157ae0fc1c2bc3ad6ec20e64e2f8e8757524b (diff)
Expose compile-time feature flags as public constants
Diffstat (limited to 'mingling/src')
-rw-r--r--mingling/src/features.rs53
-rw-r--r--mingling/src/lib.rs30
2 files changed, 83 insertions, 0 deletions
diff --git a/mingling/src/features.rs b/mingling/src/features.rs
new file mode 100644
index 0000000..d75f926
--- /dev/null
+++ b/mingling/src/features.rs
@@ -0,0 +1,53 @@
+#[cfg(not(feature = "nightly"))]
+pub const MINGLING_NIGHTLY: bool = false;
+
+#[cfg(feature = "nightly")]
+pub const MINGLING_NIGHTLY: bool = true;
+
+#[cfg(not(feature = "debug"))]
+pub const MINGLING_DEBUG: bool = false;
+
+#[cfg(feature = "debug")]
+pub const MINGLING_DEBUG: bool = true;
+
+#[cfg(not(feature = "async"))]
+pub const MINGLING_ASYNC: bool = false;
+
+#[cfg(feature = "async")]
+pub const MINGLING_ASYNC: bool = true;
+
+#[cfg(not(feature = "clap"))]
+pub const MINGLING_CLAP: bool = false;
+
+#[cfg(feature = "clap")]
+pub const MINGLING_CLAP: bool = true;
+
+#[cfg(not(feature = "dispatch_tree"))]
+pub const MINGLING_DISPATCH_TREE: bool = false;
+
+#[cfg(feature = "dispatch_tree")]
+pub const MINGLING_DISPATCH_TREE: bool = true;
+
+#[cfg(not(feature = "general_renderer"))]
+pub const MINGLING_GENERAL_RENDERER: bool = false;
+
+#[cfg(feature = "general_renderer")]
+pub const MINGLING_GENERAL_RENDERER: bool = true;
+
+#[cfg(not(feature = "repl"))]
+pub const MINGLING_REPL: bool = false;
+
+#[cfg(feature = "repl")]
+pub const MINGLING_REPL: bool = true;
+
+#[cfg(not(feature = "comp"))]
+pub const MINGLING_COMP: bool = false;
+
+#[cfg(feature = "comp")]
+pub const MINGLING_COMP: bool = true;
+
+#[cfg(not(feature = "parser"))]
+pub const MINGLING_PARSER: bool = false;
+
+#[cfg(feature = "parser")]
+pub const MINGLING_PARSER: bool = true;
diff --git a/mingling/src/lib.rs b/mingling/src/lib.rs
index f366296..21a848d 100644
--- a/mingling/src/lib.rs
+++ b/mingling/src/lib.rs
@@ -137,3 +137,33 @@ pub use mingling_macros::Groupped;
pub mod _mingling_examples {
pub use crate::example_docs::*;
}
+
+mod features;
+pub mod feature {
+ /// Whether the `async` feature is enabled
+ pub use crate::features::MINGLING_ASYNC;
+
+ /// Whether the `clap` feature is enabled
+ pub use crate::features::MINGLING_CLAP;
+
+ /// Whether the `comp` feature is enabled
+ pub use crate::features::MINGLING_COMP;
+
+ /// Whether the `debug` feature is enabled
+ pub use crate::features::MINGLING_DEBUG;
+
+ /// Whether the `dispatch_tree` feature is enabled
+ pub use crate::features::MINGLING_DISPATCH_TREE;
+
+ /// Whether the `general_renderer` feature is enabled
+ pub use crate::features::MINGLING_GENERAL_RENDERER;
+
+ /// Whether the `nightly` feature is enabled
+ pub use crate::features::MINGLING_NIGHTLY;
+
+ /// Whether the `parser` feature is enabled
+ pub use crate::features::MINGLING_PARSER;
+
+ /// Whether the `repl` feature is enabled
+ pub use crate::features::MINGLING_REPL;
+}