summaryrefslogtreecommitdiffstats
path: root/src/fs
diff options
context:
space:
mode:
authorJeff Zhao <jeff.no.zhao@gmail.com>2021-10-20 15:52:41 -0400
committerJeff Zhao <jeff.no.zhao@gmail.com>2021-10-20 15:52:41 -0400
commit6e2164aeaaf02bf61099e773a0341a38652c5da4 (patch)
tree69c90c589119b1058097993f3a0221aba6af4100 /src/fs
parentd151d64809f918c59b4cd5c18ce71d05b165cd84 (diff)
rework config structure
Diffstat (limited to 'src/fs')
-rw-r--r--src/fs/dirlist.rs28
-rw-r--r--src/fs/entry.rs2
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 {