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/label_start_link.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/label_start_link.rs')
-rw-r--r-- | src/construct/label_start_link.rs | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/src/construct/label_start_link.rs b/src/construct/label_start_link.rs index 7288d5d..8089e80 100644 --- a/src/construct/label_start_link.rs +++ b/src/construct/label_start_link.rs @@ -39,21 +39,20 @@ use crate::tokenizer::{LabelStart, Tokenizer}; /// ^ /// ``` pub fn start(tokenizer: &mut Tokenizer) -> State { - match tokenizer.current { - Some(b'[') if tokenizer.parse_state.constructs.label_start_link => { - let start = tokenizer.events.len(); - tokenizer.enter(Name::LabelLink); - tokenizer.enter(Name::LabelMarker); - tokenizer.consume(); - tokenizer.exit(Name::LabelMarker); - tokenizer.exit(Name::LabelLink); - tokenizer.tokenize_state.label_start_stack.push(LabelStart { - start: (start, tokenizer.events.len() - 1), - inactive: false, - }); - tokenizer.register_resolver_before(ResolveName::Label); - State::Ok - } - _ => State::Nok, + if tokenizer.parse_state.constructs.label_start_link && tokenizer.current == Some(b'[') { + let start = tokenizer.events.len(); + tokenizer.enter(Name::LabelLink); + tokenizer.enter(Name::LabelMarker); + tokenizer.consume(); + tokenizer.exit(Name::LabelMarker); + tokenizer.exit(Name::LabelLink); + tokenizer.tokenize_state.label_start_stack.push(LabelStart { + start: (start, tokenizer.events.len() - 1), + inactive: false, + }); + tokenizer.register_resolver_before(ResolveName::Label); + State::Ok + } else { + State::Nok } } |