wip
Some checks failed
Test / test (release) (push) Failing after 10m14s

This commit is contained in:
2026-04-14 22:05:31 -04:00
parent 181be6c4e3
commit 372bc6b59c
3 changed files with 21 additions and 19 deletions

View File

@@ -8,7 +8,7 @@ edition = "2021"
[dependencies]
chrono = "0.4.26"
clap = { version = "4.5.1", features = ["derive"] }
comrak = "0.24.1"
comrak = "~0.52.0"
figment = { version = "0.10.10", features = ["env", "serde_json", "json"] }
regex = "1.8.4"
serde = { version = "1.0.164", features = ["serde_derive"] }

View File

@@ -3,9 +3,8 @@ use crate::NaiveDate;
use crate::TaskGroup;
use chrono::Datelike;
use comrak::nodes::{Ast, AstNode, LineColumn, NodeHeading, NodeValue};
use comrak::{
format_commonmark, parse_document, Arena, ComrakOptions, ExtensionOptions, ParseOptions,
};
use comrak::options::{Extension, Parse};
use comrak::{parse_document, Arena, Options};
use indexmap::IndexMap;
use regex::Regex;
use std::collections::HashMap;
@@ -65,16 +64,16 @@ pub fn load_file(file: &TodoFile) -> String {
/// Parse contents of markdown file with Comrak ( relaxed tasklist matching is enabled)
pub fn parse_todo_file<'a>(contents: &String, arena: &'a Arena<AstNode<'a>>) -> &'a AstNode<'a> {
let mut extension_options = ExtensionOptions::default();
let mut extension_options = Extension::default();
extension_options.tasklist = true;
let mut parse_options = ParseOptions::default();
let mut parse_options = Parse::default();
parse_options.relaxed_tasklist_matching = true;
let options = &ComrakOptions {
let options = &Options {
extension: extension_options,
parse: parse_options,
..ComrakOptions::default()
..Options::default()
};
parse_document(arena, contents, options)
}
@@ -290,7 +289,9 @@ pub fn process_doc_tree<'a>(root: &'a AstNode<'a>, new_date: &str, sections: &Ve
#[cfg(test)]
mod test {
use super::*;
use crate::todo::{Status, Task};
use crate::todo::Status;
use crate::todo::Task;
use comrak::format_commonmark;
use std::io::BufWriter;
#[test]
@@ -487,16 +488,16 @@ mod test {
"Last".to_string(),
];
let arena = Arena::new();
let mut extension_options = ExtensionOptions::default();
let mut extension_options = Extension::default();
extension_options.tasklist = true;
let mut parse_options = ParseOptions::default();
let mut parse_options = Parse::default();
parse_options.relaxed_tasklist_matching = true;
let options = &ComrakOptions {
let options = &Options {
extension: extension_options,
parse: parse_options,
..ComrakOptions::default()
..Options::default()
};
let ast = parse_document(&arena, md, options);

View File

@@ -8,7 +8,8 @@ use chrono::naive::NaiveDate;
use chrono::{Datelike, Local, TimeDelta};
use clap::Parser;
use cli::Args;
use comrak::{format_commonmark, Arena, ComrakOptions, ExtensionOptions, ParseOptions};
use comrak::options::{Extension, Parse};
use comrak::{format_commonmark, Arena, Options};
use config::Config;
use log;
use logging::get_logging_level;
@@ -20,7 +21,7 @@ use std::path::Path;
use std::process::Command;
use todo::{File as TodoFile, TaskGroup};
use crate::file::{create_new_doc, extract_sections, process_doc_tree};
use crate::file::{extract_sections, process_doc_tree};
fn main() {
// setup
@@ -124,16 +125,16 @@ fn main() {
let current_file = match latest_file {
// copy old file if the user specifies today's notes but it does not exist
Some(todo_file) if todo_file.date < today && args.previous == 0 => {
let mut extension_options = ExtensionOptions::default();
let mut extension_options = Extension::default();
extension_options.tasklist = true;
let mut parse_options = ParseOptions::default();
let mut parse_options = Parse::default();
parse_options.relaxed_tasklist_matching = true;
let options = &ComrakOptions {
let options = &Options {
extension: extension_options,
parse: parse_options,
..ComrakOptions::default()
..Options::default()
};
let sections = &cfg.sections;
log::info!("looking for sections: {:?}", sections);