summaryrefslogtreecommitdiffstats
path: root/src/preview/preview_default.rs
diff options
context:
space:
mode:
authorJeff Zhao <jeff.no.zhao@gmail.com>2021-06-21 10:32:07 -0400
committerJeff Zhao <jeff.no.zhao@gmail.com>2021-06-21 10:46:47 -0400
commit58ad2824f631dcf8ff2a3f267733ffc0c302b3b3 (patch)
tree5d8b805c2eba9f3d3c7dd218e37ae524efc4e0d8 /src/preview/preview_default.rs
parent0b5f098109c3dc8c488d5d8e6eee06e278f2ce4e (diff)
refactor previewing code
- event.rs is moved out of utils as its an integral part of the codebase - load_child.rs has been replaced with preview module - moved previewing logic inside run.rs instead of spreading it across multiple commands
Diffstat (limited to 'src/preview/preview_default.rs')
-rw-r--r--src/preview/preview_default.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/preview/preview_default.rs b/src/preview/preview_default.rs
new file mode 100644
index 0000000..9601800
--- /dev/null
+++ b/src/preview/preview_default.rs
@@ -0,0 +1,27 @@
+use std::path;
+
+use crate::context::AppContext;
+use crate::preview::{preview_dir, preview_file};
+use crate::ui::TuiBackend;
+
+pub fn load_preview_path(context: &mut AppContext, backend: &mut TuiBackend, p: path::PathBuf) {
+ if p.is_dir() {
+ preview_dir::load_preview(context, p);
+ } else if p.is_file() {
+ preview_file::preview_path_with_script(context, backend, p);
+ }
+}
+
+pub fn load_preview(context: &mut AppContext, backend: &mut TuiBackend) {
+ let mut p: Option<path::PathBuf> = None;
+ if let Some(curr_list) = context.tab_context_ref().curr_tab_ref().curr_list_ref() {
+ if let Some(index) = curr_list.index {
+ let entry = &curr_list.contents[index];
+ p = Some(entry.file_path().to_path_buf())
+ }
+ }
+
+ if let Some(p) = p {
+ load_preview_path(context, backend, p);
+ }
+}