MCPcopy Create free account
hub / github.com/wavetermdev/waveterm / NextLinePtr

Method NextLinePtr

pkg/util/logview/logview.go:84–105  ·  view source on GitHub ↗
(linePtr *LinePtr)

Source from the content-addressed store, hash-verified

82}
83
84func (lv *LogView) NextLinePtr(linePtr *LinePtr) (*LinePtr, error) {
85 if linePtr == nil {
86 return nil, fmt.Errorf("linePtr is nil")
87 }
88 numLines := int64(0)
89 offset := linePtr.Offset
90 for {
91 var err error
92 nextOffset, err := lv.MultiBuf.NextLine(offset)
93 if err == io.EOF {
94 return nil, nil
95 }
96 if err != nil {
97 return nil, err
98 }
99 numLines++
100 if lv.isLineMatch(nextOffset) {
101 return &LinePtr{Offset: nextOffset, RealLineNum: linePtr.RealLineNum + numLines, LineNum: linePtr.LineNum + 1}, nil
102 }
103 offset = nextOffset
104 }
105}
106
107func (lv *LogView) PrevLinePtr(linePtr *LinePtr) (*LinePtr, error) {
108 if linePtr == nil {

Callers 4

FirstLinePtrMethod · 0.95
MoveMethod · 0.95
LastLinePtrMethod · 0.95
ReadWindowMethod · 0.95

Calls 2

isLineMatchMethod · 0.95
NextLineMethod · 0.80

Tested by

no test coverage detected