summaryrefslogtreecommitdiff
path: root/internal/text/goldmark_plaintext.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2023-05-09 12:16:10 +0200
committerLibravatar GitHub <noreply@github.com>2023-05-09 11:16:10 +0100
commit0e29f1f5bb68a48d9b837d7f4e0a16370734955b (patch)
treef08d203ec8ca8aeea728e5251b1dc3956524b4f4 /internal/text/goldmark_plaintext.go
parent[chore/performance] Make sender multiplier configurable (#1750) (diff)
downloadgotosocial-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.go38
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
+}