actually usable multi-selection

This commit is contained in:
rabite 2019-02-26 02:38:32 +01:00
parent 16018ff604
commit d0029949ea
2 changed files with 4 additions and 7 deletions

View File

@ -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() {

View File

@ -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>,