Show file picker when directory passed as first arg

This commit is contained in:
wojciechkepka 2021-06-02 16:20:41 +02:00 committed by Blaž Hrastnik
parent b2b2d430ae
commit 43b92b24d2

View file

@ -45,16 +45,28 @@ impl Application {
let size = compositor.size(); let size = compositor.size();
let mut editor = Editor::new(size); let mut editor = Editor::new(size);
compositor.push(Box::new(ui::EditorView::new()));
if !args.files.is_empty() { if !args.files.is_empty() {
for file in args.files { let first = &args.files[0]; // we know it's not empty
editor.open(file, Action::VerticalSplit)?; if first.is_dir() {
editor.new_file(Action::VerticalSplit);
compositor.push(Box::new(ui::file_picker(first.clone())));
} else {
for file in args.files {
if file.is_dir() {
return Err(anyhow::anyhow!(
"expected a path to file, found a directory. (to open a directory pass it as first argument)"
));
} else {
editor.open(file, Action::VerticalSplit)?;
}
}
} }
} else { } else {
editor.new_file(Action::VerticalSplit); editor.new_file(Action::VerticalSplit);
} }
compositor.push(Box::new(ui::EditorView::new()));
let mut app = Self { let mut app = Self {
compositor, compositor,
editor, editor,