From 7186ce91784a647b3015e04b55a95b109deceeb3 Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Mon, 18 Jul 2022 16:34:56 +0200 Subject: Change to improve `default_line_ending` api --- src/compiler.rs | 4 +--- src/lib.rs | 8 ++++---- 2 files changed, 5 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/compiler.rs b/src/compiler.rs index db52837..0993987 100644 --- a/src/compiler.rs +++ b/src/compiler.rs @@ -247,10 +247,8 @@ pub fn compile(events: &[Event], codes: &[Code], options: &Options) -> String { // Figure out which line ending style we’ll use. let line_ending_default = if let Some(value) = line_ending_inferred { value - } else if let Some(value) = &options.default_line_ending { - value.clone() } else { - LineEnding::LineFeed + options.default_line_ending.clone() }; let mut enter_map: Map = HashMap::new(); diff --git a/src/lib.rs b/src/lib.rs index 224f8d0..196eb4e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -20,7 +20,7 @@ use crate::parser::parse; use crate::tokenizer::Code; /// Type of line endings in markdown. -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Default, Clone, PartialEq)] pub enum LineEnding { /// Both a carriage return (`\r`) and a line feed (`\n`). /// @@ -48,6 +48,7 @@ pub enum LineEnding { /// a␊ /// b /// ``` + #[default] LineFeed, } @@ -349,15 +350,14 @@ pub struct Options { /// micromark_with_options( /// "> a", /// &Options { - /// default_line_ending: Some(LineEnding::CarriageReturnLineFeed), + /// default_line_ending: LineEnding::CarriageReturnLineFeed, /// ..Options::default() /// } /// ), /// "
\r\n

a

\r\n
" /// ); /// ``` - // To do: use `default`? - pub default_line_ending: Option, + pub default_line_ending: LineEnding, /// Which constructs to enable and disable. /// The default is to follow `CommonMark`. -- cgit