mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
widget: add more editor shortcuts
Signed-off-by: Walter Werner SCHNEIDER <contact@schnwalter.eu>
This commit is contained in:
committed by
Chris Waldon
parent
8242234274
commit
7a9ce51988
+23
-4
@@ -639,9 +639,28 @@ func (e *textView) MoveCaret(startDelta, endDelta int) {
|
||||
e.caret.end = e.moveByGraphemes(e.caret.end, endDelta)
|
||||
}
|
||||
|
||||
// MoveStart moves the caret to the start of the current line, ensuring that the resulting
|
||||
// MoveTextStart moves the caret to the start of the text.
|
||||
func (e *textView) MoveTextStart(selAct selectionAction) {
|
||||
caret := e.closestToRune(e.caret.end)
|
||||
e.caret.start = 0
|
||||
e.caret.end = caret.runes
|
||||
e.caret.xoff = -caret.x
|
||||
e.updateSelection(selAct)
|
||||
e.clampCursorToGraphemes()
|
||||
}
|
||||
|
||||
// MoveTextEnd moves the caret to the end of the text.
|
||||
func (e *textView) MoveTextEnd(selAct selectionAction) {
|
||||
caret := e.closestToRune(math.MaxInt)
|
||||
e.caret.start = caret.runes
|
||||
e.caret.xoff = fixed.I(e.params.MaxWidth) - caret.x
|
||||
e.updateSelection(selAct)
|
||||
e.clampCursorToGraphemes()
|
||||
}
|
||||
|
||||
// MoveLineStart moves the caret to the start of the current line, ensuring that the resulting
|
||||
// cursor position is on a grapheme cluster boundary.
|
||||
func (e *textView) MoveStart(selAct selectionAction) {
|
||||
func (e *textView) MoveLineStart(selAct selectionAction) {
|
||||
caret := e.closestToRune(e.caret.start)
|
||||
caret = e.closestToLineCol(caret.lineCol.line, 0)
|
||||
e.caret.start = caret.runes
|
||||
@@ -650,9 +669,9 @@ func (e *textView) MoveStart(selAct selectionAction) {
|
||||
e.clampCursorToGraphemes()
|
||||
}
|
||||
|
||||
// MoveEnd moves the caret to the end of the current line, ensuring that the resulting
|
||||
// MoveLineEnd moves the caret to the end of the current line, ensuring that the resulting
|
||||
// cursor position is on a grapheme cluster boundary.
|
||||
func (e *textView) MoveEnd(selAct selectionAction) {
|
||||
func (e *textView) MoveLineEnd(selAct selectionAction) {
|
||||
caret := e.closestToRune(e.caret.start)
|
||||
caret = e.closestToLineCol(caret.lineCol.line, math.MaxInt)
|
||||
e.caret.start = caret.runes
|
||||
|
||||
Reference in New Issue
Block a user