aboutsummaryrefslogtreecommitdiff
path: root/mling/src
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-05-16 22:31:52 +0800
committer魏曹先生 <1992414357@qq.com>2026-05-16 22:31:52 +0800
commit60b91db3df168532f9143f0cafb7b5166e1dc78b (patch)
treeddb10f909a46033af16d725ab0dae8385227b985 /mling/src
parent05d07bbc627b59fd07a8764a972b4aac63a46f53 (diff)
Accept paths for program name parameters in macros
All proc macros (`pack!`, `dispatcher!`, `#[chain]`, `#[program_setup]`, `#[dispatcher_clap]`, `#[derive(Groupped)]`) now parse program names as `syn::Path` instead of bare `Ident`, allowing use of paths like `crate::MyProgram` or `my_crate::MyProgram`. The default program name `ThisProgram` is no longer re-exported or required as an import — generated code references `crate::ThisProgram` directly.
Diffstat (limited to 'mling/src')
-rw-r--r--mling/src/cli/install.rs2
-rw-r--r--mling/src/cli/list.rs2
-rw-r--r--mling/src/cli/namespace_mgr.rs5
-rw-r--r--mling/src/cli/read.rs5
4 files changed, 4 insertions, 10 deletions
diff --git a/mling/src/cli/install.rs b/mling/src/cli/install.rs
index dc2cf57..59d1d97 100644
--- a/mling/src/cli/install.rs
+++ b/mling/src/cli/install.rs
@@ -4,7 +4,7 @@ use mingling::{
parser::Picker,
};
-use crate::{ThisProgram, project_installer::install_all};
+use crate::project_installer::install_all;
dispatcher!("install", InstallCommand => InstallEntry);
diff --git a/mling/src/cli/list.rs b/mling/src/cli/list.rs
index d4088ce..49712b8 100644
--- a/mling/src/cli/list.rs
+++ b/mling/src/cli/list.rs
@@ -6,7 +6,7 @@ use mingling::{
};
use serde::Serialize;
-use crate::{ThisProgram, namespace_manager::list_namespaces};
+use crate::namespace_manager::list_namespaces;
dispatcher!("ls-namespace", ListInstalledCommand => ListInstalledEntry);
diff --git a/mling/src/cli/namespace_mgr.rs b/mling/src/cli/namespace_mgr.rs
index 4f70c15..0f5a115 100644
--- a/mling/src/cli/namespace_mgr.rs
+++ b/mling/src/cli/namespace_mgr.rs
@@ -4,10 +4,7 @@ use mingling::{
parser::{Picker, Yes},
};
-use crate::{
- ThisProgram,
- namespace_manager::{list_namespaces, remove_namespace, set_namespace_trusted},
-};
+use crate::namespace_manager::{list_namespaces, remove_namespace, set_namespace_trusted};
dispatcher!("trust", TrustNamespaceCommand => TrustNamespaceEntry);
dispatcher!("untrust", UntrustNamespaceCommand => UntrustNamespaceEntry);
diff --git a/mling/src/cli/read.rs b/mling/src/cli/read.rs
index 3bd9fc2..e9cd6bb 100644
--- a/mling/src/cli/read.rs
+++ b/mling/src/cli/read.rs
@@ -7,10 +7,7 @@ use mingling::{
};
use serde::Serialize;
-use crate::{
- ThisProgram,
- project_solver::{BinaryItem, solve_current_dir},
-};
+use crate::project_solver::{BinaryItem, solve_current_dir};
dispatcher!("show-target-dir", ReadTargetDirCommand => ReadTargetDirEntry);
dispatcher!("show-workspace-root", ReadWorkspaceRootCommand => ReadWorkspaceRootEntry);