This commit is contained in:
@@ -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"] }
|
||||
|
||||
@@ -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);
|
||||
|
||||
13
src/main.rs
13
src/main.rs
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user