use lifeline::impl_storage_clone;
use std::{collections::HashMap, path::PathBuf};
use tab_api::chunk::{InputChunk, OutputChunk};
#[derive(Debug, Clone, Default, PartialEq, Eq)]
pub struct MainShutdown {}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PtyShutdown {}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum PtyRequest {
Resize((u16, u16)),
Input(InputChunk),
Shutdown,
}
#[derive(Debug, Clone)]
pub enum PtyResponse {
Output(OutputChunk),
Terminated,
}
#[derive(Debug, Clone)]
pub struct PtyOptions {
pub dimensions: (u16, u16),
pub command: String,
pub args: Vec<String>,
pub working_directory: PathBuf,
pub env: HashMap<String, String>,
}
impl_storage_clone!(PtyOptions);
#[derive(Clone, Debug, Default)]
pub struct PtyOutputBarrier {}