diff options
Diffstat (limited to 'src/commands/escape.rs')
-rw-r--r-- | src/commands/escape.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/commands/escape.rs b/src/commands/escape.rs index 1a507df..26b3da4 100644 --- a/src/commands/escape.rs +++ b/src/commands/escape.rs @@ -1,9 +1,16 @@ use crate::context::AppContext; use crate::error::JoshutoResult; +use super::reload; + pub fn escape(context: &mut AppContext) -> JoshutoResult { if let Some(curr_dir_list) = context.tab_context_mut().curr_tab_mut().curr_list_mut() { - curr_dir_list.visual_mode_cancel(); + if curr_dir_list.get_visual_mode_anchor_index().is_some() { + curr_dir_list.visual_mode_cancel(); + } else { + // reload to clear current filter + reload::reload_dirlist(context)?; + } }; Ok(()) } |