aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api/action.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2024-07-29 11:40:01 +0200
committerGitHub <noreply@github.com>2024-07-29 11:40:01 +0200
commit355463383a18fb9e54afd62d718bed4c085a766f (patch)
tree7cf187d4e122133711b45aa249a7e19dc59e1f4f /zellij-utils/src/plugin_api/action.rs
parentdocs(changelog): more plugin apis (diff)
downloadsl0ppij-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.rs22
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 {