mirror of https://github.com/bobwen-dev/hunter
turbo cd repaired
This commit is contained in:
parent
e99a3d993c
commit
04285257ca
|
@ -795,36 +795,12 @@ impl FileBrowser {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn turbo_cd(&mut self) -> HResult<()> {
|
pub fn turbo_cd(&mut self) -> HResult<()> {
|
||||||
let dir = self.minibuffer("cd");
|
let dir = self.minibuffer("cd")?;
|
||||||
|
|
||||||
match dir {
|
let path = std::path::PathBuf::from(&dir);
|
||||||
Ok(dir) => {
|
let dir = File::new_from_path(&path.canonicalize()?, None)?;
|
||||||
self.columns.widgets.clear();
|
self.main_widget_goto(&dir)?;
|
||||||
let cwd = File::new_from_path(&std::path::PathBuf::from(&dir), None)?;
|
|
||||||
self.cwd = cwd;
|
|
||||||
let dir = std::path::PathBuf::from(&dir);
|
|
||||||
let left_dir = std::path::PathBuf::from(&dir);
|
|
||||||
let mcore = self.main_widget()?.get_core()?.clone();
|
|
||||||
let lcore = self.left_widget()?.get_core()?.clone();;
|
|
||||||
|
|
||||||
let middle = AsyncWidget::new(&self.core, Box::new(move |_| {
|
|
||||||
let files = Files::new_from_path(&dir.clone())?;
|
|
||||||
let listview = ListView::new(&mcore, files);
|
|
||||||
Ok(listview)
|
|
||||||
}));
|
|
||||||
let middle = FileBrowserWidgets::FileList(middle);
|
|
||||||
|
|
||||||
let left = AsyncWidget::new(&self.core, Box::new(move |_| {
|
|
||||||
let files = Files::new_from_path(&left_dir.parent()?)?;
|
|
||||||
let listview = ListView::new(&lcore, files);
|
|
||||||
Ok(listview)
|
|
||||||
}));
|
|
||||||
let left = FileBrowserWidgets::FileList(left);
|
|
||||||
self.columns.push_widget(left);
|
|
||||||
self.columns.push_widget(middle);
|
|
||||||
},
|
|
||||||
Err(_) => {}
|
|
||||||
}
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue