From c5850d62beabef0a6bcc4cf6a179589c0ba8f405 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 26 May 2026 22:03:25 +0900 Subject: feat(factory): construct PluginManager after Rc::new_cyclic Co-Authored-By: Claude Opus 4.7 (1M context) --- crates/shirabe/src/plugin/plugin_manager.rs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'crates/shirabe/src/plugin') 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( -- cgit v1.3.1