diff options
| author | Kyren223 <Kyren223@proton.me> | 2024-12-12 16:15:20 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2024-12-12 16:15:20 +0200 |
| commit | aa9c3d6a577a17fc90cbed2b0b4d5c70cb4528c1 (patch) | |
| tree | b3b68b3428e2dee34f34378b2a9f6f48c36e92ae /internal/client/ui/viminput/viminput.go | |
| parent | cd69bf019db4a63fa98aee4e483ec28b8bc64ff5 (diff) | |
Fixed bug where j/k in normal mode would not be on a char
Diffstat (limited to 'internal/client/ui/viminput/viminput.go')
| -rw-r--r-- | internal/client/ui/viminput/viminput.go | 8 |
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) } } |
