summaryrefslogtreecommitdiffstats
path: root/src/browser_states.rs
diff options
context:
space:
mode:
authorCanop <cano.petrole@gmail.com>2020-03-24 17:38:10 +0100
committerCanop <cano.petrole@gmail.com>2020-03-24 17:38:10 +0100
commit3bfb9f545206fa66b72c419d9307d78fe4b56673 (patch)
treedeaac03a394aaddf128a0a0f839e42455764928b /src/browser_states.rs
parentb8bc0b531098ee524d2900c7e5214da30bf6c78b (diff)
right key open directory, left key gets back (when input is empty)
Fix #179
Diffstat (limited to 'src/browser_states.rs')
-rw-r--r--src/browser_states.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/browser_states.rs b/src/browser_states.rs
index 1181ee3..3dd0af3 100644
--- a/src/browser_states.rs
+++ b/src/browser_states.rs
@@ -166,6 +166,24 @@ impl BrowserState {
}
}
+ pub fn go_to_parent(
+ &mut self,
+ screen: &mut Screen,
+ ) -> AppStateCmdResult {
+ match &self.displayed_tree().selected_line().path.parent() {
+ Some(path) => AppStateCmdResult::from_optional_state(
+ BrowserState::new(
+ path.to_path_buf(),
+ self.displayed_tree().options.without_pattern(),
+ screen,
+ &Dam::unlimited(),
+ ),
+ Command::new(),
+ ),
+ None => AppStateCmdResult::DisplayError("no parent found".to_string()),
+ }
+ }
+
fn normal_status_message(&self, has_pattern: bool) -> Composite<'static> {
let tree = self.displayed_tree();
if tree.selection == 0 {