do some work on jrnl
This commit is contained in:
parent
d78a0b1c09
commit
bd60655fcc
5 changed files with 28 additions and 342 deletions
|
@ -6,13 +6,7 @@ edition = "2021"
|
|||
[dependencies]
|
||||
chrono = "0.4.38"
|
||||
clap = { version = "4.5.4", features = ["derive", "env"] }
|
||||
dirs = "5.0.1"
|
||||
ego-tree = "0.6.2"
|
||||
indexmap = "2.2.6"
|
||||
markdown = "0.3.0"
|
||||
owo-colors = "4.0.0"
|
||||
petgraph = "0.6.4"
|
||||
ratatui = "0.26.2"
|
||||
temp-file = "0.1.8"
|
||||
termsize = "0.1.9"
|
||||
inquire = "0.7.5"
|
||||
|
|
|
@ -2,7 +2,7 @@ use std::{
|
|||
env,
|
||||
fs::{self, OpenOptions},
|
||||
io::{self, Write},
|
||||
path::PathBuf,
|
||||
path::{Path, PathBuf},
|
||||
process::Command,
|
||||
};
|
||||
|
||||
|
@ -12,7 +12,7 @@ use temp_file::{TempFile, TempFileBuilder};
|
|||
use crate::md::{Entry, ToMd};
|
||||
|
||||
// TODO: the usual (better error handling)
|
||||
pub fn add_entry(path: PathBuf, title: Option<String>) -> io::Result<()> {
|
||||
pub fn add_entry(path: &Path, title: Option<String>) -> io::Result<()> {
|
||||
if !path.exists() {
|
||||
eprintln!("Journal file does not exist at {path:?}, exiting...");
|
||||
std::process::exit(1);
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
use owo_colors::OwoColorize;
|
||||
use std::{fs, io, path::PathBuf};
|
||||
use std::{
|
||||
fs, io,
|
||||
path::{Path, PathBuf},
|
||||
};
|
||||
|
||||
use crate::md::Doc;
|
||||
|
||||
pub fn list_entries(path: PathBuf) -> io::Result<()> {
|
||||
pub fn list_entries(path: &Path) -> io::Result<()> {
|
||||
let file = fs::read_to_string(path)?;
|
||||
|
||||
if let Some(doc) = Doc::new(&file) {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
use clap::{Parser, Subcommand};
|
||||
use std::{fs, io, path::PathBuf};
|
||||
use std::{
|
||||
fs, io,
|
||||
path::{self, Path, PathBuf},
|
||||
};
|
||||
|
||||
use crate::{
|
||||
commands::add_entry::add_entry,
|
||||
|
@ -31,13 +34,14 @@ fn main() -> io::Result<()> {
|
|||
let cli = Cli::parse();
|
||||
println!("Hello, world!");
|
||||
println!("cli: {cli:#?}");
|
||||
let path = dbg!(path::absolute(&cli.s10e_jrnl_file_loc)?);
|
||||
|
||||
match cli.command {
|
||||
Some(Command::ListEntries) => list_entries(cli.s10e_jrnl_file_loc.clone()),
|
||||
Some(Command::Add { title }) => add_entry(cli.s10e_jrnl_file_loc.clone(), title),
|
||||
Some(Command::ListEntries) => list_entries(&path),
|
||||
Some(Command::Add { title }) => add_entry(&path, title),
|
||||
None => {
|
||||
// TODO: handle btter
|
||||
let file = fs::read_to_string(cli.s10e_jrnl_file_loc)?;
|
||||
let file = fs::read_to_string(path)?;
|
||||
|
||||
let doc = Doc::new(&file).unwrap();
|
||||
println!("{}", doc.to_md());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue