aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/command/search_command.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/command/search_command.rs')
-rw-r--r--crates/shirabe/src/command/search_command.rs34
1 files changed, 32 insertions, 2 deletions
diff --git a/crates/shirabe/src/command/search_command.rs b/crates/shirabe/src/command/search_command.rs
index 2e9de04..28f4fd1 100644
--- a/crates/shirabe/src/command/search_command.rs
+++ b/crates/shirabe/src/command/search_command.rs
@@ -1,16 +1,18 @@
//! ref: composer/src/Composer/Command/SearchCommand.php
-use crate::command::base_command::BaseCommand;
use crate::console::input::input_argument::InputArgument;
use crate::console::input::input_option::InputOption;
+use crate::io::io_interface::IOInterface;
use crate::json::json_file::JsonFile;
use crate::plugin::command_event::CommandEvent;
use crate::plugin::plugin_events::PluginEvents;
use crate::repository::composite_repository::CompositeRepository;
use crate::repository::platform_repository::PlatformRepository;
use crate::repository::repository_interface::RepositoryInterface;
+use crate::{command::base_command::BaseCommand, composer::Composer};
use anyhow::Result;
use indexmap::IndexMap;
+use shirabe_external_packages::symfony::component::console::command::command::Command;
use shirabe_external_packages::symfony::console::formatter::output_formatter::OutputFormatter;
use shirabe_external_packages::symfony::console::input::input_interface::InputInterface;
use shirabe_external_packages::symfony::console::output::output_interface::OutputInterface;
@@ -18,7 +20,9 @@ use shirabe_php_shim::{InvalidArgumentException, PhpMixed, implode, in_array, pr
#[derive(Debug)]
pub struct SearchCommand {
- inner: BaseCommand,
+ inner: Command,
+ composer: Option<Composer>,
+ io: Option<Box<dyn IOInterface>>,
}
impl SearchCommand {
@@ -177,3 +181,29 @@ impl SearchCommand {
Ok(0)
}
}
+
+impl BaseCommand for SearchCommand {
+ fn inner(&self) -> &Command {
+ &self.inner
+ }
+
+ fn inner_mut(&mut self) -> &mut Command {
+ &mut self.inner
+ }
+
+ fn composer(&self) -> Option<&Composer> {
+ self.composer.as_ref()
+ }
+
+ fn composer_mut(&mut self) -> &mut Option<Composer> {
+ &mut self.composer
+ }
+
+ fn io(&self) -> Option<&dyn IOInterface> {
+ self.io.as_deref()
+ }
+
+ fn io_mut(&mut self) -> &mut Option<Box<dyn IOInterface>> {
+ &mut self.io
+ }
+}