From da20212f32c8b43400d0aec2af39376651f32b9d Mon Sep 17 00:00:00 2001 From: Jiayi Zhao Date: Sat, 1 Jun 2019 12:09:03 -0400 Subject: fix issue with refreshing after paste --- src/run.rs | 25 +++++++++++++++---------- src/textfield.rs | 7 ++++--- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/run.rs b/src/run.rs index 299c96c..f756346 100644 --- a/src/run.rs +++ b/src/run.rs @@ -47,6 +47,19 @@ fn recurse_get_keycommand(keymap: &JoshutoCommandMapping) -> Option<&Box Result<(), std::io::Error> { + ReloadDirList::reload(index, context, view)?; + if index == context.curr_tab_index { + let dirty_tab = &mut context.tabs[index]; + dirty_tab.refresh(view, &context.config_t); + } + Ok(()) +} + fn join_thread( context: &mut JoshutoContext, thread: FileOperationThread, @@ -63,18 +76,10 @@ fn join_thread( } Ok(_) => { if tab_src < context.tabs.len() { - ReloadDirList::reload(tab_src, context, view)?; - if tab_src == context.curr_tab_index { - let dirty_tab = &mut context.tabs[tab_src]; - dirty_tab.refresh(view, &context.config_t); - } + reload_tab(tab_src, context, view)?; } if tab_dest != tab_src && tab_dest < context.tabs.len() { - ReloadDirList::reload(tab_dest, context, view)?; - if tab_src == context.curr_tab_index { - let dirty_tab = &mut context.tabs[tab_dest]; - dirty_tab.refresh(view, &context.config_t); - } + reload_tab(tab_dest, context, view)?; } } } diff --git a/src/textfield.rs b/src/textfield.rs index 55b3a92..ba20176 100644 --- a/src/textfield.rs +++ b/src/textfield.rs @@ -114,9 +114,10 @@ impl<'a> JoshutoTextField<'a> { completion_tracker.take(); } } else if ch == ncurses::KEY_BACKSPACE - || ch == 127 - || ch == 9 - || ch == KEYMAP_T.backspace { + || ch == 127 + || ch == 9 + || ch == KEYMAP_T.backspace + { if line_buffer.backspace(1) { let pos = line_buffer.pos(); curr_pos = unicode_width::UnicodeWidthStr::width(&line_buffer.as_str()[..pos]); -- cgit v1.2.3