From fbd20ad6e488fb3b9efc1612fdffee6e672976c1 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Sun, 14 Jun 2026 02:43:45 +0300 Subject: feat: add plugin v1 system Add manifest-driven plugin actions, event hooks, pane entrypoints, link handlers, and host APIs. Support plugin link, GitHub install, build commands, installed plugin registry, pane movement, runtime context, and plugin docs. --- src/terminal/runtime.rs | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'src/terminal') diff --git a/src/terminal/runtime.rs b/src/terminal/runtime.rs index c4bf91e1..5e4f778e 100644 --- a/src/terminal/runtime.rs +++ b/src/terminal/runtime.rs @@ -85,10 +85,10 @@ impl TerminalRuntime { scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, shell_config: crate::pane::PaneShellConfig<'_>, + launch_env: &crate::pane::PaneLaunchEnv, events: mpsc::Sender, render_notify: Arc, render_dirty: Arc, - public_pane_id: Option<&str>, ) -> std::io::Result { crate::pane::PaneRuntime::spawn( pane_id, @@ -98,10 +98,10 @@ impl TerminalRuntime { scrollback_limit_bytes, host_terminal_theme, shell_config, + launch_env, events, render_notify, render_dirty, - public_pane_id, ) .map(Self) } @@ -116,11 +116,11 @@ impl TerminalRuntime { scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, shell_config: crate::pane::PaneShellConfig<'_>, + launch_env: &crate::pane::PaneLaunchEnv, initial_history_ansi: Option<&str>, events: mpsc::Sender, render_notify: Arc, render_dirty: Arc, - public_pane_id: Option<&str>, ) -> std::io::Result { crate::pane::PaneRuntime::spawn_with_initial_history( pane_id, @@ -130,11 +130,11 @@ impl TerminalRuntime { scrollback_limit_bytes, host_terminal_theme, shell_config, + launch_env, initial_history_ansi, events, render_notify, render_dirty, - public_pane_id, ) .map(Self) } @@ -147,13 +147,12 @@ impl TerminalRuntime { cols: u16, cwd: std::path::PathBuf, command: &str, - extra_env: &[(String, String)], + launch_env: &crate::pane::PaneLaunchEnv, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, events: mpsc::Sender, render_notify: Arc, render_dirty: Arc, - public_pane_id: Option<&str>, ) -> std::io::Result { crate::pane::PaneRuntime::spawn_shell_command( pane_id, @@ -161,13 +160,12 @@ impl TerminalRuntime { cols, cwd, command, - extra_env, + launch_env, scrollback_limit_bytes, host_terminal_theme, events, render_notify, render_dirty, - public_pane_id, ) .map(Self) } @@ -178,12 +176,12 @@ impl TerminalRuntime { cols: u16, cwd: std::path::PathBuf, argv: &[String], + launch_env: &crate::pane::PaneLaunchEnv, scrollback_limit_bytes: usize, host_terminal_theme: crate::terminal_theme::TerminalTheme, events: mpsc::Sender, render_notify: Arc, render_dirty: Arc, - public_pane_id: Option<&str>, ) -> std::io::Result { crate::pane::PaneRuntime::spawn_argv_command( pane_id, @@ -191,12 +189,12 @@ impl TerminalRuntime { cols, cwd, argv, + launch_env, scrollback_limit_bytes, host_terminal_theme, events, render_notify, render_dirty, - public_pane_id, ) .map(Self) } @@ -412,6 +410,10 @@ impl TerminalRuntime { self.0.foreground_cwd() } + pub fn child_pid(&self) -> Option { + self.0.child_pid() + } + pub(crate) fn current_size(&self) -> (u16, u16) { self.0.current_size() } -- cgit v1.2.3