---
source: crates/panache-parser/tests/golden_parser_cases.rs
expression: cst_output
---
DOCUMENT@0..809
CODE_BLOCK@0..32
CODE_FENCE_OPEN@0..8
CODE_FENCE_MARKER@0..3 "```"
CODE_INFO@3..7
CODE_LANGUAGE@3..7 "bash"
NEWLINE@7..8 "\n"
CODE_CONTENT@8..28
TEXT@8..27 "cargo install tomat"
NEWLINE@27..28 "\n"
CODE_FENCE_CLOSE@28..32
CODE_FENCE_MARKER@28..31 "```"
NEWLINE@31..32 "\n"
BLANK_LINE@32..33
BLANK_LINE@32..33 "\n"
CODE_BLOCK@33..95
CODE_FENCE_OPEN@33..41
CODE_FENCE_MARKER@33..40 "~~~~~~~"
NEWLINE@40..41 "\n"
CODE_CONTENT@41..87
TEXT@41..53 "if (a > 3) {"
NEWLINE@53..54 "\n"
TEXT@54..84 " moveShip(5 * gravit ..."
NEWLINE@84..85 "\n"
TEXT@85..86 "}"
NEWLINE@86..87 "\n"
CODE_FENCE_CLOSE@87..95
CODE_FENCE_MARKER@87..94 "~~~~~~~"
NEWLINE@94..95 "\n"
BLANK_LINE@95..96
BLANK_LINE@95..96 "\n"
CODE_BLOCK@96..307
CODE_FENCE_OPEN@96..149
CODE_FENCE_MARKER@96..100 "~~~~"
WHITESPACE@100..101 " "
CODE_INFO@101..148
TEXT@101..110 "{#mycode "
TEXT@110..111 "."
CODE_LANGUAGE@111..118 "haskell"
TEXT@118..148 " .numberLines startFr ..."
NEWLINE@148..149 "\n"
CODE_CONTENT@149..257
TEXT@149..166 "qsort [] = []"
NEWLINE@166..167 "\n"
TEXT@167..215 "qsort (x:xs) = qsort ..."
NEWLINE@215..216 "\n"
TEXT@216..256 " qsort ..."
NEWLINE@256..257 "\n"
CODE_FENCE_CLOSE@257..307
CODE_FENCE_MARKER@257..306 "~~~~~~~~~~~~~~~~~~~~~ ..."
NEWLINE@306..307 "\n"
BLANK_LINE@307..308
BLANK_LINE@307..308 "\n"
CODE_BLOCK@308..337
CODE_FENCE_OPEN@308..319
CODE_FENCE_MARKER@308..311 "```"
CODE_INFO@311..318
CODE_LANGUAGE@311..318 "haskell"
NEWLINE@318..319 "\n"
CODE_CONTENT@319..333
TEXT@319..332 "qsort [] = []"
NEWLINE@332..333 "\n"
CODE_FENCE_CLOSE@333..337
CODE_FENCE_MARKER@333..336 "```"
NEWLINE@336..337 "\n"
BLANK_LINE@337..338
BLANK_LINE@337..338 "\n"
CODE_BLOCK@338..371
CODE_FENCE_OPEN@338..353
CODE_FENCE_MARKER@338..341 "```"
WHITESPACE@341..342 " "
CODE_INFO@342..352
TEXT@342..343 "{"
TEXT@343..344 "."
CODE_LANGUAGE@344..351 "haskell"
TEXT@351..352 "}"
NEWLINE@352..353 "\n"
CODE_CONTENT@353..367
TEXT@353..366 "qsort [] = []"
NEWLINE@366..367 "\n"
CODE_FENCE_CLOSE@367..371
CODE_FENCE_MARKER@367..370 "```"
NEWLINE@370..371 "\n"
BLANK_LINE@371..372
BLANK_LINE@371..372 "\n"
CODE_BLOCK@372..416
CODE_FENCE_OPEN@372..398
CODE_FENCE_MARKER@372..375 "```"
CODE_INFO@375..397
CODE_LANGUAGE@375..382 "haskell"
TEXT@382..397 " {.numberLines}"
NEWLINE@397..398 "\n"
CODE_CONTENT@398..412
TEXT@398..411 "qsort [] = []"
NEWLINE@411..412 "\n"
CODE_FENCE_CLOSE@412..416
CODE_FENCE_MARKER@412..415 "```"
NEWLINE@415..416 "\n"
BLANK_LINE@416..417
BLANK_LINE@416..417 "\n"
CODE_BLOCK@417..463
CODE_FENCE_OPEN@417..445
CODE_FENCE_MARKER@417..420 "```"
WHITESPACE@420..421 " "
CODE_INFO@421..444
TEXT@421..422 "{"
TEXT@422..423 "."
CODE_LANGUAGE@423..430 "haskell"
TEXT@430..444 " .numberLines}"
NEWLINE@444..445 "\n"
CODE_CONTENT@445..459
TEXT@445..458 "qsort [] = []"
NEWLINE@458..459 "\n"
CODE_FENCE_CLOSE@459..463
CODE_FENCE_MARKER@459..462 "```"
NEWLINE@462..463 "\n"
BLANK_LINE@463..464
BLANK_LINE@463..464 "\n"
PARAGRAPH@464..508
TEXT@464..507 "A quarto fenced code ..."
NEWLINE@507..508 "\n"
BLANK_LINE@508..509
BLANK_LINE@508..509 "\n"
PARAGRAPH@509..527
INLINE_CODE@509..526
INLINE_CODE_MARKER@509..512 "```"
INLINE_CODE_CONTENT@512..523 "{r}\na <- 1\n"
INLINE_CODE_MARKER@523..526 "```"
NEWLINE@526..527 "\n"
BLANK_LINE@527..528
BLANK_LINE@527..528 "\n"
PARAGRAPH@528..593
TEXT@528..574 "A quarto fenced code ..."
NEWLINE@574..575 "\n"
INLINE_CODE@575..592
INLINE_CODE_MARKER@575..578 "```"
INLINE_CODE_CONTENT@578..589 "{r}\na <- 1\n"
INLINE_CODE_MARKER@589..592 "```"
NEWLINE@592..593 "\n"
BLANK_LINE@593..594
BLANK_LINE@593..594 "\n"
PARAGRAPH@594..679
TEXT@594..678 "A fenced code block s ..."
NEWLINE@678..679 "\n"
CODE_BLOCK@679..702
CODE_FENCE_OPEN@679..684
CODE_FENCE_MARKER@679..682 "```"
CODE_INFO@682..683
CODE_LANGUAGE@682..683 "r"
NEWLINE@683..684 "\n"
CODE_CONTENT@684..698
TEXT@684..690 "a <- 1"
NEWLINE@690..691 "\n"
TEXT@691..697 "b <- 2"
NEWLINE@697..698 "\n"
CODE_FENCE_CLOSE@698..702
CODE_FENCE_MARKER@698..701 "```"
NEWLINE@701..702 "\n"
BLANK_LINE@702..703
BLANK_LINE@702..703 "\n"
PARAGRAPH@703..738
TEXT@703..737 "A code block in a def ..."
NEWLINE@737..738 "\n"
BLANK_LINE@738..739
BLANK_LINE@738..739 "\n"
DEFINITION_LIST@739..809
DEFINITION_ITEM@739..809
TERM@739..745
TEXT@739..744 "Input"
NEWLINE@744..745 "\n"
DEFINITION@745..809
DEFINITION_MARKER@745..746 ":"
WHITESPACE@746..749 " "
CODE_BLOCK@749..809
CODE_FENCE_OPEN@749..763
CODE_FENCE_MARKER@749..752 "```"
WHITESPACE@752..753 " "
CODE_INFO@753..762
CODE_LANGUAGE@753..761 "markdown"
TEXT@761..762 " "
NEWLINE@762..763 "\n"
CODE_CONTENT@763..800
WHITESPACE@763..767 " "
TEXT@767..778 "# Heading 1"
NEWLINE@778..779 "\n"
WHITESPACE@779..783 " "
NEWLINE@783..784 "\n"
WHITESPACE@784..788 " "
TEXT@788..799 "# Heading 2"
NEWLINE@799..800 "\n"
WHITESPACE@800..804 " "
CODE_FENCE_CLOSE@804..809
CODE_FENCE_MARKER@804..807 "```"
WHITESPACE@807..808 " "
NEWLINE@808..809 "\n"