diff options
| author | 2025-05-22 16:27:55 +0200 | |
|---|---|---|
| committer | 2025-05-22 16:27:55 +0200 | |
| commit | b6ff55662e0281c0d6e111f9307625ef695df2fa (patch) | |
| tree | 5f7761efa0b51a7a7d56f96fce3681c8e9b66fe9 /vendor/github.com/yuin/goldmark/text | |
| parent | [chore/woodpecker] don't make `test` depend on `lint` (#4189) (diff) | |
| download | gotosocial-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.go | 55 | ||||
| -rw-r--r-- | vendor/github.com/yuin/goldmark/text/segment.go | 6 |
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...) } |
