summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDLFW <daniel@llin.info>2022-02-02 03:23:38 +0100
committerGitHub <noreply@github.com>2022-02-01 21:23:38 -0500
commite29904dcd71a864eb7b33df55f800e885b870fd4 (patch)
treeeb9d80b875b3dbdac268d60454d55810a758f1d6
parent65f937083bf6e26b178550d7936dd288ba024e53 (diff)
code cleanup (#135)
* code cleanup Remove dead code and unused imports around preview features. * Remove unused config option [display]show_preview * Remove config option [preview]preview_images * Remove unused imports * Remove dead code and unused imports
-rw-r--r--config/joshuto.toml2
-rwxr-xr-xconfig/preview_file.sh8
-rw-r--r--docs/configuration/joshuto.toml.md3
-rw-r--r--src/config/general/display_crude.rs5
-rw-r--r--src/config/general/preview_crude.rs4
-rw-r--r--src/config/keymap/keymapping.rs2
-rw-r--r--src/config/option/display_option.rs6
-rw-r--r--src/config/option/preview_option.rs2
-rw-r--r--src/context/preview_context.rs4
-rw-r--r--src/fs/entry.rs4
-rw-r--r--src/preview/preview_default.rs16
-rw-r--r--src/preview/preview_dir.rs19
-rw-r--r--src/preview/preview_file.rs99
-rw-r--r--src/run.rs6
-rw-r--r--src/ui/tui_backend.rs52
-rw-r--r--src/ui/widgets/tui_file_preview.rs2
16 files changed, 11 insertions, 223 deletions
diff --git a/config/joshuto.toml b/config/joshuto.toml
index 612d7e2..00d37ff 100644
--- a/config/joshuto.toml
+++ b/config/joshuto.toml
@@ -12,7 +12,6 @@ scroll_offset = 6
show_borders = true
show_hidden = false
show_icons = true
-show_preview = true
tilde_in_titlebar = true
# none, absolute, relative
line_number_style = "none"
@@ -26,7 +25,6 @@ reverse = false
[preview]
max_preview_size = 2097152 # 2MB
-preview_images = false
preview_script = "~/.config/joshuto/preview_file.sh"
[tab]
diff --git a/config/preview_file.sh b/config/preview_file.sh
index f71d8bb..d0d92d8 100755
--- a/config/preview_file.sh
+++ b/config/preview_file.sh
@@ -28,7 +28,6 @@ IFS=$'\n'
## 7 | image | Display the file directly as an image
FILE_PATH=""
-PREVIEW_IMAGE_ENABLED=0
PREVIEW_WIDTH=10
PREVIEW_HEIGHT=10
PREVIEW_X_COORD=0
@@ -59,10 +58,6 @@ while [ "$#" -gt 0 ]; do
shift
PREVIEW_Y_COORD="$1"
;;
- "--preview-images")
- shift
- PREVIEW_IMAGE_ENABLED="$1"
- ;;
"--image-cache")
shift
IMAGE_CACHE_PATH="$1"
@@ -248,9 +243,6 @@ handle_fallback() {
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
-if [[ "${PREVIEW_IMAGE_ENABLED}" -eq 1 ]]; then
- handle_image "${MIMETYPE}"
-fi
handle_extension
handle_mime "${MIMETYPE}"
handle_fallback
diff --git a/docs/configuration/joshuto.toml.md b/docs/configuration/joshuto.toml.md
index d3d0364..5a6e5cd 100644
--- a/docs/configuration/joshuto.toml.md
+++ b/docs/configuration/joshuto.toml.md
@@ -33,9 +33,6 @@ show_borders = true
show_hidden = false
# Show file icons (requires a supporting font)
show_icons = true
-# Show file previews
-# CURRENTLY DOES NOT WORK
-show_preview = true
# Shorten /home/$USER to ~
tilde_in_titlebar = true
# Options include
diff --git a/src/config/general/display_crude.rs b/src/config/general/display_crude.rs
index 409091a..bc4cf45 100644
--- a/src/config/general/display_crude.rs
+++ b/src/config/general/display_crude.rs
@@ -43,9 +43,6 @@ pub struct DisplayOptionCrude {
pub show_icons: bool,
#[serde(default = "default_true")]
- pub show_preview: bool,
-
- #[serde(default = "default_true")]
pub tilde_in_titlebar: bool,
#[serde(default, rename = "sort")]
@@ -65,7 +62,6 @@ impl std::default::Default for DisplayOptionCrude {
show_borders: true,
show_hidden: false,
show_icons: false,
- show_preview: true,
sort_options: SortOptionCrude::default(),
tilde_in_titlebar: true,
line_number_style: "none".to_string(),
@@ -107,7 +103,6 @@ impl From<DisplayOptionCrude> for DisplayOption {
_show_borders: crude.show_borders,
_show_hidden: crude.show_hidden,
_show_icons: crude.show_icons,
- _show_preview: crude.show_preview,
_sort_options: crude.sort_options.into(),
_tilde_in_titlebar: crude.tilde_in_titlebar,
_line_nums,
diff --git a/src/config/general/preview_crude.rs b/src/config/general/preview_crude.rs
index 8ba88d9..6a5b4ff 100644
--- a/src/config/general/preview_crude.rs
+++ b/src/config/general/preview_crude.rs
@@ -16,8 +16,6 @@ pub struct PreviewOptionCrude {
#[serde(default = "default_max_preview_size")]
pub max_preview_size: u64,
#[serde(default)]
- pub preview_images: bool,
- #[serde(default)]
pub preview_script: Option<String>,
#[serde(default)]
pub preview_shown_hook_script: Option<String>,
@@ -29,7 +27,6 @@ impl std::default::Default for PreviewOptionCrude {
fn default() -> Self {
Self {
max_preview_size: default_max_preview_size(),
- preview_images: false,
preview_script: None,
preview_shown_hook_script: None,
preview_removed_hook_script: None,
@@ -66,7 +63,6 @@ impl From<PreviewOptionCrude> for PreviewOption {
Self {
max_preview_size: crude.max_preview_size,
- preview_images: crude.preview_images,
preview_script,
preview_shown_hook_script,
preview_removed_hook_script,
diff --git a/src/config/keymap/keymapping.rs b/src/config/keymap/keymapping.rs
index 341db95..8d8b108 100644
--- a/src/config/keymap/keymapping.rs
+++ b/src/config/keymap/keymapping.rs
@@ -5,8 +5,6 @@ use std::convert::{AsMut, AsRef, From};
use std::str::FromStr;
use termion::event::Event;
-#[cfg(feature = "mouse")]
-use termion::event::MouseEvent;
use crate::config::{parse_to_config_file, TomlConfigFile};
use crate::error::JoshutoResult;
diff --git a/src/config/option/display_option.rs b/src/config/option/display_option.rs
index 6454a1b..1749ece 100644
--- a/src/config/option/display_option.rs
+++ b/src/config/option/display_option.rs
@@ -16,7 +16,6 @@ pub struct DisplayOption {
pub _show_borders: bool,
pub _show_hidden: bool,
pub _show_icons: bool,
- pub _show_preview: bool,
pub _sort_options: SortOption,
pub _tilde_in_titlebar: bool,
pub _line_nums: LineNumberStyle,
@@ -57,10 +56,6 @@ impl DisplayOption {
self._show_icons
}
- pub fn show_preview(&self) -> bool {
- self._show_preview
- }
-
pub fn set_show_hidden(&mut self, show_hidden: bool) {
self._show_hidden = show_hidden;
}
@@ -118,7 +113,6 @@ impl std::default::Default for DisplayOption {
_show_borders: true,
_show_hidden: false,
_show_icons: false,
- _show_preview: true,
_sort_options: SortOption::default(),
_tilde_in_titlebar: true,
_line_nums: LineNumberStyle::None,
diff --git a/src/config/option/preview_option.rs b/src/config/option/preview_option.rs
index 14c1e7e..3102350 100644
--- a/src/config/option/preview_option.rs
+++ b/src/config/option/preview_option.rs
@@ -7,7 +7,6 @@ const fn default_max_preview_size() -> u64 {
#[derive(Clone, Debug)]
pub struct PreviewOption {
pub max_preview_size: u64,
- pub preview_images: bool,
pub preview_script: Option<path::PathBuf>,
pub preview_shown_hook_script: Option<path::PathBuf>,
pub preview_removed_hook_script: Option<path::PathBuf>,
@@ -17,7 +16,6 @@ impl std::default::Default for PreviewOption {
fn default() -> Self {
Self {
max_preview_size: default_max_preview_size(),
- preview_images: false,
preview_script: None,
preview_shown_hook_script: None,
preview_removed_hook_script: None,
diff --git a/src/context/preview_context.rs b/src/context/preview_context.rs
index d08371c..f952629 100644
--- a/src/context/preview_context.rs
+++ b/src/context/preview_context.rs
@@ -14,10 +14,6 @@ impl PreviewContext {
}
}
- pub fn preview_exists(&self, p: &path::Path) -> bool {
- self.previews.get(p).is_some()
- }
-
pub fn get_preview_ref(&self, p: &path::Path) -> Option<&Option<FilePreview>> {
self.previews.get(p)
}
diff --git a/src/fs/entry.rs b/src/fs/entry.rs
index fa30199..f7850ed 100644
--- a/src/fs/entry.rs
+++ b/src/fs/entry.rs
@@ -53,10 +53,6 @@ impl JoshutoDirEntry {
})
}
- pub fn update_label(&mut self, label: String) {
- self.label = label;
- }
-
pub fn file_name(&self) -> &str {
self.name.as_str()
}
diff --git a/src/preview/preview_default.rs b/src/preview/preview_default.rs
index 56947b6..8a216c9 100644
--- a/src/preview/preview_default.rs
+++ b/src/preview/preview_default.rs
@@ -3,14 +3,8 @@ use std::path;
use crate::context::AppContext;
use crate::fs::JoshutoMetadata;
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,
- metadata: JoshutoMetadata,
-) {
+
+pub fn load_preview_path(context: &mut AppContext, p: path::PathBuf, metadata: JoshutoMetadata) {
let preview_options = context.config_ref().preview_options_ref();
if metadata.is_dir() {
@@ -32,13 +26,13 @@ pub fn load_preview_path(
.is_none();
if need_to_load {
- preview_file::Background::preview_path_with_script(context, backend, p);
+ preview_file::Background::preview_path_with_script(context, p);
}
} else {
}
}
-pub fn load_preview(context: &mut AppContext, backend: &mut TuiBackend) {
+pub fn load_preview(context: &mut AppContext) {
let mut load_list = Vec::with_capacity(2);
let curr_tab = context.tab_context_ref().curr_tab_ref();
@@ -57,6 +51,6 @@ pub fn load_preview(context: &mut AppContext, backend: &mut TuiBackend) {
}
for (path, metadata) in load_list {
- load_preview_path(context, backend, path, metadata);
+ load_preview_path(context, path, metadata);
}
}
diff --git a/src/preview/preview_dir.rs b/src/preview/preview_dir.rs
index 957b235..9c4a028 100644
--- a/src/preview/preview_dir.rs
+++ b/src/preview/preview_dir.rs
@@ -1,28 +1,9 @@
-use std::io;
use std::path;
use std::thread;
use crate::context::AppContext;
use crate::event::AppEvent;
use crate::fs::JoshutoDirList;
-use crate::history::DirectoryHistory;
-
-#[allow(dead_code)]
-pub struct Foreground {}
-
-impl Foreground {
- pub fn load_preview(context: &mut AppContext, p: path::PathBuf) -> io::Result<()> {
- let options = context.config_ref().display_options_ref().clone();
- let history = context.tab_context_mut().curr_tab_mut().history_mut();
- if history
- .create_or_soft_update(p.as_path(), &options)
- .is_err()
- {
- history.remove(p.as_path());
- }
- Ok(())
- }
-}
pub struct Background {}
diff --git a/src/preview/preview_file.rs b/src/preview/preview_file.rs
index 36880e1..dac3ad2 100644
--- a/src/preview/preview_file.rs
+++ b/src/preview/preview_file.rs
@@ -1,19 +1,9 @@
-use std::io;
use std::path;
use std::process::{Command, Output};
use std::thread;
-use tui::layout::Constraint;
-
use crate::context::AppContext;
use crate::event::AppEvent;
-use crate::ui::{self, TuiBackend};
-
-#[derive(Clone, Debug)]
-pub enum PreviewState {
- NoPreview,
- SomePreview(FilePreview),
-}
#[derive(Clone, Debug)]
pub struct FilePreview {
@@ -35,96 +25,12 @@ impl std::convert::From<Output> for FilePreview {
}
}
-#[allow(dead_code)]
-pub struct Foreground {}
-
-impl Foreground {
- pub fn preview_path_with_script(
- context: &AppContext,
- backend: &mut TuiBackend,
- p: path::PathBuf,
- ) -> io::Result<Output> {
- let config = context.config_ref();
- let preview_options = config.preview_options_ref();
-
- match preview_options.preview_script.as_ref() {
- None => Err(io::Error::new(
- io::ErrorKind::Other,
- "No preview script specified",
- )),
- Some(script) => {
- let area = backend.terminal.as_ref().unwrap().size().unwrap();
- let display_options = config.display_options_ref();
- let constraints: &[Constraint; 3] = &display_options.default_layout;
-
- let ui_context = context.ui_context_ref();
- if ui_context.layout.is_empty() {
- return Err(io::Error::new(io::ErrorKind::Other, "No preview area"));
- }
- let layout_rect = &ui_context.layout[ui_context.layout.len() - 1];
-
- let file_full_path = p.as_path();
- let preview_width = layout_rect.width;
- let preview_height = layout_rect.height;
- let preview_x_coord = layout_rect.x;
- let preview_y_coord = layout_rect.y;
-
- let image_cache = 0;
- let preview_image = if preview_options.preview_images { 1 } else { 0 };
-
- // spawn preview process
- Command::new(script)
- .arg("--path")
- .arg(file_full_path)
- .arg("--preview-width")
- .arg(preview_width.to_string())
- .arg("--preview-height")
- .arg(preview_height.to_string())
- .arg("--x-coord")
- .arg(preview_x_coord.to_string())
- .arg("--y-coord")
- .arg(preview_y_coord.to_string())
- .arg("--preview-images")
- .arg(preview_image.to_string())
- .arg("--image-cache")
- .arg(image_cache.to_string())
- .output()
- }
- }
- }
-
- pub fn preview_with_script(
- context: &AppContext,
- backend: &mut TuiBackend,
- ) -> io::Result<Output> {
- let curr_tab = context.tab_context_ref().curr_tab_ref();
- let child_list = curr_tab.child_list_ref();
-
- match child_list.and_then(|list| list.curr_entry_ref()) {
- None => Err(io::Error::new(io::ErrorKind::Other, "No file to preview")),
- Some(entry) => {
- Self::preview_path_with_script(context, backend, entry.file_path().to_path_buf())
- }
- }
- }
-}
-
pub struct Background {}
impl Background {
- pub fn preview_path_with_script(
- context: &AppContext,
- backend: &mut TuiBackend,
- path: path::PathBuf,
- ) {
+ pub fn preview_path_with_script(context: &AppContext, path: path::PathBuf) {
let preview_options = context.config_ref().preview_options_ref();
- let config = context.config_ref();
-
if let Some(script) = preview_options.preview_script.as_ref() {
- let area = backend.terminal.as_ref().unwrap().size().unwrap();
- let display_options = config.display_options_ref();
- let constraints: &[Constraint; 3] = &display_options.default_layout;
-
let ui_context = context.ui_context_ref();
if ui_context.layout.is_empty() {
return;
@@ -137,7 +43,6 @@ impl Background {
let preview_y_coord = layout_rect.y;
let image_cache = 0;
- let preview_image = if preview_options.preview_images { 1 } else { 0 };
let script = script.clone();
let event_tx = context.clone_event_tx();
@@ -155,8 +60,6 @@ impl Background {
.arg(preview_x_coord.to_string())
.arg("--y-coord")
.arg(preview_y_coord.to_string())
- .arg("--preview-images")
- .arg(preview_image.to_string())
.arg("--image-cache")
.arg(image_cache.to_string())
.output();
diff --git a/src/run.rs b/src/run.rs
index c344814..298d95c 100644
--- a/src/run.rs
+++ b/src/run.rs
@@ -30,7 +30,7 @@ pub fn run(
context.tab_context_mut().push_tab(tab);
// trigger a preview of child
- preview_default::load_preview(context, backend);
+ preview_default::load_preview(context);
}
while context.quit == QuitType::DoNot {
@@ -56,7 +56,7 @@ pub fn run(
match event {
AppEvent::Termion(Event::Mouse(event)) => {
input::process_mouse(event, context, backend, &keymap_t);
- preview_default::load_preview(context, backend);
+ preview_default::load_preview(context);
}
AppEvent::Termion(key) => {
if context.message_queue_ref().current_message().is_some() {
@@ -97,7 +97,7 @@ pub fn run(
}
},
}
- preview_default::load_preview(context, backend);
+ preview_default::load_preview(context);
context.flush_event();
}
event => input::process_noninteractive(event, context),
diff --git a/src/ui/tui_backend.rs b/src/ui/tui_backend.rs
index 52afba4..c88590b 100644
--- a/src/ui/tui_backend.rs
+++ b/src/ui/tui_backend.rs
@@ -4,14 +4,11 @@ use std::io::Write;
use termion::raw::{IntoRawMode, RawTerminal};
use termion::screen::AlternateScreen;
use tui::backend::TermionBackend;
-use tui::layout::{Constraint, Direction, Layout, Rect};
-use tui::widgets::{Block, Borders, Widget};
+use tui::widgets::Widget;
#[cfg(feature = "mouse")]
use termion::input::MouseTerminal;
-use crate::config::option::DisplayOption;
-
trait New {
fn new() -> std::io::Result<Self>
where
@@ -88,50 +85,3 @@ impl TuiBackend {
Ok(())
}
}
-
-pub fn build_layout(
- area: Rect,
- constraints: &[Constraint; 3],
- display_options: &DisplayOption,
-) -> Vec<Rect> {
- let layout_rect = if display_options.show_borders() {
- let area = Rect {
- y: area.top() + 1,
- height: area.height - 2,
- ..area
- };
-
- let block = Block::default().borders(Borders::ALL);
- let inner = block.inner(area);
-
- let layout_rect = Layout::default()
- .direction(Direction::Horizontal)
- .constraints(constraints.as_ref())
- .split(inner);
-
- let block = Block::default().borders(Borders::RIGHT);
- let inner1 = block.inner(layout_rect[0]);
-
- let block = Block::default().borders(Borders::LEFT);
- let inner3 = block.inner(layout_rect[2]);
-
- vec![inner1, layout_rect[1], inner3]
- } else {
- let mut layout_rect = Layout::default()
- .direction(Direction::Horizontal)
- .vertical_margin(1)
- .constraints(constraints.as_ref())
- .split(area);
-
- layout_rect[0] = Rect {
- width: layout_rect[0].width - 1,
- ..layout_rect[0]
- };
- layout_rect[1] = Rect {
- width: layout_rect[1].width - 1,
- ..layout_rect[1]
- };
- layout_rect
- };
- layout_rect
-}
diff --git a/src/ui/widgets/tui_file_preview.rs b/src/ui/widgets/tui_file_preview.rs
index 6ece51d..b387802 100644
--- a/src/ui/widgets/tui_file_preview.rs
+++ b/src/ui/widgets/tui_file_preview.rs
@@ -1,7 +1,7 @@
use ansi_to_tui::ansi_to_text;
use tui::buffer::Buffer;
use tui::layout::Rect;
-use tui::text::{Span, Text};
+use tui::text::Span;
use tui::widgets::Widget;
use crate::preview::preview_file::FilePreview;