diff options
| author | Aram Drevekenin <aram@poor.dev> | 2024-07-29 11:40:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-29 11:40:01 +0200 |
| commit | 355463383a18fb9e54afd62d718bed4c085a766f (patch) | |
| tree | 7cf187d4e122133711b45aa249a7e19dc59e1f4f /zellij-utils/src/plugin_api/action.rs | |
| parent | docs(changelog): more plugin apis (diff) | |
| download | sl0ppij-355463383a18fb9e54afd62d718bed4c085a766f.tar.gz sl0ppij-355463383a18fb9e54afd62d718bed4c085a766f.tar.xz sl0ppij-355463383a18fb9e54afd62d718bed4c085a766f.zip | |
feat(plugins): allow opening command panes in the background (hidden) (#3530)
* start background pane
* open command and edit panes in the background
* some cleanups
* style(fmt): rustfmt
* more cleanups
Diffstat (limited to 'zellij-utils/src/plugin_api/action.rs')
| -rw-r--r-- | zellij-utils/src/plugin_api/action.rs | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/zellij-utils/src/plugin_api/action.rs b/zellij-utils/src/plugin_api/action.rs index b206dba0..a2f5bd76 100644 --- a/zellij-utils/src/plugin_api/action.rs +++ b/zellij-utils/src/plugin_api/action.rs @@ -17,7 +17,7 @@ use crate::data::{Direction, InputMode, ResizeStrategy}; use crate::errors::prelude::*; use crate::input::actions::Action; use crate::input::actions::{SearchDirection, SearchOption}; -use crate::input::command::RunCommandAction; +use crate::input::command::{OpenFilePayload, RunCommandAction}; use crate::input::layout::{ PluginUserConfiguration, RunPlugin, RunPluginLocation, RunPluginOrAlias, }; @@ -220,7 +220,7 @@ impl TryFrom<ProtobufAction> for Action { .and_then(|d| ProtobufResizeDirection::from_i32(d)) .and_then(|d| d.try_into().ok()); let pane_name = payload.pane_name; - Ok(Action::NewPane(direction, pane_name)) + Ok(Action::NewPane(direction, pane_name, false)) }, _ => Err("Wrong payload for Action::NewPane"), }, @@ -236,12 +236,11 @@ impl TryFrom<ProtobufAction> for Action { let should_float = payload.should_float; let should_be_in_place = false; Ok(Action::EditFile( - file_to_edit, - line_number, - cwd, + OpenFilePayload::new(file_to_edit, line_number, cwd), direction, should_float, should_be_in_place, + false, None, )) }, @@ -885,7 +884,7 @@ impl TryFrom<Action> for ProtobufAction { name: ProtobufActionName::ToggleActiveSyncTab as i32, optional_payload: None, }), - Action::NewPane(direction, new_pane_name) => { + Action::NewPane(direction, new_pane_name, _start_suppressed) => { let direction = direction.and_then(|direction| { let protobuf_direction: ProtobufResizeDirection = direction.try_into().ok()?; Some(protobuf_direction as i32) @@ -899,20 +898,19 @@ impl TryFrom<Action> for ProtobufAction { }) }, Action::EditFile( - path_to_file, - line_number, - cwd, + open_file_payload, direction, should_float, _should_be_in_place, _floating_pane_coordinates, + _start_suppressed, ) => { - let file_to_edit = path_to_file.display().to_string(); - let cwd = cwd.map(|cwd| cwd.display().to_string()); + let file_to_edit = open_file_payload.path.display().to_string(); + let cwd = open_file_payload.cwd.map(|cwd| cwd.display().to_string()); let direction: Option<i32> = direction .and_then(|d| ProtobufResizeDirection::try_from(d).ok()) .map(|d| d as i32); - let line_number = line_number.map(|l| l as u32); + let line_number = open_file_payload.line_number.map(|l| l as u32); Ok(ProtobufAction { name: ProtobufActionName::EditFile as i32, optional_payload: Some(OptionalPayload::EditFilePayload(EditFilePayload { |
