diff options
Diffstat (limited to 'src/tab/tab_struct.rs')
-rw-r--r-- | src/tab/tab_struct.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/tab/tab_struct.rs b/src/tab/tab_struct.rs index b1aee8c..61ebe49 100644 --- a/src/tab/tab_struct.rs +++ b/src/tab/tab_struct.rs @@ -1,15 +1,20 @@ +use std::collections::HashMap; use std::path; use crate::config::option::{DisplayOption, TabDisplayOption}; use crate::context::UiContext; use crate::fs::JoshutoDirList; use crate::history::{DirectoryHistory, JoshutoHistory}; +use crate::preview::preview_default::PreviewState; + +type HistoryMetadata = HashMap<path::PathBuf, PreviewState>; pub struct JoshutoTab { _cwd: path::PathBuf, // history is just a HashMap, so we have this property to store last workdir _previous_dir: Option<path::PathBuf>, history: JoshutoHistory, + history_metadata: HistoryMetadata, options: TabDisplayOption, } @@ -24,9 +29,10 @@ impl JoshutoTab { history.populate_to_root(cwd.as_path(), ui_context, options, &tab_options)?; let new_tab = Self { - history, _cwd: cwd, _previous_dir: None, + history, + history_metadata: HashMap::new(), options: tab_options, }; @@ -64,6 +70,13 @@ impl JoshutoTab { &mut self.history } + pub fn history_metadata_ref(&self) -> &HistoryMetadata { + &self.history_metadata + } + pub fn history_metadata_mut(&mut self) -> &mut HistoryMetadata { + &mut self.history_metadata + } + pub fn curr_list_ref(&self) -> Option<&JoshutoDirList> { self.history.get(self.cwd()) } |