From d2ec672eca6d2d5df3da1b2e80573a54cf8c6577 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Sat, 10 Aug 2024 19:59:21 +0200 Subject: load first argument if given --- src/app.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/app.rs b/src/app.rs index 3e21cf7..b166964 100644 --- a/src/app.rs +++ b/src/app.rs @@ -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(), -- cgit v1.2.3-70-g09d2