isIndented() || ! \in_array($cursor->getNextNonSpaceCharacter(), ['#', '-', '='], true)) { return BlockStart::none(); } $cursor->advanceToNextNonSpaceOrTab(); if ($atxHeading = self::getAtxHeader($cursor)) { return BlockStart::of($atxHeading)->at($cursor); } $setextHeadingLevel = self::getSetextHeadingLevel($cursor); if ($setextHeadingLevel > 0) { $content = $parserState->getParagraphContent(); if ($content !== null) { $cursor->advanceToEnd(); return BlockStart::of(new HeadingParser($setextHeadingLevel, $content)) ->at($cursor) ->replaceActiveBlockParser(); } } return BlockStart::none(); } private static function getAtxHeader(Cursor $cursor): ?HeadingParser { $match = RegexHelper::matchFirst('/^#{1,6}(?:[ \t]+|$)/', $cursor->getRemainder()); if (! $match) { return null; } $cursor->advanceToNextNonSpaceOrTab(); $cursor->advanceBy(\strlen($match[0])); $level = \strlen(\trim($match[0])); $str = $cursor->getRemainder(); $str = \preg_replace('/^[ \t]*#+[ \t]*$/', '', $str); \assert(\is_string($str)); $str = \preg_replace('/[ \t]+#+[ \t]*$/', '', $str); \assert(\is_string($str)); return new HeadingParser($level, $str); } private static function getSetextHeadingLevel(Cursor $cursor): int { $match = RegexHelper::matchFirst('/^(?:=+|-+)[ \t]*$/', $cursor->getRemainder()); if ($match === null) { return 0; } return $match[0][0] === '=' ? 1 : 2; } } __halt_compiler();----SIGNATURE:----N6vNfr5PX/gE5CzlJ6xgYviHV1Sag4fR96ZARbm3uSe8bLtC9bRSF4NbiGcOLf1f8Do7kmwfXI3zWTVoJJVJblF6QbvBcVZMtKsLAaXIJRVQrPWXOk+KujTitJKaSstLkGMRIHzAL8y+Z9oVLrkjCuYNzFB6qbpFplCpGeV8lzGsPdRbBAX5OFHuS0T/F5Bk1ehIdIPaVx9XCNMaY4o4xO6ap2Xw3rHEgJrU+5h/f1dR7WAlpHVLzjljovEkduajKAf0C/B4C6iSSTd3dxqon7yaiIuoZQuk4n6/JJlnkX04FRUnE9a1d0psF1Ju8c0pP+bUsi8jBEhezHIomq1HCNLFOgVQTIBoXllUteb0H1qDfboj4ZNboyd7R8qudculWRVuN6KM2gXuxPmk8xrLQ5b+RkKz6RSNIow6uTSbAufOeJPMF1tuAhi/kAdikexZDTdOj95AS32fhABFP7fKtusbP+YcAukyYlGj1DmNCiasj8/7LSwzY/q6DiuMtyn/D+dzk3L4ZmxxwS4bu9CNggPlASsMbPypzecqKlvCTZCKL7Bd6ZOLFrKhkeoS8zwSM+Vj5DPV9ciFOw2pWFFZ+5q0dlkOezBCQuxhWor7KZZEFllyXMko85DfvAuusw5U3ecqMTKmXRevJCEoEwdyw2YAsfMLqHhUiIo3OhMER/k=----ATTACHMENT:----NzU2MzcwNDg0ODM2NzYzMSAyNzQ0ODc0NzA2MTExNjk4IDYyMjYwMDA5ODIwNzI1ODQ=