diff options
Diffstat (limited to 'src/config/raw/app/display/config.rs')
-rw-r--r-- | src/config/raw/app/display/config.rs | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/src/config/raw/app/display/config.rs b/src/config/raw/app/display/config.rs new file mode 100644 index 0000000..2fe10c0 --- /dev/null +++ b/src/config/raw/app/display/config.rs @@ -0,0 +1,75 @@ +use serde::Deserialize; + +use crate::config::clean::app::display::line_mode::LineMode; + +use super::sort::SortOptionRaw; + +fn default_mode() -> String { + "default".to_string() +} + +const fn default_true() -> bool { + true +} + +const fn default_scroll_offset() -> usize { + 4 +} + +#[derive(Clone, Debug, Deserialize)] +pub struct DisplayOptionRaw { + #[serde(default = "default_mode")] + pub mode: String, + + #[serde(default)] + pub automatically_count_files: bool, + + #[serde(default = "default_true")] + pub collapse_preview: bool, + + #[serde(default)] + pub column_ratio: Option<Vec<usize>>, + + #[serde(default = "default_scroll_offset")] + pub scroll_offset: usize, + + #[serde(default = "default_true")] + pub show_borders: bool, + + #[serde(default)] + pub show_hidden: bool, + + #[serde(default)] + pub show_icons: bool, + + #[serde(default = "default_true")] + pub tilde_in_titlebar: bool, + + #[serde(default, rename = "sort")] + pub sort_options: SortOptionRaw, + + #[serde(default)] + pub line_number_style: String, + + #[serde(default)] + pub linemode: LineMode, +} + +impl std::default::Default for DisplayOptionRaw { + fn default() -> Self { + Self { + mode: default_mode(), + automatically_count_files: false, + collapse_preview: true, + column_ratio: None, + scroll_offset: 4, + show_borders: true, + show_hidden: false, + show_icons: false, + sort_options: SortOptionRaw::default(), + tilde_in_titlebar: true, + line_number_style: "none".to_string(), + linemode: LineMode::default(), + } + } +} |