feat: implement arrow keys in insert mode. Untested.
This commit is contained in:
parent
2cadb09350
commit
0a149b4e44
@ -210,6 +210,35 @@ func (m *Model) processInsertKey(key string) {
|
|||||||
}
|
}
|
||||||
m.SetCursorX(x + len(tabs))
|
m.SetCursorX(x + len(tabs))
|
||||||
|
|
||||||
|
case "up":
|
||||||
|
if y > 0 {
|
||||||
|
m.SetCursorY(y - 1)
|
||||||
|
m.ClampCursorX()
|
||||||
|
}
|
||||||
|
|
||||||
|
case "down":
|
||||||
|
if y+1 < m.LineCount() {
|
||||||
|
m.SetCursorY(y + 1)
|
||||||
|
m.ClampCursorX()
|
||||||
|
}
|
||||||
|
|
||||||
|
case "left":
|
||||||
|
if x > 0 {
|
||||||
|
m.SetCursorX(x - 1)
|
||||||
|
} else if y > 0 {
|
||||||
|
prevLine := m.Line(y - 1)
|
||||||
|
m.SetCursorX(len(prevLine))
|
||||||
|
m.SetCursorY(y - 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
case "right":
|
||||||
|
if x < len(l) {
|
||||||
|
m.SetCursorX(x + 1)
|
||||||
|
} else if y+1 < m.LineCount() {
|
||||||
|
m.SetCursorX(0)
|
||||||
|
m.SetCursorY(y + 1)
|
||||||
|
}
|
||||||
|
|
||||||
// Regular character
|
// Regular character
|
||||||
default:
|
default:
|
||||||
if x < len(l) {
|
if x < len(l) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user