Markdown parser fork with extended syntax for personal use.
at hack 963 lines 44 kB view raw
1//! States of the state machine. 2 3use crate::construct; 4use crate::message; 5use crate::tokenizer::Tokenizer; 6 7/// Result of a state. 8#[derive(Clone, Debug, PartialEq)] 9pub enum State { 10 /// Syntax error. 11 /// 12 /// Only used by MDX. 13 Error(message::Message), 14 /// Move to [`Name`][] next. 15 Next(Name), 16 /// Retry in [`Name`][]. 17 Retry(Name), 18 /// The state is successful. 19 Ok, 20 /// The state is not successful. 21 Nok, 22} 23 24impl State { 25 /// Turn a final state into a result. 26 /// 27 /// This doesn’t work on future states ([`State::Next`], [`State::Retry`]), 28 /// or on an attempt ([`State::Nok`]). 29 /// 30 /// But it turns the final result into an error if crashed. 31 pub fn to_result(&self) -> Result<(), message::Message> { 32 match self { 33 State::Nok | State::Next(_) | State::Retry(_) => { 34 unreachable!("cannot turn intermediate state into result") 35 } 36 State::Ok => Ok(()), 37 State::Error(x) => Err(x.clone()), 38 } 39 } 40} 41 42/// Names of states to move to. 43#[derive(Clone, Copy, Debug, Eq, PartialEq)] 44#[allow(clippy::enum_variant_names)] 45pub enum Name { 46 AttentionStart, 47 AttentionInside, 48 49 AutolinkStart, 50 AutolinkOpen, 51 AutolinkSchemeOrEmailAtext, 52 AutolinkSchemeInsideOrEmailAtext, 53 AutolinkUrlInside, 54 AutolinkEmailAtSignOrDot, 55 AutolinkEmailAtext, 56 AutolinkEmailValue, 57 AutolinkEmailLabel, 58 59 BlankLineStart, 60 BlankLineAfter, 61 62 BlockQuoteStart, 63 BlockQuoteContStart, 64 BlockQuoteContBefore, 65 BlockQuoteContBeforeNoCallout, 66 BlockQuoteContAfter, 67 68 ObsidianBlockQuoteCalloutStart, 69 ObsidianBlockQuoteCalloutInner, 70 71 BomStart, 72 BomInside, 73 74 CharacterEscapeStart, 75 CharacterEscapeInside, 76 77 CharacterReferenceStart, 78 CharacterReferenceOpen, 79 CharacterReferenceNumeric, 80 CharacterReferenceValue, 81 82 CodeIndentedStart, 83 CodeIndentedAtBreak, 84 CodeIndentedAfter, 85 CodeIndentedFurtherStart, 86 CodeIndentedInside, 87 CodeIndentedFurtherBegin, 88 CodeIndentedFurtherAfter, 89 90 ContentChunkStart, 91 ContentChunkInside, 92 ContentDefinitionBefore, 93 ContentDefinitionAfter, 94 95 DataStart, 96 DataInside, 97 DataAtBreak, 98 99 DefinitionStart, 100 DefinitionBefore, 101 DefinitionLabelAfter, 102 DefinitionLabelNok, 103 DefinitionMarkerAfter, 104 DefinitionDestinationBefore, 105 DefinitionDestinationAfter, 106 DefinitionDestinationMissing, 107 DefinitionTitleBefore, 108 DefinitionAfter, 109 DefinitionAfterWhitespace, 110 DefinitionTitleBeforeMarker, 111 DefinitionTitleAfter, 112 DefinitionTitleAfterOptionalWhitespace, 113 114 DestinationStart, 115 DestinationEnclosedBefore, 116 DestinationEnclosed, 117 DestinationEnclosedEscape, 118 DestinationRaw, 119 DestinationRawEscape, 120 121 DocumentStart, 122 DocumentBeforeFrontmatter, 123 DocumentContainerExistingBefore, 124 DocumentContainerExistingAfter, 125 DocumentContainerNewBefore, 126 DocumentContainerNewBeforeNotBlockQuote, 127 DocumentContainerNewBeforeNotList, 128 DocumentContainerNewBeforeNotGfmFootnoteDefinition, 129 DocumentContainerNewAfter, 130 DocumentContainersAfter, 131 DocumentFlowInside, 132 DocumentFlowEnd, 133 134 FlowStart, 135 FlowBeforeGfmTable, 136 FlowBeforeCodeIndented, 137 FlowBeforeRaw, 138 FlowBeforeHtml, 139 FlowBeforeMdxExpression, 140 FlowBeforeMdxJsx, 141 FlowBeforeHeadingAtx, 142 FlowBeforeHeadingSetext, 143 FlowBeforeThematicBreak, 144 FlowAfter, 145 FlowBlankLineBefore, 146 FlowBlankLineAfter, 147 FlowBeforeContent, 148 149 FrontmatterStart, 150 FrontmatterOpenSequence, 151 FrontmatterOpenAfter, 152 FrontmatterAfter, 153 FrontmatterContentStart, 154 FrontmatterContentInside, 155 FrontmatterContentEnd, 156 FrontmatterCloseStart, 157 FrontmatterCloseSequence, 158 FrontmatterCloseAfter, 159 160 WikilinkStart, 161 WikilinkAlias, 162 WikilinkHeading, 163 WikilinkBlock, 164 WikilinkEnd, 165 WikilinkEndOk, 166 WikilinkEndNok, 167 168 WikilinkLabelStart, 169 WikilinkLabelAtBreak, 170 WikilinkLabelEolAfter, 171 WikilinkLabelEscape, 172 WikilinkLabelInside, 173 WikilinkLabelNok, 174 175 GfmAutolinkLiteralProtocolStart, 176 GfmAutolinkLiteralProtocolAfter, 177 GfmAutolinkLiteralProtocolPrefixInside, 178 GfmAutolinkLiteralProtocolSlashesInside, 179 180 GfmAutolinkLiteralWwwStart, 181 GfmAutolinkLiteralWwwAfter, 182 GfmAutolinkLiteralWwwPrefixInside, 183 GfmAutolinkLiteralWwwPrefixAfter, 184 185 GfmAutolinkLiteralDomainInside, 186 GfmAutolinkLiteralDomainAtPunctuation, 187 GfmAutolinkLiteralDomainAfter, 188 189 GfmAutolinkLiteralPathInside, 190 GfmAutolinkLiteralPathAtPunctuation, 191 GfmAutolinkLiteralPathAfter, 192 193 GfmAutolinkLiteralTrail, 194 GfmAutolinkLiteralTrailCharRefInside, 195 GfmAutolinkLiteralTrailCharRefStart, 196 GfmAutolinkLiteralTrailBracketAfter, 197 198 GfmFootnoteDefinitionStart, 199 GfmFootnoteDefinitionLabelBefore, 200 GfmFootnoteDefinitionLabelAtMarker, 201 GfmFootnoteDefinitionLabelInside, 202 GfmFootnoteDefinitionLabelEscape, 203 GfmFootnoteDefinitionLabelAfter, 204 GfmFootnoteDefinitionWhitespaceAfter, 205 GfmFootnoteDefinitionContStart, 206 GfmFootnoteDefinitionContBlank, 207 GfmFootnoteDefinitionContFilled, 208 209 GfmLabelStartFootnoteStart, 210 GfmLabelStartFootnoteOpen, 211 212 GfmTaskListItemCheckStart, 213 GfmTaskListItemCheckInside, 214 GfmTaskListItemCheckClose, 215 GfmTaskListItemCheckAfter, 216 GfmTaskListItemCheckAfterSpaceOrTab, 217 218 GfmTableStart, 219 GfmTableHeadRowBefore, 220 GfmTableHeadRowStart, 221 GfmTableHeadRowBreak, 222 GfmTableHeadRowData, 223 GfmTableHeadRowEscape, 224 GfmTableHeadDelimiterStart, 225 GfmTableHeadDelimiterBefore, 226 GfmTableHeadDelimiterCellBefore, 227 GfmTableHeadDelimiterValueBefore, 228 GfmTableHeadDelimiterLeftAlignmentAfter, 229 GfmTableHeadDelimiterFiller, 230 GfmTableHeadDelimiterRightAlignmentAfter, 231 GfmTableHeadDelimiterCellAfter, 232 GfmTableHeadDelimiterNok, 233 234 GfmTableBodyRowStart, 235 GfmTableBodyRowBreak, 236 GfmTableBodyRowData, 237 GfmTableBodyRowEscape, 238 239 HardBreakEscapeStart, 240 HardBreakEscapeAfter, 241 242 HeadingAtxStart, 243 HeadingAtxBefore, 244 HeadingAtxSequenceOpen, 245 HeadingAtxAtBreak, 246 HeadingAtxSequenceFurther, 247 HeadingAtxData, 248 249 HeadingSetextStart, 250 HeadingSetextBefore, 251 HeadingSetextInside, 252 HeadingSetextAfter, 253 254 HtmlFlowStart, 255 HtmlFlowBefore, 256 HtmlFlowOpen, 257 HtmlFlowDeclarationOpen, 258 HtmlFlowCommentOpenInside, 259 HtmlFlowCdataOpenInside, 260 HtmlFlowTagCloseStart, 261 HtmlFlowTagName, 262 HtmlFlowBasicSelfClosing, 263 HtmlFlowCompleteClosingTagAfter, 264 HtmlFlowCompleteEnd, 265 HtmlFlowCompleteAttributeNameBefore, 266 HtmlFlowCompleteAttributeName, 267 HtmlFlowCompleteAttributeNameAfter, 268 HtmlFlowCompleteAttributeValueBefore, 269 HtmlFlowCompleteAttributeValueQuoted, 270 HtmlFlowCompleteAttributeValueQuotedAfter, 271 HtmlFlowCompleteAttributeValueUnquoted, 272 HtmlFlowCompleteAfter, 273 HtmlFlowBlankLineBefore, 274 HtmlFlowContinuation, 275 HtmlFlowContinuationDeclarationInside, 276 HtmlFlowContinuationAfter, 277 HtmlFlowContinuationStart, 278 HtmlFlowContinuationBefore, 279 HtmlFlowContinuationCommentInside, 280 HtmlFlowContinuationRawTagOpen, 281 HtmlFlowContinuationRawEndTag, 282 HtmlFlowContinuationClose, 283 HtmlFlowContinuationCdataInside, 284 HtmlFlowContinuationStartNonLazy, 285 286 HtmlTextStart, 287 HtmlTextOpen, 288 HtmlTextDeclarationOpen, 289 HtmlTextTagCloseStart, 290 HtmlTextTagClose, 291 HtmlTextTagCloseBetween, 292 HtmlTextTagOpen, 293 HtmlTextTagOpenBetween, 294 HtmlTextTagOpenAttributeName, 295 HtmlTextTagOpenAttributeNameAfter, 296 HtmlTextTagOpenAttributeValueBefore, 297 HtmlTextTagOpenAttributeValueQuoted, 298 HtmlTextTagOpenAttributeValueQuotedAfter, 299 HtmlTextTagOpenAttributeValueUnquoted, 300 HtmlTextCdata, 301 HtmlTextCdataOpenInside, 302 HtmlTextCdataClose, 303 HtmlTextCdataEnd, 304 HtmlTextCommentOpenInside, 305 HtmlTextComment, 306 HtmlTextCommentClose, 307 HtmlTextCommentEnd, 308 HtmlTextDeclaration, 309 HtmlTextEnd, 310 HtmlTextInstruction, 311 HtmlTextInstructionClose, 312 HtmlTextLineEndingBefore, 313 HtmlTextLineEndingAfter, 314 HtmlTextLineEndingAfterPrefix, 315 316 LabelStart, 317 LabelAtBreak, 318 LabelEolAfter, 319 LabelEscape, 320 LabelInside, 321 LabelNok, 322 323 LabelEndStart, 324 LabelEndAfter, 325 LabelEndResourceStart, 326 LabelEndResourceBefore, 327 LabelEndResourceOpen, 328 LabelEndResourceDestinationAfter, 329 LabelEndResourceDestinationMissing, 330 LabelEndResourceBetween, 331 LabelEndResourceTitleAfter, 332 LabelEndResourceEnd, 333 LabelEndOk, 334 LabelEndNok, 335 LabelEndReferenceFull, 336 LabelEndReferenceFullAfter, 337 LabelEndReferenceFullMissing, 338 LabelEndReferenceNotFull, 339 LabelEndReferenceCollapsed, 340 LabelEndReferenceCollapsedOpen, 341 342 LabelStartImageStart, 343 LabelStartImageOpen, 344 LabelStartImageAfter, 345 346 LabelStartLinkStart, 347 348 ListItemStart, 349 ListItemBefore, 350 ListItemBeforeOrdered, 351 ListItemBeforeUnordered, 352 ListItemValue, 353 ListItemMarker, 354 ListItemMarkerAfter, 355 ListItemAfter, 356 ListItemMarkerAfterFilled, 357 ListItemWhitespace, 358 ListItemPrefixOther, 359 ListItemWhitespaceAfter, 360 ListItemContStart, 361 ListItemContBlank, 362 ListItemContFilled, 363 364 MdxEsmStart, 365 MdxEsmWord, 366 MdxEsmInside, 367 MdxEsmLineStart, 368 MdxEsmBlankLineBefore, 369 MdxEsmContinuationStart, 370 MdxEsmAtEnd, 371 372 MdxExpressionTextStart, 373 MdxExpressionTextAfter, 374 375 MdxExpressionFlowStart, 376 MdxExpressionFlowBefore, 377 MdxExpressionFlowAfter, 378 MdxExpressionFlowEnd, 379 380 MdxExpressionStart, 381 MdxExpressionBefore, 382 MdxExpressionPrefix, 383 MdxExpressionInside, 384 MdxExpressionEolAfter, 385 386 MdxJsxFlowStart, 387 MdxJsxFlowBefore, 388 MdxJsxFlowAfter, 389 MdxJsxFlowEnd, 390 MdxJsxFlowNok, 391 MdxJsxTextStart, 392 MdxJsxTextAfter, 393 MdxJsxTextNok, 394 MdxJsxEsWhitespaceStart, 395 MdxJsxEsWhitespaceInside, 396 MdxJsxEsWhitespaceEolAfter, 397 MdxJsxStart, 398 MdxJsxStartAfter, 399 MdxJsxNameBefore, 400 MdxJsxClosingTagNameBefore, 401 MdxJsxTagEnd, 402 MdxJsxPrimaryName, 403 MdxJsxPrimaryNameAfter, 404 MdxJsxMemberNameBefore, 405 MdxJsxMemberName, 406 MdxJsxMemberNameAfter, 407 MdxJsxLocalNameBefore, 408 MdxJsxLocalName, 409 MdxJsxLocalNameAfter, 410 MdxJsxAttributeBefore, 411 MdxJsxSelfClosing, 412 MdxJsxAttributeExpressionAfter, 413 MdxJsxAttributePrimaryName, 414 MdxJsxAttributePrimaryNameAfter, 415 MdxJsxAttributeLocalNameBefore, 416 MdxJsxAttributeLocalName, 417 MdxJsxAttributeLocalNameAfter, 418 MdxJsxAttributeValueBefore, 419 MdxJsxAttributeValueQuotedStart, 420 MdxJsxAttributeValueQuoted, 421 MdxJsxAttributeValueExpressionAfter, 422 423 NonLazyContinuationStart, 424 NonLazyContinuationAfter, 425 426 ParagraphStart, 427 ParagraphLineStart, 428 ParagraphInside, 429 430 RawFlowStart, 431 RawFlowBeforeSequenceOpen, 432 RawFlowSequenceOpen, 433 RawFlowInfoBefore, 434 RawFlowInfo, 435 RawFlowMetaBefore, 436 RawFlowMeta, 437 RawFlowAtNonLazyBreak, 438 RawFlowCloseStart, 439 RawFlowBeforeSequenceClose, 440 RawFlowSequenceClose, 441 RawFlowAfterSequenceClose, 442 RawFlowContentBefore, 443 RawFlowContentStart, 444 RawFlowBeforeContentChunk, 445 RawFlowContentChunk, 446 RawFlowAfter, 447 448 RawTextStart, 449 RawTextSequenceOpen, 450 RawTextBetween, 451 RawTextData, 452 RawTextSequenceClose, 453 454 SpaceOrTabStart, 455 SpaceOrTabInside, 456 SpaceOrTabAfter, 457 458 SpaceOrTabEolStart, 459 SpaceOrTabEolAfterFirst, 460 SpaceOrTabEolAfterEol, 461 SpaceOrTabEolAtEol, 462 SpaceOrTabEolAfterMore, 463 464 StringStart, 465 StringBefore, 466 StringBeforeData, 467 468 TextStart, 469 TextBefore, 470 TextBeforeHtml, 471 TextBeforeMdxJsx, 472 TextBeforeHardBreakEscape, 473 TextBeforeWikilinkStart, 474 TextBeforeLabelStartLink, 475 TextBeforeData, 476 477 ThematicBreakStart, 478 ThematicBreakBefore, 479 ThematicBreakSequence, 480 ThematicBreakAtBreak, 481 482 TitleStart, 483 TitleBegin, 484 TitleAfterEol, 485 TitleAtBreak, 486 TitleEscape, 487 TitleInside, 488 TitleNok, 489} 490 491#[allow(clippy::too_many_lines)] 492/// Call the corresponding state for a state name. 493pub fn call(tokenizer: &mut Tokenizer, name: Name) -> State { 494 let func = match name { 495 Name::AttentionStart => construct::attention::start, 496 Name::AttentionInside => construct::attention::inside, 497 Name::AutolinkStart => construct::autolink::start, 498 Name::AutolinkOpen => construct::autolink::open, 499 Name::AutolinkSchemeOrEmailAtext => construct::autolink::scheme_or_email_atext, 500 Name::AutolinkSchemeInsideOrEmailAtext => construct::autolink::scheme_inside_or_email_atext, 501 Name::AutolinkUrlInside => construct::autolink::url_inside, 502 Name::AutolinkEmailAtSignOrDot => construct::autolink::email_at_sign_or_dot, 503 Name::AutolinkEmailAtext => construct::autolink::email_atext, 504 Name::AutolinkEmailValue => construct::autolink::email_value, 505 Name::AutolinkEmailLabel => construct::autolink::email_label, 506 Name::BlankLineStart => construct::blank_line::start, 507 Name::BlankLineAfter => construct::blank_line::after, 508 Name::BlockQuoteStart => construct::block_quote::start, 509 Name::BlockQuoteContStart => construct::block_quote::cont_start, 510 Name::BlockQuoteContBefore => construct::block_quote::cont_before, 511 Name::BlockQuoteContBeforeNoCallout => construct::block_quote::cont_before_no_callout, 512 Name::BlockQuoteContAfter => construct::block_quote::cont_after, 513 Name::BomStart => construct::partial_bom::start, 514 Name::BomInside => construct::partial_bom::inside, 515 Name::CharacterEscapeStart => construct::character_escape::start, 516 Name::CharacterEscapeInside => construct::character_escape::inside, 517 Name::CharacterReferenceStart => construct::character_reference::start, 518 Name::CharacterReferenceOpen => construct::character_reference::open, 519 Name::CharacterReferenceNumeric => construct::character_reference::numeric, 520 Name::CharacterReferenceValue => construct::character_reference::value, 521 Name::CodeIndentedStart => construct::code_indented::start, 522 Name::CodeIndentedAtBreak => construct::code_indented::at_break, 523 Name::CodeIndentedAfter => construct::code_indented::after, 524 Name::CodeIndentedFurtherStart => construct::code_indented::further_start, 525 Name::CodeIndentedInside => construct::code_indented::inside, 526 Name::CodeIndentedFurtherBegin => construct::code_indented::further_begin, 527 Name::CodeIndentedFurtherAfter => construct::code_indented::further_after, 528 Name::ContentChunkStart => construct::content::chunk_start, 529 Name::ContentChunkInside => construct::content::chunk_inside, 530 Name::ContentDefinitionBefore => construct::content::definition_before, 531 Name::ContentDefinitionAfter => construct::content::definition_after, 532 Name::DataStart => construct::partial_data::start, 533 Name::DataInside => construct::partial_data::inside, 534 Name::DataAtBreak => construct::partial_data::at_break, 535 Name::DefinitionStart => construct::definition::start, 536 Name::DefinitionBefore => construct::definition::before, 537 Name::DefinitionLabelAfter => construct::definition::label_after, 538 Name::DefinitionLabelNok => construct::definition::label_nok, 539 Name::DefinitionMarkerAfter => construct::definition::marker_after, 540 Name::DefinitionDestinationBefore => construct::definition::destination_before, 541 Name::DefinitionDestinationAfter => construct::definition::destination_after, 542 Name::DefinitionDestinationMissing => construct::definition::destination_missing, 543 Name::DefinitionTitleBefore => construct::definition::title_before, 544 Name::DefinitionAfter => construct::definition::after, 545 Name::DefinitionAfterWhitespace => construct::definition::after_whitespace, 546 Name::DefinitionTitleBeforeMarker => construct::definition::title_before_marker, 547 Name::DefinitionTitleAfter => construct::definition::title_after, 548 Name::DefinitionTitleAfterOptionalWhitespace => { 549 construct::definition::title_after_optional_whitespace 550 } 551 Name::DestinationStart => construct::partial_destination::start, 552 Name::DestinationEnclosedBefore => construct::partial_destination::enclosed_before, 553 Name::DestinationEnclosed => construct::partial_destination::enclosed, 554 Name::DestinationEnclosedEscape => construct::partial_destination::enclosed_escape, 555 Name::DestinationRaw => construct::partial_destination::raw, 556 Name::DestinationRawEscape => construct::partial_destination::raw_escape, 557 Name::DocumentStart => construct::document::start, 558 Name::DocumentBeforeFrontmatter => construct::document::before_frontmatter, 559 Name::DocumentContainerExistingBefore => construct::document::container_existing_before, 560 Name::DocumentContainerExistingAfter => construct::document::container_existing_after, 561 Name::DocumentContainerNewBefore => construct::document::container_new_before, 562 Name::DocumentContainerNewBeforeNotBlockQuote => { 563 construct::document::container_new_before_not_block_quote 564 } 565 Name::DocumentContainerNewBeforeNotList => { 566 construct::document::container_new_before_not_list 567 } 568 Name::DocumentContainerNewBeforeNotGfmFootnoteDefinition => { 569 construct::document::container_new_before_not_footnote_definition 570 } 571 Name::DocumentContainerNewAfter => construct::document::container_new_after, 572 Name::DocumentContainersAfter => construct::document::containers_after, 573 Name::DocumentFlowEnd => construct::document::flow_end, 574 Name::DocumentFlowInside => construct::document::flow_inside, 575 Name::FlowStart => construct::flow::start, 576 Name::FlowBeforeGfmTable => construct::flow::before_gfm_table, 577 Name::FlowBeforeCodeIndented => construct::flow::before_code_indented, 578 Name::FlowBeforeRaw => construct::flow::before_raw, 579 Name::FlowBeforeHtml => construct::flow::before_html, 580 Name::FlowBeforeMdxExpression => construct::flow::before_mdx_expression, 581 Name::FlowBeforeMdxJsx => construct::flow::before_mdx_jsx, 582 Name::FlowBeforeHeadingAtx => construct::flow::before_heading_atx, 583 Name::FlowBeforeHeadingSetext => construct::flow::before_heading_setext, 584 Name::FlowBeforeThematicBreak => construct::flow::before_thematic_break, 585 Name::FlowAfter => construct::flow::after, 586 Name::FlowBlankLineBefore => construct::flow::blank_line_before, 587 Name::FlowBlankLineAfter => construct::flow::blank_line_after, 588 Name::FlowBeforeContent => construct::flow::before_content, 589 Name::FrontmatterStart => construct::frontmatter::start, 590 Name::FrontmatterOpenSequence => construct::frontmatter::open_sequence, 591 Name::FrontmatterOpenAfter => construct::frontmatter::open_after, 592 Name::FrontmatterAfter => construct::frontmatter::after, 593 Name::FrontmatterContentStart => construct::frontmatter::content_start, 594 Name::FrontmatterContentInside => construct::frontmatter::content_inside, 595 Name::FrontmatterContentEnd => construct::frontmatter::content_end, 596 Name::FrontmatterCloseStart => construct::frontmatter::close_start, 597 Name::FrontmatterCloseSequence => construct::frontmatter::close_sequence, 598 Name::FrontmatterCloseAfter => construct::frontmatter::close_after, 599 Name::WikilinkStart => construct::wikilink::start, 600 Name::WikilinkEnd => construct::wikilink::end, 601 Name::GfmAutolinkLiteralProtocolStart => construct::gfm_autolink_literal::protocol_start, 602 Name::GfmAutolinkLiteralProtocolAfter => construct::gfm_autolink_literal::protocol_after, 603 Name::GfmAutolinkLiteralProtocolPrefixInside => { 604 construct::gfm_autolink_literal::protocol_prefix_inside 605 } 606 Name::GfmAutolinkLiteralProtocolSlashesInside => { 607 construct::gfm_autolink_literal::protocol_slashes_inside 608 } 609 Name::GfmAutolinkLiteralWwwAfter => construct::gfm_autolink_literal::www_after, 610 Name::GfmAutolinkLiteralWwwStart => construct::gfm_autolink_literal::www_start, 611 Name::GfmAutolinkLiteralWwwPrefixInside => { 612 construct::gfm_autolink_literal::www_prefix_inside 613 } 614 Name::GfmAutolinkLiteralWwwPrefixAfter => construct::gfm_autolink_literal::www_prefix_after, 615 Name::GfmAutolinkLiteralDomainInside => construct::gfm_autolink_literal::domain_inside, 616 Name::GfmAutolinkLiteralDomainAtPunctuation => { 617 construct::gfm_autolink_literal::domain_at_punctuation 618 } 619 Name::GfmAutolinkLiteralDomainAfter => construct::gfm_autolink_literal::domain_after, 620 Name::GfmAutolinkLiteralPathInside => construct::gfm_autolink_literal::path_inside, 621 Name::GfmAutolinkLiteralPathAtPunctuation => { 622 construct::gfm_autolink_literal::path_at_punctuation 623 } 624 Name::GfmAutolinkLiteralPathAfter => construct::gfm_autolink_literal::path_after, 625 Name::GfmAutolinkLiteralTrail => construct::gfm_autolink_literal::trail, 626 Name::GfmAutolinkLiteralTrailCharRefStart => { 627 construct::gfm_autolink_literal::trail_char_ref_start 628 } 629 Name::GfmAutolinkLiteralTrailCharRefInside => { 630 construct::gfm_autolink_literal::trail_char_ref_inside 631 } 632 Name::GfmAutolinkLiteralTrailBracketAfter => { 633 construct::gfm_autolink_literal::trail_bracket_after 634 } 635 Name::GfmFootnoteDefinitionStart => construct::gfm_footnote_definition::start, 636 Name::GfmFootnoteDefinitionLabelBefore => construct::gfm_footnote_definition::label_before, 637 Name::GfmFootnoteDefinitionLabelAtMarker => { 638 construct::gfm_footnote_definition::label_at_marker 639 } 640 Name::GfmFootnoteDefinitionLabelInside => construct::gfm_footnote_definition::label_inside, 641 Name::GfmFootnoteDefinitionLabelEscape => construct::gfm_footnote_definition::label_escape, 642 Name::GfmFootnoteDefinitionLabelAfter => construct::gfm_footnote_definition::label_after, 643 Name::GfmFootnoteDefinitionWhitespaceAfter => { 644 construct::gfm_footnote_definition::whitespace_after 645 } 646 Name::GfmFootnoteDefinitionContStart => construct::gfm_footnote_definition::cont_start, 647 Name::GfmFootnoteDefinitionContBlank => construct::gfm_footnote_definition::cont_blank, 648 Name::GfmFootnoteDefinitionContFilled => construct::gfm_footnote_definition::cont_filled, 649 Name::GfmLabelStartFootnoteStart => construct::gfm_label_start_footnote::start, 650 Name::GfmLabelStartFootnoteOpen => construct::gfm_label_start_footnote::open, 651 Name::GfmTableStart => construct::gfm_table::start, 652 Name::GfmTableHeadRowBefore => construct::gfm_table::head_row_before, 653 Name::GfmTableHeadRowStart => construct::gfm_table::head_row_start, 654 Name::GfmTableHeadRowBreak => construct::gfm_table::head_row_break, 655 Name::GfmTableHeadRowData => construct::gfm_table::head_row_data, 656 Name::GfmTableHeadRowEscape => construct::gfm_table::head_row_escape, 657 Name::GfmTableHeadDelimiterStart => construct::gfm_table::head_delimiter_start, 658 Name::GfmTableHeadDelimiterBefore => construct::gfm_table::head_delimiter_before, 659 Name::GfmTableHeadDelimiterCellBefore => construct::gfm_table::head_delimiter_cell_before, 660 Name::GfmTableHeadDelimiterValueBefore => construct::gfm_table::head_delimiter_value_before, 661 Name::GfmTableHeadDelimiterLeftAlignmentAfter => { 662 construct::gfm_table::head_delimiter_left_alignment_after 663 } 664 Name::GfmTableHeadDelimiterFiller => construct::gfm_table::head_delimiter_filler, 665 Name::GfmTableHeadDelimiterRightAlignmentAfter => { 666 construct::gfm_table::head_delimiter_right_alignment_after 667 } 668 Name::GfmTableHeadDelimiterCellAfter => construct::gfm_table::head_delimiter_cell_after, 669 Name::GfmTableHeadDelimiterNok => construct::gfm_table::head_delimiter_nok, 670 Name::GfmTableBodyRowStart => construct::gfm_table::body_row_start, 671 Name::GfmTableBodyRowBreak => construct::gfm_table::body_row_break, 672 Name::GfmTableBodyRowData => construct::gfm_table::body_row_data, 673 Name::GfmTableBodyRowEscape => construct::gfm_table::body_row_escape, 674 Name::GfmTaskListItemCheckStart => construct::gfm_task_list_item_check::start, 675 Name::GfmTaskListItemCheckInside => construct::gfm_task_list_item_check::inside, 676 Name::GfmTaskListItemCheckClose => construct::gfm_task_list_item_check::close, 677 Name::GfmTaskListItemCheckAfter => construct::gfm_task_list_item_check::after, 678 Name::GfmTaskListItemCheckAfterSpaceOrTab => { 679 construct::gfm_task_list_item_check::after_space_or_tab 680 } 681 Name::HardBreakEscapeStart => construct::hard_break_escape::start, 682 Name::HardBreakEscapeAfter => construct::hard_break_escape::after, 683 Name::HeadingAtxStart => construct::heading_atx::start, 684 Name::HeadingAtxBefore => construct::heading_atx::before, 685 Name::HeadingAtxSequenceOpen => construct::heading_atx::sequence_open, 686 Name::HeadingAtxAtBreak => construct::heading_atx::at_break, 687 Name::HeadingAtxSequenceFurther => construct::heading_atx::sequence_further, 688 Name::HeadingAtxData => construct::heading_atx::data, 689 Name::HeadingSetextStart => construct::heading_setext::start, 690 Name::HeadingSetextBefore => construct::heading_setext::before, 691 Name::HeadingSetextInside => construct::heading_setext::inside, 692 Name::HeadingSetextAfter => construct::heading_setext::after, 693 Name::HtmlFlowStart => construct::html_flow::start, 694 Name::HtmlFlowBefore => construct::html_flow::before, 695 Name::HtmlFlowOpen => construct::html_flow::open, 696 Name::HtmlFlowDeclarationOpen => construct::html_flow::declaration_open, 697 Name::HtmlFlowCommentOpenInside => construct::html_flow::comment_open_inside, 698 Name::HtmlFlowCdataOpenInside => construct::html_flow::cdata_open_inside, 699 Name::HtmlFlowTagCloseStart => construct::html_flow::tag_close_start, 700 Name::HtmlFlowTagName => construct::html_flow::tag_name, 701 Name::HtmlFlowBasicSelfClosing => construct::html_flow::basic_self_closing, 702 Name::HtmlFlowCompleteClosingTagAfter => construct::html_flow::complete_closing_tag_after, 703 Name::HtmlFlowCompleteEnd => construct::html_flow::complete_end, 704 Name::HtmlFlowCompleteAttributeNameBefore => { 705 construct::html_flow::complete_attribute_name_before 706 } 707 Name::HtmlFlowCompleteAttributeName => construct::html_flow::complete_attribute_name, 708 Name::HtmlFlowCompleteAttributeNameAfter => { 709 construct::html_flow::complete_attribute_name_after 710 } 711 Name::HtmlFlowCompleteAttributeValueBefore => { 712 construct::html_flow::complete_attribute_value_before 713 } 714 Name::HtmlFlowCompleteAttributeValueQuoted => { 715 construct::html_flow::complete_attribute_value_quoted 716 } 717 Name::HtmlFlowCompleteAttributeValueQuotedAfter => { 718 construct::html_flow::complete_attribute_value_quoted_after 719 } 720 Name::HtmlFlowCompleteAttributeValueUnquoted => { 721 construct::html_flow::complete_attribute_value_unquoted 722 } 723 Name::HtmlFlowCompleteAfter => construct::html_flow::complete_after, 724 Name::HtmlFlowBlankLineBefore => construct::html_flow::blank_line_before, 725 Name::HtmlFlowContinuation => construct::html_flow::continuation, 726 Name::HtmlFlowContinuationDeclarationInside => { 727 construct::html_flow::continuation_declaration_inside 728 } 729 Name::HtmlFlowContinuationAfter => construct::html_flow::continuation_after, 730 Name::HtmlFlowContinuationStart => construct::html_flow::continuation_start, 731 Name::HtmlFlowContinuationBefore => construct::html_flow::continuation_before, 732 Name::HtmlFlowContinuationCommentInside => { 733 construct::html_flow::continuation_comment_inside 734 } 735 Name::HtmlFlowContinuationRawTagOpen => construct::html_flow::continuation_raw_tag_open, 736 Name::HtmlFlowContinuationRawEndTag => construct::html_flow::continuation_raw_end_tag, 737 Name::HtmlFlowContinuationClose => construct::html_flow::continuation_close, 738 Name::HtmlFlowContinuationCdataInside => construct::html_flow::continuation_cdata_inside, 739 Name::HtmlFlowContinuationStartNonLazy => construct::html_flow::continuation_start_non_lazy, 740 Name::HtmlTextStart => construct::html_text::start, 741 Name::HtmlTextOpen => construct::html_text::open, 742 Name::HtmlTextDeclarationOpen => construct::html_text::declaration_open, 743 Name::HtmlTextTagCloseStart => construct::html_text::tag_close_start, 744 Name::HtmlTextTagClose => construct::html_text::tag_close, 745 Name::HtmlTextTagCloseBetween => construct::html_text::tag_close_between, 746 Name::HtmlTextTagOpen => construct::html_text::tag_open, 747 Name::HtmlTextTagOpenBetween => construct::html_text::tag_open_between, 748 Name::HtmlTextTagOpenAttributeName => construct::html_text::tag_open_attribute_name, 749 Name::HtmlTextTagOpenAttributeNameAfter => { 750 construct::html_text::tag_open_attribute_name_after 751 } 752 Name::HtmlTextTagOpenAttributeValueBefore => { 753 construct::html_text::tag_open_attribute_value_before 754 } 755 Name::HtmlTextTagOpenAttributeValueQuoted => { 756 construct::html_text::tag_open_attribute_value_quoted 757 } 758 Name::HtmlTextTagOpenAttributeValueQuotedAfter => { 759 construct::html_text::tag_open_attribute_value_quoted_after 760 } 761 Name::HtmlTextTagOpenAttributeValueUnquoted => { 762 construct::html_text::tag_open_attribute_value_unquoted 763 } 764 Name::HtmlTextCdata => construct::html_text::cdata, 765 Name::HtmlTextCdataOpenInside => construct::html_text::cdata_open_inside, 766 Name::HtmlTextCdataClose => construct::html_text::cdata_close, 767 Name::HtmlTextCdataEnd => construct::html_text::cdata_end, 768 Name::HtmlTextCommentOpenInside => construct::html_text::comment_open_inside, 769 Name::HtmlTextComment => construct::html_text::comment, 770 Name::HtmlTextCommentClose => construct::html_text::comment_close, 771 Name::HtmlTextCommentEnd => construct::html_text::comment_end, 772 Name::HtmlTextDeclaration => construct::html_text::declaration, 773 Name::HtmlTextEnd => construct::html_text::end, 774 Name::HtmlTextInstruction => construct::html_text::instruction, 775 Name::HtmlTextInstructionClose => construct::html_text::instruction_close, 776 Name::HtmlTextLineEndingBefore => construct::html_text::line_ending_before, 777 Name::HtmlTextLineEndingAfter => construct::html_text::line_ending_after, 778 Name::HtmlTextLineEndingAfterPrefix => construct::html_text::line_ending_after_prefix, 779 Name::LabelStart => construct::partial_label::start, 780 Name::LabelAtBreak => construct::partial_label::at_break, 781 Name::LabelEolAfter => construct::partial_label::eol_after, 782 Name::LabelEscape => construct::partial_label::escape, 783 Name::LabelInside => construct::partial_label::inside, 784 Name::LabelNok => construct::partial_label::nok, 785 Name::LabelEndStart => construct::label_end::start, 786 Name::LabelEndAfter => construct::label_end::after, 787 Name::LabelEndResourceStart => construct::label_end::resource_start, 788 Name::LabelEndResourceBefore => construct::label_end::resource_before, 789 Name::LabelEndResourceOpen => construct::label_end::resource_open, 790 Name::LabelEndResourceDestinationAfter => construct::label_end::resource_destination_after, 791 Name::LabelEndResourceDestinationMissing => { 792 construct::label_end::resource_destination_missing 793 } 794 Name::LabelEndResourceBetween => construct::label_end::resource_between, 795 Name::LabelEndResourceTitleAfter => construct::label_end::resource_title_after, 796 Name::LabelEndResourceEnd => construct::label_end::resource_end, 797 Name::LabelEndOk => construct::label_end::ok, 798 Name::LabelEndNok => construct::label_end::nok, 799 Name::LabelEndReferenceFull => construct::label_end::reference_full, 800 Name::LabelEndReferenceFullAfter => construct::label_end::reference_full_after, 801 Name::LabelEndReferenceFullMissing => construct::label_end::reference_full_missing, 802 Name::LabelEndReferenceNotFull => construct::label_end::reference_not_full, 803 Name::LabelEndReferenceCollapsed => construct::label_end::reference_collapsed, 804 Name::LabelEndReferenceCollapsedOpen => construct::label_end::reference_collapsed_open, 805 Name::LabelStartImageStart => construct::label_start_image::start, 806 Name::LabelStartImageOpen => construct::label_start_image::open, 807 Name::LabelStartImageAfter => construct::label_start_image::after, 808 Name::LabelStartLinkStart => construct::label_start_link::start, 809 Name::ListItemStart => construct::list_item::start, 810 Name::ListItemBefore => construct::list_item::before, 811 Name::ListItemBeforeOrdered => construct::list_item::before_ordered, 812 Name::ListItemBeforeUnordered => construct::list_item::before_unordered, 813 Name::ListItemValue => construct::list_item::value, 814 Name::ListItemMarker => construct::list_item::marker, 815 Name::ListItemMarkerAfter => construct::list_item::marker_after, 816 Name::ListItemAfter => construct::list_item::after, 817 Name::ListItemMarkerAfterFilled => construct::list_item::marker_after_filled, 818 Name::ListItemWhitespace => construct::list_item::whitespace, 819 Name::ListItemWhitespaceAfter => construct::list_item::whitespace_after, 820 Name::ListItemPrefixOther => construct::list_item::prefix_other, 821 Name::ListItemContStart => construct::list_item::cont_start, 822 Name::ListItemContBlank => construct::list_item::cont_blank, 823 Name::ListItemContFilled => construct::list_item::cont_filled, 824 Name::MdxEsmStart => construct::mdx_esm::start, 825 Name::MdxEsmWord => construct::mdx_esm::word, 826 Name::MdxEsmInside => construct::mdx_esm::inside, 827 Name::MdxEsmLineStart => construct::mdx_esm::line_start, 828 Name::MdxEsmBlankLineBefore => construct::mdx_esm::blank_line_before, 829 Name::MdxEsmContinuationStart => construct::mdx_esm::continuation_start, 830 Name::MdxEsmAtEnd => construct::mdx_esm::at_end, 831 Name::MdxExpressionStart => construct::partial_mdx_expression::start, 832 Name::MdxExpressionPrefix => construct::partial_mdx_expression::prefix, 833 Name::MdxExpressionBefore => construct::partial_mdx_expression::before, 834 Name::MdxExpressionInside => construct::partial_mdx_expression::inside, 835 Name::MdxExpressionEolAfter => construct::partial_mdx_expression::eol_after, 836 Name::MdxExpressionFlowStart => construct::mdx_expression_flow::start, 837 Name::MdxExpressionFlowBefore => construct::mdx_expression_flow::before, 838 Name::MdxExpressionFlowAfter => construct::mdx_expression_flow::after, 839 Name::MdxExpressionFlowEnd => construct::mdx_expression_flow::end, 840 Name::MdxExpressionTextStart => construct::mdx_expression_text::start, 841 Name::MdxExpressionTextAfter => construct::mdx_expression_text::after, 842 Name::MdxJsxFlowStart => construct::mdx_jsx_flow::start, 843 Name::MdxJsxFlowBefore => construct::mdx_jsx_flow::before, 844 Name::MdxJsxFlowAfter => construct::mdx_jsx_flow::after, 845 Name::MdxJsxFlowEnd => construct::mdx_jsx_flow::end, 846 Name::MdxJsxFlowNok => construct::mdx_jsx_flow::nok, 847 Name::MdxJsxTextStart => construct::mdx_jsx_text::start, 848 Name::MdxJsxTextAfter => construct::mdx_jsx_text::after, 849 Name::MdxJsxTextNok => construct::mdx_jsx_text::nok, 850 Name::MdxJsxStart => construct::partial_mdx_jsx::start, 851 Name::MdxJsxStartAfter => construct::partial_mdx_jsx::start_after, 852 Name::MdxJsxNameBefore => construct::partial_mdx_jsx::name_before, 853 Name::MdxJsxClosingTagNameBefore => construct::partial_mdx_jsx::closing_tag_name_before, 854 Name::MdxJsxTagEnd => construct::partial_mdx_jsx::tag_end, 855 Name::MdxJsxPrimaryName => construct::partial_mdx_jsx::primary_name, 856 Name::MdxJsxPrimaryNameAfter => construct::partial_mdx_jsx::primary_name_after, 857 Name::MdxJsxMemberNameBefore => construct::partial_mdx_jsx::member_name_before, 858 Name::MdxJsxMemberName => construct::partial_mdx_jsx::member_name, 859 Name::MdxJsxMemberNameAfter => construct::partial_mdx_jsx::member_name_after, 860 Name::MdxJsxLocalNameBefore => construct::partial_mdx_jsx::local_name_before, 861 Name::MdxJsxLocalName => construct::partial_mdx_jsx::local_name, 862 Name::MdxJsxLocalNameAfter => construct::partial_mdx_jsx::local_name_after, 863 Name::MdxJsxAttributeBefore => construct::partial_mdx_jsx::attribute_before, 864 Name::MdxJsxSelfClosing => construct::partial_mdx_jsx::self_closing, 865 Name::MdxJsxAttributeExpressionAfter => { 866 construct::partial_mdx_jsx::attribute_expression_after 867 } 868 Name::MdxJsxAttributePrimaryName => construct::partial_mdx_jsx::attribute_primary_name, 869 Name::MdxJsxAttributePrimaryNameAfter => { 870 construct::partial_mdx_jsx::attribute_primary_name_after 871 } 872 Name::MdxJsxAttributeLocalNameBefore => { 873 construct::partial_mdx_jsx::attribute_local_name_before 874 } 875 Name::MdxJsxAttributeLocalName => construct::partial_mdx_jsx::attribute_local_name, 876 Name::MdxJsxAttributeLocalNameAfter => { 877 construct::partial_mdx_jsx::attribute_local_name_after 878 } 879 Name::MdxJsxAttributeValueBefore => construct::partial_mdx_jsx::attribute_value_before, 880 Name::MdxJsxAttributeValueQuotedStart => { 881 construct::partial_mdx_jsx::attribute_value_quoted_start 882 } 883 Name::MdxJsxAttributeValueQuoted => construct::partial_mdx_jsx::attribute_value_quoted, 884 Name::MdxJsxAttributeValueExpressionAfter => { 885 construct::partial_mdx_jsx::attribute_value_expression_after 886 } 887 Name::MdxJsxEsWhitespaceStart => construct::partial_mdx_jsx::es_whitespace_start, 888 Name::MdxJsxEsWhitespaceInside => construct::partial_mdx_jsx::es_whitespace_inside, 889 Name::MdxJsxEsWhitespaceEolAfter => construct::partial_mdx_jsx::es_whitespace_eol_after, 890 Name::NonLazyContinuationStart => construct::partial_non_lazy_continuation::start, 891 Name::NonLazyContinuationAfter => construct::partial_non_lazy_continuation::after, 892 Name::ParagraphStart => construct::paragraph::start, 893 Name::ParagraphLineStart => construct::paragraph::line_start, 894 Name::ParagraphInside => construct::paragraph::inside, 895 Name::RawFlowStart => construct::raw_flow::start, 896 Name::RawFlowBeforeSequenceOpen => construct::raw_flow::before_sequence_open, 897 Name::RawFlowSequenceOpen => construct::raw_flow::sequence_open, 898 Name::RawFlowInfoBefore => construct::raw_flow::info_before, 899 Name::RawFlowInfo => construct::raw_flow::info, 900 Name::RawFlowMetaBefore => construct::raw_flow::meta_before, 901 Name::RawFlowMeta => construct::raw_flow::meta, 902 Name::RawFlowAtNonLazyBreak => construct::raw_flow::at_non_lazy_break, 903 Name::RawFlowCloseStart => construct::raw_flow::close_start, 904 Name::RawFlowBeforeSequenceClose => construct::raw_flow::before_sequence_close, 905 Name::RawFlowSequenceClose => construct::raw_flow::sequence_close, 906 Name::RawFlowAfterSequenceClose => construct::raw_flow::sequence_close_after, 907 Name::RawFlowContentBefore => construct::raw_flow::content_before, 908 Name::RawFlowContentStart => construct::raw_flow::content_start, 909 Name::RawFlowBeforeContentChunk => construct::raw_flow::before_content_chunk, 910 Name::RawFlowContentChunk => construct::raw_flow::content_chunk, 911 Name::RawFlowAfter => construct::raw_flow::after, 912 Name::RawTextStart => construct::raw_text::start, 913 Name::RawTextSequenceOpen => construct::raw_text::sequence_open, 914 Name::RawTextBetween => construct::raw_text::between, 915 Name::RawTextData => construct::raw_text::data, 916 Name::RawTextSequenceClose => construct::raw_text::sequence_close, 917 Name::SpaceOrTabStart => construct::partial_space_or_tab::start, 918 Name::SpaceOrTabInside => construct::partial_space_or_tab::inside, 919 Name::SpaceOrTabAfter => construct::partial_space_or_tab::after, 920 Name::SpaceOrTabEolStart => construct::partial_space_or_tab_eol::start, 921 Name::SpaceOrTabEolAfterFirst => construct::partial_space_or_tab_eol::after_first, 922 Name::SpaceOrTabEolAfterEol => construct::partial_space_or_tab_eol::after_eol, 923 Name::SpaceOrTabEolAtEol => construct::partial_space_or_tab_eol::at_eol, 924 Name::SpaceOrTabEolAfterMore => construct::partial_space_or_tab_eol::after_more, 925 Name::StringStart => construct::string::start, 926 Name::StringBefore => construct::string::before, 927 Name::StringBeforeData => construct::string::before_data, 928 Name::TextStart => construct::text::start, 929 Name::TextBefore => construct::text::before, 930 Name::TextBeforeHtml => construct::text::before_html, 931 Name::TextBeforeMdxJsx => construct::text::before_mdx_jsx, 932 Name::TextBeforeHardBreakEscape => construct::text::before_hard_break_escape, 933 Name::TextBeforeWikilinkStart => construct::text::before_label_wikilink_start, 934 Name::TextBeforeLabelStartLink => construct::text::before_label_start_link, 935 Name::TextBeforeData => construct::text::before_data, 936 Name::ThematicBreakStart => construct::thematic_break::start, 937 Name::ThematicBreakBefore => construct::thematic_break::before, 938 Name::ThematicBreakSequence => construct::thematic_break::sequence, 939 Name::ThematicBreakAtBreak => construct::thematic_break::at_break, 940 Name::TitleStart => construct::partial_title::start, 941 Name::TitleBegin => construct::partial_title::begin, 942 Name::TitleAfterEol => construct::partial_title::after_eol, 943 Name::TitleAtBreak => construct::partial_title::at_break, 944 Name::TitleEscape => construct::partial_title::escape, 945 Name::TitleInside => construct::partial_title::inside, 946 Name::TitleNok => construct::partial_title::nok, 947 Name::WikilinkAlias => todo!(), 948 Name::WikilinkHeading => todo!(), 949 Name::WikilinkBlock => todo!(), 950 Name::WikilinkEndOk => todo!(), 951 Name::WikilinkEndNok => todo!(), 952 Name::WikilinkLabelStart => construct::wikilink_label::start, 953 Name::WikilinkLabelAtBreak => construct::wikilink_label::at_break, 954 Name::WikilinkLabelEolAfter => construct::wikilink_label::eol_after, 955 Name::WikilinkLabelEscape => construct::wikilink_label::escape, 956 Name::WikilinkLabelInside => construct::wikilink_label::inside, 957 Name::WikilinkLabelNok => construct::wikilink_label::nok, 958 Name::ObsidianBlockQuoteCalloutStart => construct::block_quote::obs_callout_start, 959 Name::ObsidianBlockQuoteCalloutInner => construct::block_quote::obs_callout_inner, 960 }; 961 962 func(tokenizer) 963}