diff options
author | 2023-05-09 12:16:10 +0200 | |
---|---|---|
committer | 2023-05-09 11:16:10 +0100 | |
commit | 0e29f1f5bb68a48d9b837d7f4e0a16370734955b (patch) | |
tree | f08d203ec8ca8aeea728e5251b1dc3956524b4f4 /internal/text/goldmark_plaintext.go | |
parent | [chore/performance] Make sender multiplier configurable (#1750) (diff) | |
download | gotosocial-0e29f1f5bb68a48d9b837d7f4e0a16370734955b.tar.xz |
[feature] Enable federation in/out of profile PropertyValue fields (#1722)
Co-authored-by: kim <grufwub@gmail.com>
Co-authored-by: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com>
Diffstat (limited to 'internal/text/goldmark_plaintext.go')
-rw-r--r-- | internal/text/goldmark_plaintext.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/internal/text/goldmark_plaintext.go b/internal/text/goldmark_plaintext.go index 6f841920c..635fdfc33 100644 --- a/internal/text/goldmark_plaintext.go +++ b/internal/text/goldmark_plaintext.go @@ -60,3 +60,41 @@ func (b *plaintextParser) CanInterruptParagraph() bool { func (b *plaintextParser) CanAcceptIndentedLine() bool { return true } + +// plaintextParserNoParagraph implements goldmark.parser.BlockParser +type plaintextParserNoParagraph struct{} + +var defaultPlaintextParserNoParagraph = &plaintextParserNoParagraph{} + +func newPlaintextParserNoParagraph() parser.BlockParser { + return defaultPlaintextParserNoParagraph +} + +func (b *plaintextParserNoParagraph) Trigger() []byte { + return nil +} + +func (b *plaintextParserNoParagraph) Open(parent ast.Node, reader text.Reader, pc parser.Context) (ast.Node, parser.State) { + _, segment := reader.PeekLine() + node := ast.NewDocument() + node.Lines().Append(segment) + reader.Advance(segment.Len() - 1) + return node, parser.NoChildren +} + +func (b *plaintextParserNoParagraph) Continue(node ast.Node, reader text.Reader, pc parser.Context) parser.State { + _, segment := reader.PeekLine() + node.Lines().Append(segment) + reader.Advance(segment.Len() - 1) + return parser.Continue | parser.NoChildren +} + +func (b *plaintextParserNoParagraph) Close(node ast.Node, reader text.Reader, pc parser.Context) {} + +func (b *plaintextParserNoParagraph) CanInterruptParagraph() bool { + return false +} + +func (b *plaintextParserNoParagraph) CanAcceptIndentedLine() bool { + return true +} |