use serde::{Deserialize, Serialize};
use super::types::ScreenFormat;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct InputKeysParams {
pub keys: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CommandExecuteParams {
pub cmd: String,
#[serde(default)]
pub args: Vec<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct StateCursorParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub buffer_id: Option<usize>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct StateSelectionParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub buffer_id: Option<usize>,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct StateScreenContentParams {
#[serde(default)]
pub format: ScreenFormat,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct BufferGetContentParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub buffer_id: Option<usize>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BufferSetContentParams {
pub content: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub buffer_id: Option<usize>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct BufferOpenFileParams {
pub path: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct EditorResizeParams {
pub width: u16,
pub height: u16,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ModuleLoadParams {
pub path: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ModuleUnloadParams {
pub id: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ModuleReloadParams {
pub id: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct StateLayoutParams {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StateWindowContentParams {
pub window_id: super::types::WireWindowId,
#[serde(default)]
pub format: ScreenFormat,
}
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct StateOptionsParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub window_id: Option<usize>,
#[serde(skip_serializing_if = "Option::is_none")]
pub names: Option<Vec<String>>,
}
#[cfg(test)]
#[path = "params_tests.rs"]
mod tests;