#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum SettingsConfigScope {
#[default]
Global,
Local,
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum MainMode {
#[default]
Snapshot,
Delta,
Settings,
Duplicates,
Lenses,
}
impl MainMode {
#[must_use]
pub fn next(self, has_duplicates: bool, has_lenses: bool) -> MainMode {
match self {
MainMode::Snapshot => {
if has_lenses {
MainMode::Lenses
} else {
MainMode::Delta
}
}
MainMode::Lenses => MainMode::Delta,
MainMode::Delta => {
if has_duplicates {
MainMode::Duplicates
} else {
MainMode::Settings
}
}
MainMode::Duplicates => MainMode::Settings,
MainMode::Settings => MainMode::Snapshot,
}
}
}
#[derive(Clone, Copy, Default, PartialEq)]
pub enum PanelFocus {
#[default]
Categories,
Contents,
}
#[derive(Clone, Debug)]
pub enum SpaceMenuKind {
FileActions {
path: String,
can_open_in_terminal: bool,
show_enhance_directory_policy: bool,
show_enhance_zahir: bool,
show_copy_zahir_json: bool,
},
LensPanelActions { lens_name: String },
DuplicateMemberActions { path: String },
}
#[derive(Clone, Copy, Default, PartialEq, Eq)]
pub enum RightPaneMode {
#[default]
Viewer,
Templates,
Metadata,
Writing,
}