summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2024-08-10 19:59:21 +0200
committerNathan Reiner <nathan@nathanreiner.xyz>2024-08-10 19:59:52 +0200
commitd2ec672eca6d2d5df3da1b2e80573a54cf8c6577 (patch)
treee43c4f8b25581367187105a50d5bf52ec596c5e0
parent258b28c27a4e6076ad41af4f204824901255929c (diff)
load first argument if given
-rw-r--r--src/app.rs17
1 files 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(),