diff options
author | rabite <rabite@posteo.de> | 2019-02-26 02:38:32 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-02-26 02:38:32 +0100 |
commit | d0029949ea1d137525564ce3eb5dae3f18ea011e (patch) | |
tree | 797e12a211bf52ed250bce70cfe1cf5b3cb07b1c /src | |
parent | 16018ff604dac94def84dcd8db396853506e3d74 (diff) |
actually usable multi-selection
Diffstat (limited to 'src')
-rw-r--r-- | src/file_browser.rs | 9 | ||||
-rw-r--r-- | src/files.rs | 2 |
2 files changed, 4 insertions, 7 deletions
diff --git a/src/file_browser.rs b/src/file_browser.rs index 3095135..cdc38b4 100644 --- a/src/file_browser.rs +++ b/src/file_browser.rs @@ -251,7 +251,8 @@ impl FileBrowser { } fn exec_cmd(&mut self, tab_dirs: Vec<File>) -> HResult<()> { - let widget = self.left_widget()?; + let filename = self.selected_file()?.name.clone(); + let widget = self.main_widget()?; let widget = widget.lock()?; let selected_files = (*widget).as_ref()?.content.get_selected(); @@ -262,17 +263,13 @@ impl FileBrowser { self.show_status(&format!("Running: \"{}\"", &cmd)); - let filename = self.selected_file()?.name.clone(); - let mut 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 + cmd.replace("$s", &args) }; for (i, tab_dir) in tab_dirs.iter().enumerate() { diff --git a/src/files.rs b/src/files.rs index 322f99c..c7896fb 100644 --- a/src/files.rs +++ b/src/files.rs @@ -18,7 +18,7 @@ lazy_static! { static ref COLORS: LsColors = LsColors::from_env().unwrap(); } -#[derive(PartialEq, Clone)] +#[derive(PartialEq, Clone, Debug)] pub struct Files { pub directory: File, pub files: Vec<File>, |