From 748c14588cf1c31c8b8d60a9c94349c0173ef607 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sun, 28 Jun 2026 09:06:08 +0800 Subject: feat(pathf): add build-time type path resolution system Add `mingling_pathf` sub-crate and `pathf` feature for automatic resolution of Mingling type module paths at build time. Scans source files, identifies macro invocations via pattern matchers, and generates mapping files consumed by `gen_program!()`. --- .../test/src/test_files/test_completion.rs | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 mingling_pathf/test/src/test_files/test_completion.rs (limited to 'mingling_pathf/test/src/test_files/test_completion.rs') diff --git a/mingling_pathf/test/src/test_files/test_completion.rs b/mingling_pathf/test/src/test_files/test_completion.rs new file mode 100644 index 0000000..87a655f --- /dev/null +++ b/mingling_pathf/test/src/test_files/test_completion.rs @@ -0,0 +1,41 @@ +#[mingling::macros::completion(Some1)] +fn my_completion1(ctx: &mingling::ShellContext) -> mingling::Suggest { + mingling::Suggest::new() +} + +#[mingling::macros::completion(Some2)] +pub fn my_completion2(ctx: &mingling::ShellContext) -> mingling::Suggest { + mingling::Suggest::new() +} + +#[completion(Some3)] +fn my_completion3(ctx: &mingling::ShellContext) -> mingling::Suggest { + mingling::Suggest::new() +} + +#[completion(Some4)] +pub fn my_completion4(ctx: &mingling::ShellContext) -> mingling::Suggest { + mingling::Suggest::new() +} + +pub mod sub { + #[mingling::macros::completion(Some1)] + fn my_completion1(ctx: &mingling::ShellContext) -> mingling::Suggest { + mingling::Suggest::new() + } + + #[mingling::macros::completion(Some2)] + pub fn my_completion2(ctx: &mingling::ShellContext) -> mingling::Suggest { + mingling::Suggest::new() + } + + #[completion(Some3)] + fn my_completion3(ctx: &mingling::ShellContext) -> mingling::Suggest { + mingling::Suggest::new() + } + + #[completion(Some4)] + pub fn my_completion4(ctx: &mingling::ShellContext) -> mingling::Suggest { + mingling::Suggest::new() + } +} -- cgit