From 5eb548a126f1479f35091c2d36c040c97318f70e Mon Sep 17 00:00:00 2001 From: Johan Walles Date: Wed, 15 May 2024 20:34:01 +0200 Subject: [PATCH] Fix the warnings --- m/pager.go | 5 ++++- m/search.go | 30 ------------------------------ 2 files changed, 4 insertions(+), 31 deletions(-) diff --git a/m/pager.go b/m/pager.go index a1ddceb..1c1db9c 100644 --- a/m/pager.go +++ b/m/pager.go @@ -446,7 +446,10 @@ func (p *Pager) StartPaging(screen twin.Screen, chromaStyle *chroma.Style, chrom // Do nothing, we don't care about background color updates case eventGoToLine: - p.scrollPosition = NewScrollPositionFromLineNumber(event.lineNumber, "goToLine") + line := NewScrollPositionFromLineNumber(event.lineNumber, "goToLine") + if !line.isVisible(p) { + p.scrollPosition = line + } default: log.Warnf("Unhandled event type: %v", event) diff --git a/m/search.go b/m/search.go index 5b67346..00c0e7f 100644 --- a/m/search.go +++ b/m/search.go @@ -10,36 +10,6 @@ import ( "github.com/walles/moar/m/linenumbers" ) -func (p *Pager) scrollToSearchHits() { - if p.searchPattern == nil { - // This is not a search - return - } - - lineNumber := p.scrollPosition.lineNumber(p) - if lineNumber == nil { - // No lines to search - return - } - - firstHitPosition := p.findFirstHit(*lineNumber, nil, false) - if firstHitPosition == nil && (*lineNumber != linenumbers.LineNumber{}) { - // Try again from the top - firstHitPosition = p.findFirstHit(linenumbers.LineNumber{}, lineNumber, false) - } - if firstHitPosition == nil { - // No match, give up - return - } - - if firstHitPosition.isVisible(p) { - // Already on-screen, never mind - return - } - - p.scrollPosition = *firstHitPosition -} - // NOTE: When we search, we do that by looping over the *input lines*, not the // screen lines. That's why startPosition is a LineNumber rather than a // scrollPosition.