diff options
author | rabite <rabite@posteo.de> | 2019-02-26 01:28:56 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-02-26 01:28:56 +0100 |
commit | 16018ff604dac94def84dcd8db396853506e3d74 (patch) | |
tree | 7d52f04f7606dec01210e15276ee96ae9a01cd7e /src/listview.rs | |
parent | a1230fed0d0a4092c5414206604505ba4ca560c4 (diff) |
expand $<num> to tab dir in exec command
Diffstat (limited to 'src/listview.rs')
-rw-r--r-- | src/listview.rs | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/listview.rs b/src/listview.rs index 3633dfe..271631a 100644 --- a/src/listview.rs +++ b/src/listview.rs @@ -53,7 +53,6 @@ impl Listable for ListView<Files> { Key::Char('K') => self.select_next_mtime(), Key::Char('k') => self.select_prev_mtime(), Key::Char('d') => self.toggle_dirs_first(), - Key::Char('!') => self.exec_cmd(), _ => self.bad(Event::Key(key)) } } @@ -339,50 +338,6 @@ impl ListView<Files> self.refresh(); } - fn exec_cmd(&mut self) { - let selected_files = self.content.get_selected(); - let file_names - = selected_files.iter().map(|f| f.name.clone()).collect::<Vec<String>>(); - - let cmd = self.minibuffer("exec:"); - - match cmd { - Ok(cmd) => { - self.show_status(&format!("Running: \"{}\"", &cmd)); - - let filename = self.selected_file().name.clone(); - - let cmd = if file_names.len() == 0 { - cmd.replace("$s", &format!("{}", &filename)) - } else { - let args = file_names.iter().map(|f| { - format!(" \"{}\" ", f) - }).collect::<String>(); - let clean_cmd = cmd.replace("$s", ""); - - clean_cmd + &args - }; - - let status = std::process::Command::new("sh") - .arg("-c") - .arg(&cmd) - .status(); - let mut bufout = std::io::BufWriter::new(std::io::stdout()); - write!(bufout, "{}{}", - termion::style::Reset, - termion::clear::All).unwrap(); - - match status { - Ok(status) => self.show_status(&format!("\"{}\" exited with {}", - cmd, status)), - Err(err) => self.show_status(&format!("Can't run this \"{}\": {}", - cmd, err)), - } - } - Err(_) => self.show_status(""), - } - } - fn find_file(&mut self) -> HResult<()> { let name = self.minibuffer("find")?; let file = self.content.files.iter().find(|file| { |