summaryrefslogtreecommitdiffstats
path: root/src/config/raw/app/display/config.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/raw/app/display/config.rs')
-rw-r--r--src/config/raw/app/display/config.rs75
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(),
+ }
+ }
+}