fix bug in 'k' motion: when we move from any other line to line 0, always unconditionally decrement column by 1
This commit is contained in:
@@ -209,13 +209,12 @@ struct
|
|||||||
val cursorLineNumber = LineGap.idxToLineNumber (cursorIdx, buffer)
|
val cursorLineNumber = LineGap.idxToLineNumber (cursorIdx, buffer)
|
||||||
val newCursorLineNumber = Int.max (cursorLineNumber - count, 0)
|
val newCursorLineNumber = Int.max (cursorLineNumber - count, 0)
|
||||||
|
|
||||||
val column = cursorIdx - startOfLine
|
|
||||||
val column =
|
|
||||||
if newCursorLineNumber = 0 then Int.max (column - 1, 0) else column
|
|
||||||
|
|
||||||
val buffer = LineGap.goToLine (newCursorLineNumber, buffer)
|
val buffer = LineGap.goToLine (newCursorLineNumber, buffer)
|
||||||
val lineIdx =
|
val lineIdx =
|
||||||
LineGap.lineNumberToIdx (newCursorLineNumber, buffer) + 1
|
LineGap.lineNumberToIdx (newCursorLineNumber, buffer) + 1
|
||||||
|
|
||||||
|
val column = cursorIdx - startOfLine
|
||||||
|
val column = if newCursorLineNumber = 0 then column - 1 else column
|
||||||
in
|
in
|
||||||
finishMoveCursorUpDown
|
finishMoveCursorUpDown
|
||||||
(app, newCursorLineNumber, buffer, column, lineIdx)
|
(app, newCursorLineNumber, buffer, column, lineIdx)
|
||||||
|
|||||||
Reference in New Issue
Block a user