diff --git a/Iceshrimp.Parsing/Mfm.fs b/Iceshrimp.Parsing/Mfm.fs index 25b7d2ef..a73fc280 100644 --- a/Iceshrimp.Parsing/Mfm.fs +++ b/Iceshrimp.Parsing/Mfm.fs @@ -302,9 +302,13 @@ module private MfmParser = let quoteNode = previousCharSatisfiesNot isNotNewline - >>. many1 (pchar '>' >>. (opt (pchar ' ')) >>. (many1Till inlineNode (skipNewline <|> eof))) - .>> opt (attempt (skipNewline >>. (notFollowedBy <| pchar '>'))) - .>>. ((opt (attempt (skipNewline >>. (followedBy <| pchar '>')))) .>>. opt eof) + >>. many1 ( + pchar '>' + >>. (opt <| pchar ' ') + >>. (many1Till inlineNode (skipNewline <|> eof)) + ) + .>> (opt <| attempt (skipNewline >>. (notFollowedBy <| pchar '>'))) + .>>. (opt <| attempt (skipNewline >>. (followedBy <| pchar '>')) .>>. opt eof) |>> fun (q, (followedByQuote, followedByEof)) -> MfmQuoteNode( List.collect (fun e -> e @ [ (MfmCharNode('\n') :> MfmInlineNode) ]) q