aboutsummaryrefslogtreecommitdiffstats
path: root/src/construct/label_start_link.rs
diff options
context:
space:
mode:
authorLibravatar Titus Wormer <tituswormer@gmail.com>2022-08-12 17:02:01 +0200
committerLibravatar Titus Wormer <tituswormer@gmail.com>2022-08-12 17:02:01 +0200
commit6ba11bdaca1721fb4591819604c340d147798f45 (patch)
treeef602b518043c0a7228e76d9d00bee95a17798d4 /src/construct/label_start_link.rs
parent504729a4a0c8f3e0d8fc9159e0273150b169e184 (diff)
downloadmarkdown-rs-6ba11bdaca1721fb4591819604c340d147798f45.tar.gz
markdown-rs-6ba11bdaca1721fb4591819604c340d147798f45.tar.bz2
markdown-rs-6ba11bdaca1721fb4591819604c340d147798f45.zip
Remove `match` statements if clumsy
Diffstat (limited to '')
-rw-r--r--src/construct/label_start_link.rs31
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
}
}