thoth-cli 0.1.87

A terminal scratchpad akin to Heynote
Documentation
use anyhow::Result;
use pulldown_cmark::{Options, Parser};
use pulldown_cmark_to_cmark::cmark;
use serde_json::Value;

pub fn format_markdown(input: &str) -> Result<String> {
    let mut options = Options::empty();
    options.insert(Options::ENABLE_TABLES);
    options.insert(Options::ENABLE_FOOTNOTES);
    options.insert(Options::ENABLE_STRIKETHROUGH);
    options.insert(Options::ENABLE_TASKLISTS);

    let parser = Parser::new_ext(input, options);
    let mut output = String::new();
    cmark(parser, &mut output)?;
    Ok(output)
}

pub fn format_json(input: &str) -> Result<String> {
    let parsed: Value = serde_json::from_str(input)?;
    Ok(serde_json::to_string_pretty(&parsed)?)
}