diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-05-16 22:31:52 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-05-16 22:31:52 +0800 |
| commit | 60b91db3df168532f9143f0cafb7b5166e1dc78b (patch) | |
| tree | ddb10f909a46033af16d725ab0dae8385227b985 /mling/src/cli | |
| parent | 05d07bbc627b59fd07a8764a972b4aac63a46f53 (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/cli')
| -rw-r--r-- | mling/src/cli/install.rs | 2 | ||||
| -rw-r--r-- | mling/src/cli/list.rs | 2 | ||||
| -rw-r--r-- | mling/src/cli/namespace_mgr.rs | 5 | ||||
| -rw-r--r-- | mling/src/cli/read.rs | 5 |
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); |
