summaryrefslogtreecommitdiff
path: root/vendor/github.com/yuin/goldmark/text
diff options
context:
space:
mode:
authorLibravatar kim <grufwub@gmail.com>2025-05-22 16:27:55 +0200
committerLibravatar kim <gruf@noreply.codeberg.org>2025-05-22 16:27:55 +0200
commitb6ff55662e0281c0d6e111f9307625ef695df2fa (patch)
tree5f7761efa0b51a7a7d56f96fce3681c8e9b66fe9 /vendor/github.com/yuin/goldmark/text
parent[chore/woodpecker] don't make `test` depend on `lint` (#4189) (diff)
downloadgotosocial-b6ff55662e0281c0d6e111f9307625ef695df2fa.tar.xz
[chore] update dependencies (#4188)
Update dependencies: - github.com/gin-gonic/gin v1.10.0 -> v1.10.1 - github.com/gin-contrib/sessions v1.10.3 -> v1.10.4 - github.com/jackc/pgx/v5 v5.7.4 -> v5.7.5 - github.com/minio/minio-go/v7 v7.0.91 -> v7.0.92 - github.com/pquerna/otp v1.4.0 -> v1.5.0 - github.com/tdewolff/minify/v2 v2.23.5 -> v2.23.8 - github.com/yuin/goldmark v1.7.11 -> v1.7.12 - go.opentelemetry.io/otel{,/*} v1.35.0 -> v1.36.0 - modernc.org/sqlite v1.37.0 -> v1.37.1 Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4188 Reviewed-by: Daenney <daenney@noreply.codeberg.org> Co-authored-by: kim <grufwub@gmail.com> Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'vendor/github.com/yuin/goldmark/text')
-rw-r--r--vendor/github.com/yuin/goldmark/text/reader.go55
-rw-r--r--vendor/github.com/yuin/goldmark/text/segment.go6
2 files changed, 48 insertions, 13 deletions
diff --git a/vendor/github.com/yuin/goldmark/text/reader.go b/vendor/github.com/yuin/goldmark/text/reader.go
index b3f97fb56..21083dcbb 100644
--- a/vendor/github.com/yuin/goldmark/text/reader.go
+++ b/vendor/github.com/yuin/goldmark/text/reader.go
@@ -55,6 +55,11 @@ type Reader interface {
// reader.
AdvanceAndSetPadding(int, int)
+ // AdvanceToEOL advances the internal pointer to the end of line.
+ // If the line ends with a newline, it will be included in the segment.
+ // If the line ends with EOF, it will not be included in the segment.
+ AdvanceToEOL()
+
// AdvanceLine advances the internal pointer to the next line head.
AdvanceLine()
@@ -220,21 +225,46 @@ func (r *reader) AdvanceAndSetPadding(n, padding int) {
}
}
+func (r *reader) AdvanceToEOL() {
+ if r.pos.Start >= r.sourceLength {
+ return
+ }
+
+ r.lineOffset = -1
+ i := -1
+ if r.peekedLine != nil {
+ r.pos.Start += len(r.peekedLine) - r.pos.Padding - 1
+ if r.source[r.pos.Start] == '\n' {
+ i = 0
+ }
+ }
+ if i == -1 {
+ i = bytes.IndexByte(r.source[r.pos.Start:], '\n')
+ }
+ r.peekedLine = nil
+ if i != -1 {
+ r.pos.Start += i
+ } else {
+ r.pos.Start = r.sourceLength
+ }
+ r.pos.Padding = 0
+}
+
func (r *reader) AdvanceLine() {
r.lineOffset = -1
r.peekedLine = nil
r.pos.Start = r.pos.Stop
r.head = r.pos.Start
- if r.pos.Start < 0 {
+ if r.pos.Start < 0 || r.pos.Start >= r.sourceLength {
return
}
r.pos.Stop = r.sourceLength
- for i := r.pos.Start; i < r.sourceLength; i++ {
- c := r.source[i]
- if c == '\n' {
- r.pos.Stop = i + 1
- break
- }
+ i := 0
+ if r.source[r.pos.Start] != '\n' {
+ i = bytes.IndexByte(r.source[r.pos.Start:], '\n')
+ }
+ if i != -1 {
+ r.pos.Stop = r.pos.Start + i + 1
}
r.line++
r.pos.Padding = 0
@@ -444,6 +474,17 @@ func (r *blockReader) AdvanceAndSetPadding(n, padding int) {
}
}
+func (r *blockReader) AdvanceToEOL() {
+ r.lineOffset = -1
+ r.pos.Padding = 0
+ c := r.source[r.pos.Stop-1]
+ if c == '\n' {
+ r.pos.Start = r.pos.Stop - 1
+ } else {
+ r.pos.Start = r.pos.Stop
+ }
+}
+
func (r *blockReader) AdvanceLine() {
r.SetPosition(r.line+1, NewSegment(invalidValue, invalidValue))
r.head = r.pos.Start
diff --git a/vendor/github.com/yuin/goldmark/text/segment.go b/vendor/github.com/yuin/goldmark/text/segment.go
index 93fbf1994..30655dd3f 100644
--- a/vendor/github.com/yuin/goldmark/text/segment.go
+++ b/vendor/github.com/yuin/goldmark/text/segment.go
@@ -176,17 +176,11 @@ func NewSegments() *Segments {
// Append appends the given segment after the tail of the collection.
func (s *Segments) Append(t Segment) {
- if s.values == nil {
- s.values = make([]Segment, 0, 20)
- }
s.values = append(s.values, t)
}
// AppendAll appends all elements of given segments after the tail of the collection.
func (s *Segments) AppendAll(t []Segment) {
- if s.values == nil {
- s.values = make([]Segment, 0, 20)
- }
s.values = append(s.values, t...)
}