From ddd620a0218fab9d9b3ce641a8094b83c9f550af Mon Sep 17 00:00:00 2001 From: Andrei Stoica Date: Mon, 1 Apr 2024 13:25:04 -0400 Subject: [PATCH] code cleanup mostly dead code removal some formating --- src/todo/file.rs | 53 ----------------------------------------------- src/todo/tasks.rs | 4 +++- 2 files changed, 3 insertions(+), 54 deletions(-) diff --git a/src/todo/file.rs b/src/todo/file.rs index 7fba99f..cbda0a9 100644 --- a/src/todo/file.rs +++ b/src/todo/file.rs @@ -1,10 +1,7 @@ use chrono::naive::NaiveDate; -use regex::Regex; use std::cmp::min; use std::convert::TryFrom; -use std::fs::DirEntry; use std::path::PathBuf; -use std::str::FromStr; use crate::file::FileNameParseError; @@ -14,56 +11,6 @@ pub struct File { pub date: NaiveDate, } -pub enum FileError { - //IOError(&'static str), - ParseError(&'static str), -} - -impl File { - fn capture_as_number(capture: ®ex::Captures, name: &str) -> Result { - Ok(capture - .name(name) - .unwrap() - .as_str() - .parse::() - .ok() - .ok_or("Something went wrong".to_owned())?) - } - - fn get_file_regex() -> Regex { - //TODO This would ideally be configurable - Regex::new(r"(?P\d{4})-(?P\d{2})-(?P\d{2}).md") - .expect("could not create regex") - } -} - -impl TryFrom for File { - type Error = FileError; - - fn try_from(direntry: DirEntry) -> Result { - let re = File::get_file_regex(); - // println!("{:?}", re); - let file_name = direntry.file_name(); - let file_name_str = match file_name.to_str() { - Some(name) => name, - _ => "", - }; - // println!("{:?}", file_name_str); - - if let Some(caps) = re.captures(file_name_str) { - let year: i32 = Self::capture_as_number(&caps, "year").unwrap(); - let month: u32 = Self::capture_as_number(&caps, "month").unwrap(); - let day: u32 = Self::capture_as_number(&caps, "day").unwrap(); - - return Ok(Self { - file: direntry.path(), - date: NaiveDate::from_ymd_opt(year, month, day).unwrap(), - }); - }; - Err(FileError::ParseError("Could not parse file name")) - } -} - fn try_get_date(file: &PathBuf) -> Result { let file_name = file .file_name() diff --git a/src/todo/tasks.rs b/src/todo/tasks.rs index d5d6308..bc67fde 100644 --- a/src/todo/tasks.rs +++ b/src/todo/tasks.rs @@ -81,7 +81,7 @@ impl ToString for Task { .map(|task| task.to_string()) .collect::>() .join("\n"); - format!("\n{}", text).trim_end().replace("\n", "\n ") + format!("\n{}", text).trim_end().replace("\n", "\n ") } else { "".into() }; @@ -92,6 +92,7 @@ impl ToString for Task { impl<'a> TryFrom<&'a AstNode<'a>> for Task { type Error = TaskError; + fn try_from(node: &'a AstNode<'a>) -> Result { let data_ref = &node.data.borrow(); if let NodeValue::TaskItem(ch) = data_ref.value { @@ -158,6 +159,7 @@ impl ToString for TaskGroup { impl<'a> TryFrom<&'a AstNode<'a>> for TaskGroup { type Error = TaskError; + fn try_from(node: &'a AstNode<'a>) -> Result { let node_ref = &node.data.borrow(); if let NodeValue::Heading(heading) = node_ref.value {