diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-10 15:29:19 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-10 15:29:19 +0900 |
| commit | 46845eff8d1398f35099a0ef914f77bcaf473287 (patch) | |
| tree | 12c4850f1d2f438d0ba6c363fdc0e5036cd4601d /crates/mozart/src/commands/about.rs | |
| parent | 212506c364b2342dd9e5fa789e8cff38835dfe52 (diff) | |
| download | php-mozart-46845eff8d1398f35099a0ef914f77bcaf473287.tar.gz php-mozart-46845eff8d1398f35099a0ef914f77bcaf473287.tar.zst php-mozart-46845eff8d1398f35099a0ef914f77bcaf473287.zip | |
refactor(io): introduce IoInterface trait mirroring Composer IOInterface
Add an `IoInterface` trait in mozart-core::console that mirrors
`\Composer\IO\IOInterface`, implement it for `Console`, and switch
commands, the auditor, and the suggested-packages reporter to accept
the abstracted IO (typically `Arc<Mutex<Box<dyn IoInterface>>>` at the
command boundary, `&dyn IoInterface` deeper down) instead of
`&Console`. The console_writeln\!/write\! macros now go through
`IoInterface::verbosity()` via the lock so any implementor works.
Diffstat (limited to 'crates/mozart/src/commands/about.rs')
| -rw-r--r-- | crates/mozart/src/commands/about.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/mozart/src/commands/about.rs b/crates/mozart/src/commands/about.rs index 04c3aa1..6b97ec4 100644 --- a/crates/mozart/src/commands/about.rs +++ b/crates/mozart/src/commands/about.rs @@ -1,6 +1,6 @@ use clap::Args; use mozart_core::MOZART_VERSION; -use mozart_core::console; +use mozart_core::console::IoInterface; use mozart_core::console_writeln; #[derive(Args)] @@ -9,10 +9,10 @@ pub struct AboutArgs {} pub async fn execute( _args: &AboutArgs, _cli: &super::Cli, - console: &console::Console, + io: std::sync::Arc<std::sync::Mutex<Box<dyn IoInterface>>>, ) -> anyhow::Result<()> { console_writeln!( - console, + io, r#"<info>Mozart - Dependency Manager for PHP - version {MOZART_VERSION}</info> <comment>Mozart is a dependency manager tracking local dependencies of your projects and libraries. See https://getcomposer.org/ for more information.</comment>"#, |
