From c781933d6b1cb26d62958683060974bdfec32242 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 27 May 2020 11:43:29 -0700 Subject: [PATCH] ui.gadgets.editors: fix page-up/page-down behavior. --- basis/ui/gadgets/editors/editors.factor | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/basis/ui/gadgets/editors/editors.factor b/basis/ui/gadgets/editors/editors.factor index 26805dfb75..f7db62e93b 100644 --- a/basis/ui/gadgets/editors/editors.factor +++ b/basis/ui/gadgets/editors/editors.factor @@ -570,22 +570,28 @@ TUPLE: multiline-editor < editor ; ; +: page-elt ( editor n -- editor element ) + over visible-lines 1 - min 1 max ; + +: prev-page-elt ( editor -- editor element ) + dup editor-caret first page-elt ; + +: next-page-elt ( editor -- editor element ) + dup [ control-value length ] [ editor-caret first ] bi - page-elt ; PRIVATE> -: previous-page ( editor -- ) page-elt editor-prev ; +: previous-page ( editor -- ) prev-page-elt editor-prev ; -: next-page ( editor -- ) page-elt editor-next ; +: next-page ( editor -- ) next-page-elt editor-next ; : select-previous-line ( editor -- ) line-elt editor-select-prev ; : select-next-line ( editor -- ) line-elt editor-select-next ; -: select-previous-page ( editor -- ) page-elt editor-select-prev ; +: select-previous-page ( editor -- ) prev-page-elt editor-select-prev ; -: select-next-page ( editor -- ) page-elt editor-select-next ; +: select-next-page ( editor -- ) next-page-elt editor-select-next ; : insert-newline ( editor -- ) "\n" swap user-input* drop ; -- 2.34.1