use serde::{Deserialize, Serialize};
use super::CommandOutput;
use crate::PaneTarget;
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct BindKeyResponse {
pub table_name: String,
pub key: String,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct UnbindKeyResponse {
pub table_name: String,
pub key: Option<String>,
pub removed: bool,
pub all: bool,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct ListKeysResponse {
pub output: CommandOutput,
pub match_count: usize,
}
impl ListKeysResponse {
#[must_use]
pub const fn command_output(&self) -> &CommandOutput {
&self.output
}
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct SendPrefixResponse {
pub target: Option<PaneTarget>,
pub key: String,
pub key_count: usize,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct CopyModeResponse {
pub target: PaneTarget,
pub active: bool,
pub view_mode: bool,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct ClockModeResponse {
pub target: PaneTarget,
pub active: bool,
}