From 60b91db3df168532f9143f0cafb7b5166e1dc78b Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Sat, 16 May 2026 22:31:52 +0800 Subject: Accept paths for program name parameters in macros MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- mling/src/cli/install.rs | 2 +- mling/src/cli/list.rs | 2 +- mling/src/cli/namespace_mgr.rs | 5 +---- mling/src/cli/read.rs | 5 +---- 4 files changed, 4 insertions(+), 10 deletions(-) (limited to 'mling') 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); -- cgit