#[derive(Debug)]
pub struct AutomationTabState {
pub editing_trigger_index: Option<usize>,
pub temp_trigger_name: String,
pub temp_trigger_pattern: String,
pub temp_trigger_actions: Vec<par_term_config::automation::TriggerActionConfig>,
pub temp_trigger_prompt_before_run: bool,
pub adding_new_trigger: bool,
pub trigger_pattern_error: Option<String>,
pub editing_coprocess_index: Option<usize>,
pub temp_coprocess_name: String,
pub temp_coprocess_command: String,
pub temp_coprocess_args: String,
pub temp_coprocess_auto_start: bool,
pub temp_coprocess_copy_output: bool,
pub temp_coprocess_restart_policy: par_term_config::automation::RestartPolicy,
pub temp_coprocess_restart_delay_ms: u64,
pub adding_new_coprocess: bool,
pub trigger_resync_requested: bool,
pub plugin_scan: Option<(
Vec<par_term_scripting::manifest::DiscoveredPlugin>,
Vec<par_term_scripting::manifest::DiscoveryWarning>,
)>,
pub plugin_git_url: String,
pub plugin_git_busy: bool,
pub plugin_git_message: Option<String>,
pub plugin_git_receiver:
Option<std::sync::mpsc::Receiver<Result<crate::PluginGitOutcome, String>>>,
pub plugin_update_preview: Option<(String, par_term_scripting::plugin_git::UpdatePreview)>,
pub plugin_remove_pending: Option<String>,
pub plugin_forget_pending: Option<String>,
pub plugin_git_ids: Option<std::collections::HashSet<String>>,
}
impl Default for AutomationTabState {
fn default() -> Self {
Self {
editing_trigger_index: None,
temp_trigger_name: String::new(),
temp_trigger_pattern: String::new(),
temp_trigger_actions: Vec::new(),
temp_trigger_prompt_before_run: true,
adding_new_trigger: false,
trigger_pattern_error: None,
editing_coprocess_index: None,
temp_coprocess_name: String::new(),
temp_coprocess_command: String::new(),
temp_coprocess_args: String::new(),
temp_coprocess_auto_start: false,
temp_coprocess_copy_output: true,
temp_coprocess_restart_policy: par_term_config::automation::RestartPolicy::Never,
temp_coprocess_restart_delay_ms: 0,
adding_new_coprocess: false,
trigger_resync_requested: false,
plugin_scan: None,
plugin_git_url: String::new(),
plugin_git_busy: false,
plugin_git_message: None,
plugin_git_receiver: None,
plugin_update_preview: None,
plugin_remove_pending: None,
plugin_forget_pending: None,
plugin_git_ids: None,
}
}
}