summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSebastian Wiesner <sebastian@swsnr.de>2019-03-30 17:01:43 +0100
committerSebastian Wiesner <sebastian@swsnr.de>2019-03-30 17:01:43 +0100
commitf41dfc6a1c3753f59d2f099b1cdbfe491c380eb3 (patch)
treec9d2467f465647e98ab829a1e9a3b70117f71a03 /src
parent53fb49e2d3a08edd524b581f278f63456ec1bd55 (diff)
Render task lists nicely
Closes GH-72
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs6
-rw-r--r--src/main.rs6
2 files changed, 9 insertions, 3 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 519ccd3..7d26707 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -485,7 +485,11 @@ fn write_event<'io, 'c, 'l, W: Write>(
}
Ok(ctx)
}
- TaskListMarker(_) => panic!("mdcat does not support task lists"),
+ TaskListMarker(checked) => {
+ let marker = if checked { "\u{2611} " } else { "\u{2610} " };
+ ctx.write_highlighted(CowStr::Borrowed(marker))?;
+ Ok(ctx)
+ }
Start(tag) => start_tag(ctx, tag),
End(tag) => end_tag(ctx, tag),
Html(content) => {
diff --git a/src/main.rs b/src/main.rs
index e16307e..582cf1f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -19,7 +19,7 @@
use mdcat;
use clap::value_t;
-use pulldown_cmark::Parser;
+use pulldown_cmark::{Options, Parser};
use std::error::Error;
use std::fs::File;
use std::io::prelude::*;
@@ -58,7 +58,9 @@ fn process_arguments(size: TerminalSize, args: Arguments) -> Result<(), Box<dyn
Ok(())
} else {
let (base_dir, input) = read_input(&args.filename)?;
- let parser = Parser::new(&input);
+ let mut options = Options::empty();
+ options.insert(Options::ENABLE_TASKLISTS);
+ let parser = Parser::new_ext(&input, options);
if args.dump_events {
mdcat::dump_events(&mut std::io::stdout(), parser)?;