diff options
author | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-04-29 23:51:26 -0400 |
---|---|---|
committer | Jeff Zhao <jeff.no.zhao@gmail.com> | 2021-04-29 23:59:22 -0400 |
commit | 49758f09f45b39845ede9626fe0ca4f3eedf6698 (patch) | |
tree | 685618e2f6056a5b2abb9e973b75c2eaf7a9496d | |
parent | 32a40e37c16f867d76642fd791eb996a37ef3f6b (diff) |
rename some structs that start with Joshuto to App
- reduce sharing global variables between modules
50 files changed, 523 insertions, 535 deletions
diff --git a/src/commands/bulk_rename.rs b/src/commands/bulk_rename.rs index bd873e0..ea849ba 100644 --- a/src/commands/bulk_rename.rs +++ b/src/commands/bulk_rename.rs @@ -4,7 +4,7 @@ use std::process; use rand::Rng; -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::{JoshutoError, JoshutoErrorKind, JoshutoResult}; use crate::ui::TuiBackend; @@ -12,7 +12,7 @@ use super::reload; const ENV_EDITOR: &str = "EDITOR"; -pub fn _bulk_rename(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn _bulk_rename(context: &mut AppContext) -> JoshutoResult<()> { const PREFIX: &str = "joshuto-"; let editor = match std::env::var(ENV_EDITOR) { Ok(s) => s, @@ -120,7 +120,7 @@ pub fn _bulk_rename(context: &mut JoshutoContext) -> JoshutoResult<()> { Ok(()) } -pub fn bulk_rename(context: &mut JoshutoContext, backend: &mut TuiBackend) -> JoshutoResult<()> { +pub fn bulk_rename(context: &mut AppContext, backend: &mut TuiBackend) -> JoshutoResult<()> { backend.terminal_drop(); let res = _bulk_rename(context); backend.terminal_restore()?; diff --git a/src/commands/change_directory.rs b/src/commands/change_directory.rs index 1e4ad06..6268d01 100644 --- a/src/commands/change_directory.rs +++ b/src/commands/change_directory.rs @@ -1,17 +1,17 @@ use std::path; -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::history::DirectoryHistory; use crate::util::load_child::LoadChild; -pub fn cd(path: &path::Path, context: &mut JoshutoContext) -> std::io::Result<()> { +pub fn cd(path: &path::Path, context: &mut AppContext) -> std::io::Result<()> { std::env::set_current_dir(path)?; context.tab_context_mut().curr_tab_mut().set_pwd(path); Ok(()) } -fn _change_directory(path: &path::Path, context: &mut JoshutoContext) -> std::io::Result<()> { +fn _change_directory(path: &path::Path, context: &mut AppContext) -> std::io::Result<()> { cd(path, context)?; let options = context.display_options_ref().clone(); context @@ -23,7 +23,7 @@ fn _change_directory(path: &path::Path, context: &mut JoshutoContext) -> std::io Ok(()) } -pub fn change_directory(context: &mut JoshutoContext, path: &path::Path) -> JoshutoResult<()> { +pub fn change_directory(context: &mut AppContext, path: &path::Path) -> JoshutoResult<()> { _change_directory(path, context)?; LoadChild::load_child(context)?; Ok(()) diff --git a/src/commands/command_keybind.rs b/src/commands/command_keybind.rs index 3430e11..c54f788 100644 --- a/src/commands/command_keybind.rs +++ b/src/commands/command_keybind.rs @@ -1,5 +1,5 @@ -use crate::config::JoshutoKeyMapping; -use crate::context::JoshutoContext; +use crate::config::AppKeyMapping; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::ui::TuiBackend; @@ -8,7 +8,7 @@ use super::KeyCommand; #[derive(Debug)] pub enum CommandKeybind { SimpleKeybind(KeyCommand), - CompositeKeybind(JoshutoKeyMapping), + CompositeKeybind(AppKeyMapping), } impl std::fmt::Display for CommandKeybind { @@ -21,7 +21,7 @@ impl std::fmt::Display for CommandKeybind { } pub trait JoshutoRunnable { - fn execute(&self, context: &mut JoshutoContext, backend: &mut TuiBackend) -> JoshutoResult<()>; + fn execute(&self, context: &mut AppContext, backend: &mut TuiBackend) -> JoshutoResult<()>; } pub trait JoshutoCommand: JoshutoRunnable + std::fmt::Display + std::fmt::Debug {} diff --git a/src/commands/command_line.rs b/src/commands/command_line.rs index aa86c6d..aa373cc 100644 --- a/src/commands/command_line.rs +++ b/src/commands/command_line.rs @@ -1,5 +1,5 @@ use crate::commands::KeyCommand; -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::ui::views::TuiTextField; use crate::ui::TuiBackend; @@ -7,7 +7,7 @@ use crate::ui::TuiBackend; use super::JoshutoRunnable; pub fn readline( - context: &mut JoshutoContext, + context: &mut AppContext, backend: &mut TuiBackend, prefix: &str, suffix: &str, diff --git a/src/commands/commands.rs b/src/commands/commands.rs index 03036af..6e005ad 100644 --- a/src/commands/commands.rs +++ b/src/commands/commands.rs @@ -1,6 +1,6 @@ use std::path; -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::{JoshutoError, JoshutoErrorKind, JoshutoResult}; use crate::io::IoWorkerOptions; use crate::ui::TuiBackend; @@ -328,7 +328,7 @@ impl KeyCommand { } impl JoshutoRunnable for KeyCommand { - fn execute(&self, context: &mut JoshutoContext, backend: &mut TuiBackend) -> JoshutoResult<()> { + fn execute(&self, context: &mut AppContext, backend: &mut TuiBackend) -> JoshutoResult<()> { match &*self { Self::BulkRename => bulk_rename::bulk_rename(context, backend), Self::ChangeDirectory(p) => { diff --git a/src/commands/cursor_move.rs b/src/commands/cursor_move.rs index ef0401e..4e81473 100644 --- a/src/commands/cursor_move.rs +++ b/src/commands/cursor_move.rs @@ -1,10 +1,10 @@ -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::history::DirectoryHistory; use crate::ui::TuiBackend; use std::path::PathBuf; -pub fn cursor_move(new_index: usize, context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn cursor_move(new_index: usize, context: &mut AppContext) -> JoshutoResult<()> { let mut path: Option<PathBuf> = None; let mut new_index = new_index; @@ -35,7 +35,7 @@ pub fn cursor_move(new_index: usize, context: &mut JoshutoContext) -> JoshutoRes Ok(()) } -pub fn up(context: &mut JoshutoContext, u: usize) -> JoshutoResult<()> { +pub fn up(context: &mut AppContext, u: usize) -> JoshutoResult<()> { let movement = match context.tab_context_ref().curr_tab_ref().curr_list_ref() { Some(curr_list) => curr_list.index.map(|idx| if idx > u { idx - u } else { 0 }), None => None, @@ -47,7 +47,7 @@ pub fn up(context: &mut JoshutoContext, u: usize) -> JoshutoResult<()> { Ok(()) } -pub fn down(context: &mut JoshutoContext, u: usize) -> JoshutoResult<()> { +pub fn down(context: &mut AppContext, u: usize) -> JoshutoResult<()> { let movement = match context.tab_context_ref().curr_tab_ref().curr_list_ref() { Some(curr_list) => curr_list.index.map(|idx| idx + u), None => None, @@ -58,7 +58,7 @@ pub fn down(context: &mut JoshutoContext, u: usize) -> JoshutoResult<()> { Ok(()) } -pub fn home(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn home(context: &mut AppContext) -> JoshutoResult<()> { let movement: Option<usize> = match context.tab_context_ref().curr_tab_ref().curr_list_ref() { Some(curr_list) => { let len = curr_list.len(); @@ -77,7 +77,7 @@ pub fn home(context: &mut JoshutoContext) -> JoshutoResult<()> { Ok(()) } -pub fn end(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn end(context: &mut AppContext) -> JoshutoResult<()> { let movement: Option<usize> = match context.tab_context_ref().curr_tab_ref().curr_list_ref() { Some(curr_list) => { let len = curr_list.len(); @@ -96,7 +96,7 @@ pub fn end(context: &mut JoshutoContext) -> JoshutoResult<()> { Ok(()) } -pub fn page_up(context: &mut JoshutoContext, backend: &mut TuiBackend) -> JoshutoResult<()> { +pub fn page_up(context: &mut AppContext, backend: &mut TuiBackend) -> JoshutoResult<()> { let half_page = { match backend.terminal.as_ref().unwrap().size() { Ok(rect) => rect.height as usize - 2, @@ -117,7 +117,7 @@ pub fn page_up(context: &mut JoshutoContext, backend: &mut TuiBackend) -> Joshut Ok(()) } -pub fn page_down(context: &mut JoshutoContext, backend: &mut TuiBackend) -> JoshutoResult<()> { +pub fn page_down(context: &mut AppContext, backend: &mut TuiBackend) -> JoshutoResult<()> { let half_page = { match backend.terminal.as_ref().unwrap().size() { Ok(rect) => rect.height as usize - 2, diff --git a/src/commands/delete_files.rs b/src/commands/delete_files.rs index 7a20886..94e9d63 100644 --- a/src/commands/delete_files.rs +++ b/src/commands/delete_files.rs @@ -3,7 +3,7 @@ use std::path; use termion::event::Key; -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::history::DirectoryHistory; use crate::ui::widgets::TuiPrompt; use crate::ui::TuiBackend; @@ -56,7 +56,7 @@ where Ok(()) } -fn delete_files(context: &mut JoshutoContext, backend: &mut TuiBackend) -> std::io::Result<()> { +fn delete_files(context: &mut AppContext, backend: &mut TuiBackend) -> std::io::Result<()> { let tab_index = context.tab_context_ref().get_index(); let paths = match context.tab_context_ref().curr_tab_ref().curr_list_ref() { Some(s) => s.get_selected_paths(), @@ -106,7 +106,7 @@ fn delete_files(context: &mut JoshutoContext, backend: &mut TuiBackend) -> std:: } pub fn delete_selected_files( - context: &mut JoshutoContext, + context: &mut AppContext, backend: &mut TuiBackend, ) -> std::io::Result<()> { delete_files(context, backend)?; diff --git a/src/commands/file_ops.rs b/src/commands/file_ops.rs index 92bb174..0d15215 100644 --- a/src/commands/file_ops.rs +++ b/src/commands/file_ops.rs @@ -1,12 +1,12 @@ use std::process::Command; -use crate::context::{JoshutoContext, LocalStateContext}; +use crate::context::{AppContext, LocalStateContext}; use crate::error::{JoshutoError, JoshutoErrorKind, JoshutoResult}; use crate::io::FileOp; use crate::io::{IoWorkerOptions, IoWorkerThread}; -pub fn cut(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn cut(context: &mut AppContext) -> JoshutoResult<()> { if let Some(list) = context.tab_context_ref().curr_tab_ref().curr_list_ref() { let selected = list.get_selected_paths(); @@ -19,7 +19,7 @@ pub fn cut(context: &mut JoshutoContext) -> JoshutoResult<()> { Ok(()) } -pub fn copy(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn copy(context: &mut AppContext) -> JoshutoResult<()> { if let Some(list) = context.tab_context_ref().curr_tab_ref().curr_list_ref() { let selected = list.get_selected_paths(); @@ -32,7 +32,7 @@ pub fn copy(context: &mut JoshutoContext) -> JoshutoResult<()> { Ok(()) } -pub fn paste(context: &mut JoshutoContext, options: IoWorkerOptions) -> JoshutoResult<()> { +pub fn paste(context: &mut AppContext, options: IoWorkerOptions) -> JoshutoResult<()> { match context.take_local_state() { Some(state) if !state.paths.is_empty() => { let dest = context.tab_context_ref().curr_tab_ref().pwd().to_path_buf(); @@ -47,7 +47,7 @@ pub fn paste(context: &mut JoshutoContext, options: IoWorkerOptions) -> JoshutoR } } -pub fn copy_filename(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn copy_filename(context: &mut AppContext) -> JoshutoResult<()> { let entry_file_name = match context .tab_context_ref() .curr_tab_ref() diff --git a/src/commands/new_directory.rs b/src/commands/new_directory.rs index fcd44ac..52bf9a6 100644 --- a/src/commands/new_directory.rs +++ b/src/commands/new_directory.rs @@ -1,11 +1,11 @@ use std::path; -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::history::DirectoryHistory; use crate::util::load_child::LoadChild; -pub fn new_directory(context: &mut JoshutoContext, p: &path::Path) -> JoshutoResult<()> { +pub fn new_directory(context: &mut AppContext, p: &path::Path) -> JoshutoResult<()> { std::fs::create_dir_all(p)?; let options = context.display_options_ref().clone(); let curr_path = context.tab_context_ref().curr_tab_ref().pwd().to_path_buf(); diff --git a/src/commands/open_file.rs b/src/commands/open_file.rs index c815069..ec8e968 100644 --- a/src/commands/open_file.rs +++ b/src/commands/open_file.rs @@ -1,7 +1,7 @@ use std::path; -use crate::config::mimetype::JoshutoMimetypeEntry; -use crate::context::JoshutoContext; +use crate::config::AppMimetypeEntry; +use crate::context::AppContext; use crate::error::{JoshutoError, JoshutoErrorKind, JoshutoResult}; use crate::ui::views::TuiTextField; use crate::ui::TuiBackend; @@ -11,8 +11,8 @@ use super::change_directory; use crate::MIMETYPE_T; -pub fn get_options<'a>(path: &path::Path) -> Vec<&'a JoshutoMimetypeEntry> { - let mut options: Vec<&JoshutoMimetypeEntry> = Vec::new(); +pub fn get_options<'a>(path: &path::Path) -> Vec<&'a AppMimetypeEntry> { + let mut options: Vec<&AppMimetypeEntry> = Vec::new(); if let Some(file_ext) = path.extension() { if let Some(file_ext) = file_ext.to_str() { let ext_entries = MIMETYPE_T.get_entries_for_ext(file_ext); @@ -22,7 +22,7 @@ pub fn get_options<'a>(path: &path::Path) -> Vec<&'a JoshutoMimetypeEntry> { options } -pub fn open(context: &mut JoshutoContext, backend: &mut TuiBackend) -> JoshutoResult<()> { +pub fn open(context: &mut AppContext, backend: &mut TuiBackend) -> JoshutoResult<()> { if let Some(entry) = context .tab_context_ref() .curr_tab_ref() @@ -66,9 +66,9 @@ pub fn open(context: &mut JoshutoContext, backend: &mut TuiBackend) -> JoshutoRe } pub fn open_with_helper<S>( - context: &mut JoshutoContext, + context: &mut AppContext, backend: &mut TuiBackend, - options: Vec<&JoshutoMimetypeEntry>, + options: Vec<&AppMimetypeEntry>, files: Vec<S>, ) -> std::io::Result<()> where @@ -116,7 +116,7 @@ where match args_iter.next() { Some(cmd) => { backend.terminal_drop(); - let res = JoshutoMimetypeEntry::new(String::from(cmd)) + let res = AppMimetypeEntry::new(String::from(cmd)) .args(args_iter) .execute_with(files.as_slice()); backend.terminal_restore()?; @@ -131,7 +131,7 @@ where } } -pub fn open_with(context: &mut JoshutoContext, backend: &mut TuiBackend) -> JoshutoResult<()> { +pub fn open_with(context: &mut AppContext, backend: &mut TuiBackend) -> JoshutoResult<()> { let paths: Vec<path::PathBuf> = match context.tab_context_ref().curr_tab_ref().curr_list_ref() { Some(a) => a.get_selected_paths(), None => vec![], diff --git a/src/commands/parent_cursor_move.rs b/src/commands/parent_cursor_move.rs index afc65d9..6e77bd8 100644 --- a/src/commands/parent_cursor_move.rs +++ b/src/commands/parent_cursor_move.rs @@ -1,9 +1,9 @@ -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::history::DirectoryHistory; use std::path::PathBuf; -pub fn parent_cursor_move(new_index: usize, context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn parent_cursor_move(new_index: usize, context: &mut AppContext) -> JoshutoResult<()> { let mut path: Option<PathBuf> = None; let mut new_index = new_index; @@ -41,7 +41,7 @@ pub fn parent_cursor_move(new_index: usize, context: &mut JoshutoContext) -> Jos Ok(()) } -pub fn parent_up(context: &mut JoshutoContext, u: usize) -> JoshutoResult<()> { +pub fn parent_up(context: &mut AppContext, u: usize) -> JoshutoResult<()> { let movement = match context.tab_context_ref().curr_tab_ref().parent_list_ref() { Some(list) => list.index.map(|idx| if idx > u { idx - u } else { 0 }), None => None, @@ -53,7 +53,7 @@ pub fn parent_up(context: &mut JoshutoContext, u: usize) -> JoshutoResult<()> { Ok(()) } -pub fn parent_down(context: &mut JoshutoContext, u: usize) -> JoshutoResult<()> { +pub fn parent_down(context: &mut AppContext, u: usize) -> JoshutoResult<()> { let movement = match context.tab_context_ref().curr_tab_ref().parent_list_ref() { Some(list) => list.index.map(|idx| idx + u), None => None, diff --git a/src/commands/parent_directory.rs b/src/commands/parent_directory.rs index 43a24ff..6f56796 100644 --- a/src/commands/parent_directory.rs +++ b/src/commands/parent_directory.rs @@ -1,10 +1,10 @@ -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::util::load_child::LoadChild; use super::reload; -pub fn parent_directory_helper(context: &mut JoshutoContext) -> std::io::Result<()> { +pub fn parent_directory_helper(context: &mut AppContext) -> std::io::Result<()> { if context.tab_context_mut().curr_tab_mut().pwd_mut().pop() { let path = context.tab_context_ref().curr_tab_ref().pwd(); std::env::set_current_dir(path)?; @@ -12,7 +12,7 @@ pub fn parent_directory_helper(context: &mut JoshutoContext) -> std::io::Result< Ok(()) } -pub fn parent_directory(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn parent_directory(context: &mut AppContext) -> JoshutoResult<()> { parent_directory_helper(context)?; reload::soft_reload(context.tab_context_ref().get_index(), context)?; LoadChild::load_child(context)?; diff --git a/src/commands/quit.rs b/src/commands/quit.rs index 3ed1d76..167eb58 100644 --- a/src/commands/quit.rs +++ b/src/commands/quit.rs @@ -1,7 +1,7 @@ -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::{JoshutoError, JoshutoErrorKind, JoshutoResult}; -pub fn quit(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn quit(context: &mut AppContext) -> JoshutoResult<()> { if context.worker_is_busy() { Err(JoshutoError::new( JoshutoErrorKind::IoOther, @@ -13,7 +13,7 @@ pub fn quit(context: &mut JoshutoContext) -> JoshutoResult<()> { } } -pub fn force_quit(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn force_quit(context: &mut AppContext) -> JoshutoResult<()> { context.exit = true; Ok(()) } diff --git a/src/commands/reload.rs b/src/commands/reload.rs index 84e94d8..7074191 100644 --- a/src/commands/reload.rs +++ b/src/commands/reload.rs @@ -1,8 +1,8 @@ -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::util::load_child::LoadChild; -pub fn soft_reload(index: usize, context: &mut JoshutoContext) -> std::io::Result<()> { +pub fn soft_reload(index: usize, context: &mut AppContext) -> std::io::Result<()> { let options = context.display_options_ref().clone(); if let Some(curr_tab) = context.tab_context_mut().tab_mut(index) { if let Some(curr_list) = curr_tab.curr_list_mut() { @@ -24,7 +24,7 @@ pub fn soft_reload(index: usize, context: &mut JoshutoContext) -> std::io::Resul Ok(()) } -pub fn reload(context: &mut JoshutoContext, index: usize) -> std::io::Result<()> { +pub fn reload(context: &mut AppContext, index: usize) -> std::io::Result<()> { let options = context.display_options_ref().clone(); if let Some(curr_tab) = context.tab_context_mut().tab_mut(index) { if let Some(curr_list) = curr_tab.curr_list_mut() { @@ -40,7 +40,7 @@ pub fn reload(context: &mut JoshutoContext, index: usize) -> std::io::Result<()> Ok(()) } -pub fn reload_dirlist(context: &mut JoshutoContext) -> JoshutoResult<()> { +pub fn reload_dirlist(context: &mut AppContext) -> JoshutoResult<()> { reload(context, context.tab_context_ref().get_index())?; LoadChild::load_child(context)?; Ok(()) diff --git a/src/commands/rename_file.rs b/src/commands/rename_file.rs index b67afef..9f625c4 100644 --- a/src/commands/rename_file.rs +++ b/src/commands/rename_file.rs @@ -1,6 +1,6 @@ use std::path; -use crate::context::JoshutoContext; +use crate::context::AppContext; use crate::error::JoshutoResult; use crate::ui::TuiBackend; use crate::util::load_child::LoadChild; @@ -8,7 +8,7 @@ use crate::util::load_child::LoadChild; use super::command_line; pub fn _rename_file( - context: &mut JoshutoContext, + context: &mut AppContext, src: &path::Path, dest: &path::Path, ) -> std::io::Result<()> { @@ -25,7 +25,7 @@ pub fn _rename_file( Ok(()) } -pub fn rename_file(context: &mut JoshutoContext, dest: &path::Path) -> JoshutoResult<()> { +pub fn rename_file(context: &mut AppContext, dest: &path::Path) -> JoshutoResult<()> { let mut path: Option<path::PathBuf> = None; if let Some(s) = context @@ -45,7 +45,7 @@ pub fn rename_file(context: &mut JoshutoContext, dest: &path::Path) -> JoshutoRe } pub fn _rename_file_append( - context: &mut JoshutoContext, + context: &mut AppContext, backend: &mut TuiBackend, file_name: &str, ) -> JoshutoResult<()> { @@ -61,10 +61,7 @@ pub fn _rename_file_append( command_line::readline(context, backend, &prefix, &suffix) } -pub fn rename_file_append( - context: &mut JoshutoContext, - backend: &mut TuiBackend, -) -> JoshutoResult<()> { +pub fn rename_file_append(context: &mut AppContext, backend: &mut TuiBackend) -> JoshutoResult<()> { let mut file_name: Option<String> = None; if let Some(curr_list) = context.tab_context_ref().curr_tab_ref().curr_list_ref() { @@ -80,7 +77,7 @@ pub fn rename_file_append( } pub fn _rename_file_prepend( - context: &mut JoshutoContext, + context: &mut AppContext, backend: &mut TuiBackend, file_name: String, ) -> JoshutoResult<()> { @@ -90,7 +87,7 @@ pub fn _rename_file_prepend( } pub fn rename_file_prepend( - context: &mut JoshutoContext, + context: &mut AppContext, backend: &mut TuiBackend, ) -> JoshutoResult<()> { let mut file_name: Option<String> = None; diff --git a/src/commands/search.rs b/src/commands/search.rs index ba18779..ed0d6ca 100644 --- a/src/commands/search.rs +++ b/src/commands/search.rs @@ -1,6 +1 |