aboutsummaryrefslogtreecommitdiff
path: root/mingling_pathf/src/error.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-08-17 19:21:52 +0800
committer魏曹先生 <1992414357@qq.com>2026-08-17 19:21:52 +0800
commit89bf57f33a9f0f5a96fc50e272c83d926fa35c4a (patch)
treecc5a72e850bdd9215b60dc1655f162e22ee97d12 /mingling_pathf/src/error.rs
parent40bb7ffd6954184fac718c8f99c9cdc3e054e4eb (diff)
refactor!: replace build.rs with compile-time macro build steps
BREAKING CHANGE: Replace the `build`/`builds` feature system with compile-time macro-driven generation. `gen_program!()` now automatically invokes `build_comp!()` and `build_pathf!()` when the `comp`/`pathf` features are enabled, eliminating the need for `build.rs` and `[build-dependencies]` blocks. This removes the `build` feature, the `mingling::build` module, and all related build-time API functions. Completion scripts are now written to `{target_directory}/mingling/` instead of `target/release/`. The `mingling_cli` uses `build_comp!("mling")` for its custom binary name.
Diffstat (limited to 'mingling_pathf/src/error.rs')
-rw-r--r--mingling_pathf/src/error.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/mingling_pathf/src/error.rs b/mingling_pathf/src/error.rs
index 5a748c4..bd850a8 100644
--- a/mingling_pathf/src/error.rs
+++ b/mingling_pathf/src/error.rs
@@ -53,6 +53,11 @@ pub enum MinglingPathfinderError {
/// Details from the parser about the parse failure.
message: String,
},
+
+ /// `cargo metadata` could not be executed or parsed.
+ ///
+ /// `message` contains the underlying error from the cargo invocation.
+ CargoMetadata(String),
}
impl fmt::Display for MinglingPathfinderError {
@@ -82,6 +87,7 @@ impl fmt::Display for MinglingPathfinderError {
Self::SynError { path, message } => {
write!(f, "Failed to parse {}: {message}", path.display())
}
+ Self::CargoMetadata(message) => write!(f, "cargo metadata failed: {message}"),
}
}
}