diff --git a/src/app.rs b/src/app.rs index de60aca..ef4f858 100644 --- a/src/app.rs +++ b/src/app.rs @@ -16,8 +16,8 @@ pub struct App { } impl App { - pub fn new() -> App { - let con = match Connection::open("ft_rs.db") { + pub fn new(path: &str) -> App { + let con = match Connection::open(path) { Ok(con) => con, Err(e) => { eprintln!("Error opening database: {}", e); diff --git a/src/main.rs b/src/main.rs index 5948839..492ea54 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,15 +15,25 @@ use ratatui::{ }, prelude::Backend, }; -use std::{error::Error, io}; +use std::{ + env::{self}, + error::Error, + io, +}; fn main() -> Result<(), Box> { enable_raw_mode()?; let mut stderr = io::stderr(); execute!(stderr, EnterAlternateScreen, EnableMouseCapture)?; + let mut path: &str = "ft_rs.db"; + let args: Vec = env::args().collect(); + if args.len() > 1 { + path = &args[1]; + } + let mut terminal = ratatui::init(); - let mut app = App::new(); + let mut app = App::new(path); let res = run_app(&mut terminal, &mut app); disable_raw_mode()?;