diff options
author | Titus Wormer <tituswormer@gmail.com> | 2022-08-12 17:02:01 +0200 |
---|---|---|
committer | Titus Wormer <tituswormer@gmail.com> | 2022-08-12 17:02:01 +0200 |
commit | 6ba11bdaca1721fb4591819604c340d147798f45 (patch) | |
tree | ef602b518043c0a7228e76d9d00bee95a17798d4 /src/construct/thematic_break.rs | |
parent | 504729a4a0c8f3e0d8fc9159e0273150b169e184 (diff) | |
download | markdown-rs-6ba11bdaca1721fb4591819604c340d147798f45.tar.gz markdown-rs-6ba11bdaca1721fb4591819604c340d147798f45.tar.bz2 markdown-rs-6ba11bdaca1721fb4591819604c340d147798f45.zip |
Remove `match` statements if clumsy
Diffstat (limited to 'src/construct/thematic_break.rs')
-rw-r--r-- | src/construct/thematic_break.rs | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/src/construct/thematic_break.rs b/src/construct/thematic_break.rs index b2989cb..af8206e 100644 --- a/src/construct/thematic_break.rs +++ b/src/construct/thematic_break.rs @@ -101,26 +101,22 @@ pub fn before(tokenizer: &mut Tokenizer) -> State { /// ^ /// ``` pub fn at_break(tokenizer: &mut Tokenizer) -> State { - match tokenizer.current { - None | Some(b'\n') if tokenizer.tokenize_state.size >= THEMATIC_BREAK_MARKER_COUNT_MIN => { - tokenizer.tokenize_state.marker = 0; - tokenizer.tokenize_state.size = 0; - tokenizer.exit(Name::ThematicBreak); - // Feel free to interrupt. - tokenizer.interrupt = false; - State::Ok - } - Some(b'*' | b'-' | b'_') - if tokenizer.current.unwrap() == tokenizer.tokenize_state.marker => - { - tokenizer.enter(Name::ThematicBreakSequence); - State::Retry(StateName::ThematicBreakSequence) - } - _ => { - tokenizer.tokenize_state.marker = 0; - tokenizer.tokenize_state.size = 0; - State::Nok - } + if tokenizer.current == Some(tokenizer.tokenize_state.marker) { + tokenizer.enter(Name::ThematicBreakSequence); + State::Retry(StateName::ThematicBreakSequence) + } else if tokenizer.tokenize_state.size >= THEMATIC_BREAK_MARKER_COUNT_MIN + && matches!(tokenizer.current, None | Some(b'\n')) + { + tokenizer.tokenize_state.marker = 0; + tokenizer.tokenize_state.size = 0; + tokenizer.exit(Name::ThematicBreak); + // Feel free to interrupt. + tokenizer.interrupt = false; + State::Ok + } else { + tokenizer.tokenize_state.marker = 0; + tokenizer.tokenize_state.size = 0; + State::Nok } } |