diff options
author | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-08-10 19:59:21 +0200 |
---|---|---|
committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-08-10 19:59:52 +0200 |
commit | d2ec672eca6d2d5df3da1b2e80573a54cf8c6577 (patch) | |
tree | e43c4f8b25581367187105a50d5bf52ec596c5e0 | |
parent | 258b28c27a4e6076ad41af4f204824901255929c (diff) |
load first argument if given
-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(), |