use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum Mode {
Local,
Remote,
}
impl Default for Mode {
fn default() -> Self {
Mode::Local
}
}
fn default_main_label() -> String {
"main".to_string()
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ObserverConfig {
#[serde(default)]
pub mode: Mode,
#[serde(default = "default_main_label")]
pub main_label: String,
#[serde(default)]
pub skip_focus_prefix: String,
}
impl Default for ObserverConfig {
fn default() -> Self {
Self {
mode: Mode::default(),
main_label: default_main_label(),
skip_focus_prefix: String::new(),
}
}
}