summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2024-12-12 16:15:20 +0200
committerKyren223 <Kyren223@proton.me>2024-12-12 16:15:20 +0200
commitaa9c3d6a577a17fc90cbed2b0b4d5c70cb4528c1 (patch)
treeb3b68b3428e2dee34f34378b2a9f6f48c36e92ae
parentcd69bf019db4a63fa98aee4e483ec28b8bc64ff5 (diff)
Fixed bug where j/k in normal mode would not be on a char
-rw-r--r--internal/client/ui/viminput/viminput.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/client/ui/viminput/viminput.go b/internal/client/ui/viminput/viminput.go
index fa873fb..6d8206b 100644
--- a/internal/client/ui/viminput/viminput.go
+++ b/internal/client/ui/viminput/viminput.go
@@ -162,12 +162,16 @@ func (m *Model) SetCursorColumn(col int) {
func (m *Model) SetCursorLine(line int) {
m.cursorLine = min(max(line, 0), len(m.lines)-1)
fromLength := m.cursorColumn
- toLength := len(m.lines[m.cursorLine])
+ toLength := len(m.lines[m.cursorLine])
+ // In visual it's fine to be after the char
+ if m.mode == NormalMode {
+ toLength-- // In normal it's not (unless length == 0)
+ }
if fromLength > toLength && m.goalColumn == -1 {
m.goalColumn = fromLength
}
if m.goalColumn != -1 {
- m.cursorColumn = max(min(toLength-1, m.goalColumn), 0)
+ m.cursorColumn = max(min(toLength, m.goalColumn), 0)
}
}