diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-10 02:49:06 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-10 02:49:28 +0900 |
| commit | 5d3232a80be4b989e89cc7ae4e3642cc5acae030 (patch) | |
| tree | 06597252809c209e69400e57494b3376158ce0f9 /crates/shirabe/src/command | |
| parent | 2d474e91e49c7343d28198eff2b5bbbed9afbcee (diff) | |
| download | php-shirabe-5d3232a80be4b989e89cc7ae4e3642cc5acae030.tar.gz php-shirabe-5d3232a80be4b989e89cc7ae4e3642cc5acae030.tar.zst php-shirabe-5d3232a80be4b989e89cc7ae4e3642cc5acae030.zip | |
feat(repository): resolve repository phase-b TODOs
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/command')
| -rw-r--r-- | crates/shirabe/src/command/show_command.rs | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/crates/shirabe/src/command/show_command.rs b/crates/shirabe/src/command/show_command.rs index 3761b09..7cf305d 100644 --- a/crates/shirabe/src/command/show_command.rs +++ b/crates/shirabe/src/command/show_command.rs @@ -356,17 +356,18 @@ impl ShowCommand { let lr = locker.get_locked_repository( input.borrow().get_option("no-dev").as_bool() != Some(true), )?; - let lr_handle: RepositoryInterfaceHandle = lr.into(); if input.borrow().get_option("self").as_bool() == Some(true) { - // TODO(phase-b): LockArrayRepository needs add_package via WritableRepositoryInterface; - // skipping the insertion here keeps compile clean. - let _ = &lr_handle; + lr.add_package( + crate::package::RootPackageInterfaceHandle::dup(composer_ref.get_package()) + .into(), + )?; } - installed_repo = - RepositoryInterfaceHandle::new(InstalledRepository::new(vec![lr_handle.clone()])); - repos = - RepositoryInterfaceHandle::new(InstalledRepository::new(vec![lr_handle.clone()])); - locked_repo = Some(lr_handle); + let lr_handle: RepositoryInterfaceHandle = lr.into(); + locked_repo = Some(lr_handle.clone()); + let new_repo = + RepositoryInterfaceHandle::new(InstalledRepository::new(vec![lr_handle])); + installed_repo = new_repo.clone(); + repos = new_repo.clone(); } else { // --installed / default case let composer_local_owned; @@ -1542,10 +1543,7 @@ impl ShowCommand { _ => None, // already a ConstraintInterface }; - // TODO(phase-b): DefaultPolicy::new() requires (bool, bool, Option<IndexMap>) — using placeholder values. let policy = DefaultPolicy::new(false, false, None); - let _ = &policy; - // TODO(phase-b): RepositorySet::with_stability("dev") — using new() with placeholder args. let mut repository_set = RepositorySet::new( "dev", IndexMap::new(), @@ -2267,7 +2265,7 @@ impl ShowCommand { for color in self.colors.iter() { let _style = OutputFormatterStyle::new(Some(color.as_str()), None, None); - // TODO(phase-b): OutputInterface::get_formatter returns &OutputFormatter, but + // TODO(phase-c): OutputInterface::get_formatter returns &OutputFormatter, but // set_style requires &mut. Resolution requires interior-mutability refactor of // OutputFormatter wiring across symfony shim. let _ = (output.borrow().get_formatter(), color); @@ -2767,7 +2765,6 @@ impl ShowCommand { ) -> anyhow::Result<std::rc::Rc<std::cell::RefCell<RepositorySet>>> { let composer = crate::command::composer_full(composer); if self.repository_set.is_none() { - // TODO(phase-b): RepositorySet::with_stability_and_flags — using new() placeholder. let mut rs = RepositorySet::new( &composer.get_package().get_minimum_stability(), composer.get_package().get_stability_flags().clone(), |
