page up/down

This commit is contained in:
~d6 2022-02-15 22:03:31 -05:00
parent 20f686d026
commit 5870afd9d1
1 changed files with 21 additions and 12 deletions

View File

@ -39,7 +39,6 @@
( TODO: ) ( TODO: )
( - optimize term drawing ) ( - optimize term drawing )
( - get long line truncation/scrolling working ) ( - get long line truncation/scrolling working )
( - page up/page down )
( - line numbers in left column (toggle mode?) ) ( - line numbers in left column (toggle mode?) )
( - help text ) ( - help text )
( - save file command -> tmp first ) ( - save file command -> tmp first )
@ -233,16 +232,26 @@
&done BRK &done BRK
@page-up @page-up
BRK ;bof-is-visible JSR2 ,&near-eof JCN
;buffer/line-offset LDA2
;term/rows LDA2 SUB2 #0003 ADD2
DUP2 ;abs-line JSR2 ;buffer/offset STA2
;buffer/line-offset STA2
;ensure-visible-cursor JSR2
;draw-all JSR2 BRK
&near-eof
#00 ;cursor/row STA
#00 ;cursor/col STA
;draw-cursor JSR2 BRK
@page-down @page-down
;eof-is-visible JSR2 ,&near-eof JCN ;eof-is-visible JSR2 ,&near-eof JCN
;buffer/line-offset LDA2 ;term/rows LDA2 ADD2 #0003 SUB2 ;buffer/line-offset LDA2
;buffer/line-count LDA2 ;min2 JSR2 ;term/rows LDA2 ADD2 #0003 SUB2
DUP2 ;abs-line JSR2 ;buffer/offset STA2 DUP2 ;abs-line JSR2 ;buffer/offset STA2
;buffer/line-offset STA2 ;buffer/line-offset STA2
;ensure-visible-cursor JSR2 ;ensure-visible-cursor JSR2
;draw-all JSR2 BRK ;draw-all JSR2 BRK
&near-eof &near-eof
;buffer/line-count LDA2 ;buffer/line-count LDA2
;buffer/line-offset LDA2 INC2 ;buffer/line-offset LDA2 INC2
@ -276,6 +285,9 @@
@at-line-start ( -> bool^ ) @at-line-start ( -> bool^ )
;cursor/col LDA #00 EQU JMP2r ;cursor/col LDA #00 EQU JMP2r
@bof-is-visible ( -> bool^ )
;buffer/line-offset LDA2 #0000 EQU2 JMP2r
@eof-is-visible ( -> bool^ ) @eof-is-visible ( -> bool^ )
;buffer/line-offset LDA2 ;term/rows LDA2 ADD2 INC2 ;buffer/line-offset LDA2 ;term/rows LDA2 ADD2 INC2
;buffer/line-count LDA2 ;buffer/line-count LDA2
@ -367,8 +379,7 @@
;rel-line-error ;error! JMP2 ;rel-line-error ;error! JMP2
( #00 #00 DIV BRK ) ( #00 #00 DIV BRK )
( TODO: M-v for page up and M-> for goto end ) ( TODO: M-f and M-b for next/previous word )
( M-f and M-b for next/previous word )
( M-n and M-p for next/previous paragraph ) ( M-n and M-p for next/previous paragraph )
( maybe M-% for search&replace ) ( maybe M-% for search&replace )
@on-key-escaped @on-key-escaped
@ -399,8 +410,6 @@
( TODO: C-g or C-h for help ) ( TODO: C-g or C-h for help )
( TODO: C-s for search ) ( TODO: C-s for search )
( TODO: C-v for page down )
( TODO: 8-bit meta/alt? )
( TODO: tab input? ) ( TODO: tab input? )
@on-key @on-key
;saw-esc LDA ;on-key-escaped JCN2 ;saw-esc LDA ;on-key-escaped JCN2