aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/plugin
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-26 22:03:25 +0900
committernsfisis <nsfisis@gmail.com>2026-05-26 22:03:34 +0900
commitc5850d62beabef0a6bcc4cf6a179589c0ba8f405 (patch)
tree893e8903a8bd605da90fb5a460caba17f0789fea /crates/shirabe/src/plugin
parentf411daceacad66e0bd774fda7d3c5ef8533cc55c (diff)
downloadphp-shirabe-c5850d62beabef0a6bcc4cf6a179589c0ba8f405.tar.gz
php-shirabe-c5850d62beabef0a6bcc4cf6a179589c0ba8f405.tar.zst
php-shirabe-c5850d62beabef0a6bcc4cf6a179589c0ba8f405.zip
feat(factory): construct PluginManager after Rc::new_cyclic
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/plugin')
-rw-r--r--crates/shirabe/src/plugin/plugin_manager.rs14
1 files changed, 3 insertions, 11 deletions
diff --git a/crates/shirabe/src/plugin/plugin_manager.rs b/crates/shirabe/src/plugin/plugin_manager.rs
index a03fcaa..e2c39af 100644
--- a/crates/shirabe/src/plugin/plugin_manager.rs
+++ b/crates/shirabe/src/plugin/plugin_manager.rs
@@ -19,6 +19,7 @@ use shirabe_semver::constraint::SimpleConstraint;
use crate::composer::PartialComposerHandle;
use crate::composer::{ComposerHandle, ComposerWeakHandle};
use crate::event_dispatcher::EventSubscriberInterface;
+use crate::factory::DisablePlugins;
use crate::installer::InstallerInterface;
use crate::io::IOInterface;
use crate::io::IOInterfaceImmutable;
@@ -40,15 +41,6 @@ use crate::repository::RepositoryUtils;
use crate::repository::RootPackageRepository;
use crate::util::PackageSorter;
-/// Marker for the disablePlugins variant: false | "local" | "global" | true.
-#[derive(Debug, Clone, PartialEq)]
-pub enum DisablePlugins {
- False,
- Local,
- Global,
- True,
-}
-
#[derive(Debug)]
pub struct PluginManager {
pub(crate) composer: ComposerWeakHandle,
@@ -816,7 +808,7 @@ impl PluginManager {
pub fn are_plugins_disabled(&self, r#type: &str) -> bool {
match (&self.disable_plugins, r#type) {
- (DisablePlugins::True, _) => true,
+ (DisablePlugins::All, _) => true,
(DisablePlugins::Local, "local") => true,
(DisablePlugins::Global, "global") => true,
_ => false,
@@ -824,7 +816,7 @@ impl PluginManager {
}
pub fn disable_plugins(&mut self) {
- self.disable_plugins = DisablePlugins::True;
+ self.disable_plugins = DisablePlugins::All;
}
pub fn is_plugin_allowed(