widget: introduce Editor.moveLines

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-06-20 13:23:39 +02:00
parent ef21a7ace1
commit dcbbcbb543
+6 -2
View File
@@ -209,6 +209,10 @@ func (e *Editor) processKey(gtx layout.Context) {
}
}
func (e *Editor) moveLines(distance int) {
e.caret.xoff = e.moveToLine(e.caret.x+e.caret.xoff, e.caret.line+distance)
}
func (e *Editor) command(k key.Event) bool {
switch k.Name {
case key.NameReturn, key.NameEnter:
@@ -218,9 +222,9 @@ func (e *Editor) command(k key.Event) bool {
case key.NameDeleteForward:
e.Delete(1)
case key.NameUpArrow:
e.caret.xoff = e.moveToLine(e.caret.x+e.caret.xoff, e.caret.line-1)
e.moveLines(-1)
case key.NameDownArrow:
e.caret.xoff = e.moveToLine(e.caret.x+e.caret.xoff, e.caret.line+1)
e.moveLines(+1)
case key.NameLeftArrow:
e.Move(-1)
case key.NameRightArrow: