diff options
author | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-10-20 15:52:41 -0400 |
---|---|---|
committer | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-10-20 15:52:41 -0400 |
commit | 6e2164aeaaf02bf61099e773a0341a38652c5da4 (patch) | |
tree | 69c90c589119b1058097993f3a0221aba6af4100 /src/fs | |
parent | d151d64809f918c59b4cd5c18ce71d05b165cd84 (diff) |
rework config structure
Diffstat (limited to 'src/fs')
-rw-r--r-- | src/fs/dirlist.rs | 28 | ||||
-rw-r--r-- | src/fs/entry.rs | 2 |
2 files changed, 19 insertions, 11 deletions
diff --git a/src/fs/dirlist.rs b/src/fs/dirlist.rs index 698e1ac..b8b252a 100644 --- a/src/fs/dirlist.rs +++ b/src/fs/dirlist.rs @@ -1,17 +1,18 @@ use std::path; use std::slice::{Iter, IterMut}; +use crate::config::option::DisplayOption; use crate::fs::{JoshutoDirEntry, JoshutoMetadata}; use crate::history::read_directory; -use crate::util::display_option::DisplayOption; #[derive(Clone, Debug)] pub struct JoshutoDirList { - pub index: Option<usize>, path: path::PathBuf, - _need_update: bool, - pub metadata: JoshutoMetadata, pub contents: Vec<JoshutoDirEntry>, + pub metadata: JoshutoMetadata, + pub index: Option<usize>, + pub viewport_index: usize, + _need_update: bool, } impl JoshutoDirList { @@ -22,11 +23,12 @@ impl JoshutoDirList { metadata: JoshutoMetadata, ) -> Self { Self { - index, path, - _need_update: false, - metadata, contents, + metadata, + index, + viewport_index: 0, + _need_update: false, } } @@ -39,14 +41,20 @@ impl JoshutoDirList { let index = if contents.is_empty() { None } else { Some(0) }; + let viewport_index = match index { + None => 0, + Some(index) => 0, + }; + let metadata = JoshutoMetadata::from(&path)?; Ok(Self { - index, path, - _need_update: false, - metadata, contents, + metadata, + _need_update: false, + index, + viewport_index, }) } diff --git a/src/fs/entry.rs b/src/fs/entry.rs index fb62f2e..8d7b11d 100644 --- a/src/fs/entry.rs +++ b/src/fs/entry.rs @@ -1,10 +1,10 @@ use std::{fs, io, path}; +use crate::config::option::DisplayOption; use crate::fs::{FileType, JoshutoMetadata}; #[cfg(feature = "devicons")] use crate::util::devicons::*; -use crate::util::display_option::DisplayOption; #[derive(Clone, Debug)] pub struct JoshutoDirEntry { |