diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/app.rs | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -3,7 +3,7 @@ use std::{io, time::Duration}; use crate::{ config::{self, keymap::GlobalKeyMap}, lua, - sheet::register::Register, + sheet::{loader::Loader, register::Register}, state::{window::Window, GlobalState}, tui, tuicursor::TuiCursor, @@ -28,10 +28,17 @@ pub struct App { impl App { pub fn new() -> Self { - let sheet_id = Register::create(10, 50); - GlobalState::get() - .view - .set_active_sheet(Some(sheet_id)); + let sheet_id = if let Some(path) = std::env::args().nth(1) { + if let Some(sheet_id) = Loader::get().load_sheet(path, lua::get()) { + sheet_id + } else { + Register::create(10, 50) + } + } else { + Register::create(10, 50) + }; + + GlobalState::get().view.set_active_sheet(Some(sheet_id)); Self { view: SheetView::new(), |