aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/plugin
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-05-12 04:14:55 +0900
committernsfisis <nsfisis@gmail.com>2026-05-12 04:14:55 +0900
commitfce5d59aeb5a1fdc07a0fa4b74f38ded23d9551e (patch)
tree6e1880e3142abc4c48635c9372a389d9b3217fa9 /crates/shirabe/src/plugin
parent315efbe6f3c8a249250deaf65d41939843141b32 (diff)
downloadphp-shirabe-fce5d59aeb5a1fdc07a0fa4b74f38ded23d9551e.tar.gz
php-shirabe-fce5d59aeb5a1fdc07a0fa4b74f38ded23d9551e.tar.zst
php-shirabe-fce5d59aeb5a1fdc07a0fa4b74f38ded23d9551e.zip
feat(port): port PluginInterface.php
Diffstat (limited to 'crates/shirabe/src/plugin')
-rw-r--r--crates/shirabe/src/plugin/plugin_interface.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/crates/shirabe/src/plugin/plugin_interface.rs b/crates/shirabe/src/plugin/plugin_interface.rs
index 3a33bf1..ae64034 100644
--- a/crates/shirabe/src/plugin/plugin_interface.rs
+++ b/crates/shirabe/src/plugin/plugin_interface.rs
@@ -1 +1,14 @@
//! ref: composer/src/Composer/Plugin/PluginInterface.php
+
+use crate::composer::Composer;
+use crate::io::io_interface::IOInterface;
+
+pub trait PluginInterface {
+ const PLUGIN_API_VERSION: &'static str = "2.9.0";
+
+ fn activate(&mut self, composer: &Composer, io: &dyn IOInterface);
+
+ fn deactivate(&mut self, composer: &Composer, io: &dyn IOInterface);
+
+ fn uninstall(&mut self, composer: &Composer, io: &dyn IOInterface);
+}