@@ 103,9 103,9 @@ BRK
;on-mouse-trap .Mouse/vector DEO2
#00 .Mouse/state DEO
( clear cursor )
- #40 ;draw-cursor ( .. )
+ #40 !draw-cursor
-JMP2
+( .. )
@untrap ( -- )
@@ 119,9 119,9 @@ JMP2
;file-new/untitled-txt ;filepath scpy
&no-empty
- #01 ;draw-filepath ( .. )
+ #01 !draw-filepath
-JMP2
+( .. )
@on-console ( -> )
@@ 223,11 223,11 @@ BRK
[ #22 ] NEQk NIP ?&no-ad select-next-marker POP BRK &no-ad
DUP #04 AND ?&shift
- .selection/from LDZ2 ROT ,arrow-to-addr JSR select-start
+ .selection/from LDZ2 ROT arrow-to-addr select-start
POP
BRK
&shift
- .selection/to LDZ2 ROT ,arrow-to-addr JSR select-end
+ .selection/to LDZ2 ROT arrow-to-addr select-end
POP
BRK
@@ 238,18 238,18 @@ BRK
DUP #02 AND ?&alt
( default )
#04 SFT
- [ #01 ] NEQk NIP ?&no-u ROT ROT #0001 SUB2 ;find-line-start JMP2 &no-u
+ [ #01 ] NEQk NIP ?&no-u ROT ROT #0001 SUB2 !find-line-start &no-u
[ #02 ] NEQk NIP ?&no-d ROT ROT find-line-end INC2 JMP2r &no-d
[ #04 ] NEQk NIP ?&no-l ROT ROT #0001 SUB2 JMP2r &no-l
[ #08 ] NEQk NIP ?&no-r ROT ROT INC2 JMP2r &no-r
&ctrl
#04 SFT
- [ #04 ] NEQk NIP ?&no-cl ROT ROT ;find-line-start JMP2 &no-cl
- [ #08 ] NEQk NIP ?&no-cr ROT ROT ;find-line-end JMP2 &no-cr
+ [ #04 ] NEQk NIP ?&no-cl ROT ROT !find-line-start &no-cl
+ [ #08 ] NEQk NIP ?&no-cr ROT ROT !find-line-end &no-cr
&alt
#04 SFT
- [ #04 ] NEQk NIP ?&no-al ROT ROT ;find-prev-spacer JMP2 &no-al
- [ #08 ] NEQk NIP ?&no-ar ROT ROT ;find-next-spacer JMP2 &no-ar
+ [ #04 ] NEQk NIP ?&no-al ROT ROT !find-prev-spacer &no-al
+ [ #08 ] NEQk NIP ?&no-ar ROT ROT !find-next-spacer &no-ar
ROT ROT
JMP2r
@@ 279,24 279,24 @@ BRK
.Mouse/state DEI STHk [ LIT &last $1 ]
( mouse1 )
DUP2 #0101 NEQ2 ?&no-drag
- ,touch-to-addr JSR select-end
+ touch-to-addr select-end
&no-drag
DUP2 #0100 NEQ2 ?&no-down
- ,touch-to-addr JSR
+ touch-to-addr
.Controller/button DEI
[ #04 ] NEQk NIP ?&no-shift
- POP select-end ,&no-down JMP
+ POP select-end !&no-down
&no-shift
[ #02 ] NEQk NIP ?&no-alt
POP select-word
- #00 .Mouse/state DEO ,&no-down JMP
+ #00 .Mouse/state DEO !&no-down
&no-alt
POP
select-start
&no-down
( mouse2 )
DUP2 #0200 NEQ2 ?&no-down2
- ,touch-to-addr JSR select-word
+ touch-to-addr select-word
#00 .Mouse/state DEO
&no-down2
( mouse3 )
@@ 365,7 365,7 @@ BRK
@scroll-to ( line* -- )
DUP2 .scroll/y LDZ2 EQU2 ?&skip
- DUP2 ,count-lines JSR GTH2 ?&skip
+ DUP2 count-lines GTH2 ?&skip
DUP2 set-scroll-y
draw-textarea
&skip
@@ 382,7 382,7 @@ JMP2r
@count-lines ( -- line* )
LITr -scroll/y LDZ2r
- ,get-eof JSR .scroll/addr LDZ2
+ get-eof .scroll/addr LDZ2
&while
LDAk #0a NEQ JMP INC2r
INC2 GTH2k ?&while
@@ 409,7 409,7 @@ JMP2r
DUP2 .scroll/y LDZ2 EQU2 ?&same
#00 draw-position
DUP2 .scroll/y STZ2
- DUP2 ,line-to-addr JSR .scroll/addr STZ2
+ DUP2 line-to-addr .scroll/addr STZ2
update-nav
#02 draw-position
&same
@@ 421,9 421,9 @@ JMP2r
STH2
.textarea/length LDZ2k STH2r ADD2 ROT STZ2
- #02 ;draw-state ( .. )
+ #02 !draw-state
-JMP2
+( .. )
@line-to-addr ( line* -- addr* )
@@ 445,7 445,7 @@ JMP2r
DUP2 find-line-start
&loop
EQU2k ?&end
- ,get-width JSR STH2 ADD2r
+ get-width STH2 ADD2r
INC2 GTH2k ?&loop
&end
POP2 POP2
@@ 479,13 479,13 @@ JMP2r
@update-selection ( -- )
( scroll-x )
- .selection/to LDZ2 #0001 SUB2 ,addr-to-x JSR #00a0 ADD2
+ .selection/to LDZ2 #0001 SUB2 addr-to-x #00a0 ADD2
.Screen/width DEI2 SUB2 DUP2 #8000 LTH2 ?&no-scroll
POP2 #0000
&no-scroll
set-scroll-x
( scroll-y )
- .selection/to LDZ2 ,addr-to-line JSR
+ .selection/to LDZ2 addr-to-line
DUP2 .scroll/y LDZ2 .textarea/lines LDZ2 ADD2 LTH2 ?&no-below
DUP2 .scroll/y LDZ2 .textarea/lines LDZ2 ADD2 SUB2
.scroll/y LDZ2 INC2 ADD2 set-scroll-y
@@ 494,19 494,19 @@ JMP2r
DUP2 set-scroll-y
&no-above
POP2
- ;draw-textarea ( .. )
+ !draw-textarea
-JMP2
+( .. )
@select-word ( addr* -- )
- find-prev-spacer INC2 DUP2 find-next-spacer ,select-range ( .. )
+ find-prev-spacer INC2 DUP2 find-next-spacer !select-range
-JMP
+( .. )
@select-start ( addr* -- )
- INC2k ,select-range JMP
+ INC2k !select-range
@select-end ( addr* -- )
@@ 514,17 514,17 @@ JMP
@select-range ( from* to* -- )
- ,set-selection JSR [ JMP JMP2r ]
+ set-selection [ JMP JMP2r ]
update-selection
- ;update-nav ( .. )
+ !update-nav
-JMP2
+( .. )
@select-prev-marker ( -- )
.selection/from LDZ2 get-current-marker #01 SUB
-,select-marker JMP
+!select-marker
@select-next-marker ( -- )
@@ 534,19 534,19 @@ JMP2
get-marker
DUP2 ;search slen ADD2
- ;select-range ( .. )
+ !select-range
-JMP2
+( .. )
@reset-selection ( -- )
- .selection/from LDZ2 INC2k ,set-selection JSR ?&no-unsearch
+ .selection/from LDZ2 INC2k set-selection ?&no-unsearch
#00 .search STZ
&no-unsearch
update-nav
- ;draw-textarea ( .. )
+ !draw-textarea
-JMP2
+( .. )
@set-selection ( from* to* -- changed )
@@ 571,9 571,9 @@ JMP2r
.selection/from LDZ2 get-eof .selection/length LDZ2 msfl
update-nav
- #0000 .selection/length LDZ2 SUB2 ;mod-length ( .. )
+ #0000 .selection/length LDZ2 SUB2 !mod-length
-JMP2
+( .. )
@insert ( char -- )
@@ 584,7 584,7 @@ JMP2
( convert linebreaks )
DUP #0d EQU #03 MUL SUB
- .selection/length LDZ2 #0001 EQU2 ,&no-block JCN
+ .selection/length LDZ2 #0001 EQU2 ?&no-block
erase-selection
.selection/from LDZ2 INC2k set-selection POP
&no-block
@@ 592,9 592,9 @@ JMP2
.selection/from LDZ2 STH2k #0001 SUB2 get-eof #0001 msfr
#0001 mod-length
STH2kr STA
- STH2r INC2 ;select-start ( .. )
+ STH2r INC2 !select-start
-JMP2
+( .. )
@erase ( -- )
@@ 602,15 602,15 @@ JMP2
.selection/length LDZ2 #0001 EQU2 ?&no-block
erase-selection
- ;reset-selection JMP2
+ !reset-selection
&no-block
.selection/from LDZ2 #0001 SUB2
DUP2 get-eof #0001 msfl
select-start
- #ffff ;mod-length ( .. )
+ #ffff !mod-length ( .. )
-JMP2
+( .. )
@delete ( -- )
@@ 618,15 618,15 @@ JMP2
.selection/length LDZ2 #0001 EQU2 ?&no-block
erase-selection
- ;reset-selection JMP2
+ !reset-selection
&no-block
.selection/from LDZ2 get-eof #0001 msfl
update-nav
#ffff mod-length
- ;draw-textarea ( .. )
+ !draw-textarea
-JMP2
+( .. )
( find )
@@ 679,9 679,9 @@ JMP2r
@toggle-highlight ( -- )
.textarea/highlight LDZk #00 EQU SWP STZ
- ;draw-textarea ( .. )
+ !draw-textarea
-JMP2
+( .. )
(
@|nav )
@@ 693,29 693,29 @@ JMP2
get-eof .scroll/addr LDZ2 find-first-marker
&l
LDA2k #0a LIT "@ NEQ2 ?&continue
- INC2 DUP2 ,add-marker JSR
+ INC2 DUP2 add-marker
INC2
&continue
( reached bottom ) .nav/len LDZ #18 GTH ?&end
INC2 GTH2k ?&l
&end
POP2 POP2
- ;draw-navbar ( .. )
+ !draw-navbar
-JMP2
+( .. )
&when-search ( -- )
get-eof ;text
&loop
;search OVR2 sseg #00 EQU ?&no-find
- DUP2 ,add-marker JSR
+ DUP2 add-marker
&no-find
INC2 GTH2k ?&loop
POP2 POP2
- ;draw-navbar ( .. )
+ !draw-navbar
-JMP2
+( .. )
@add-marker ( addr* -- )
@@ 747,7 747,7 @@ JMP2r
STH2
.nav/len LDZ #00
&loop
- DUP ,get-marker JSR #0001 SUB2 STH2kr GTH2 ?&end
+ DUP get-marker #0001 SUB2 STH2kr GTH2 ?&end
INC GTHk ?&loop
&end
NIP #01 SUB
@@ 765,9 765,9 @@ JMP2r
.selection/from LDZ2 ;search
( length ) .selection/length LDZ2 #0020 LTH2k [ JMP SWP2 POP2 ]
mcpy
- ;update-nav ( .. )
+ !update-nav
-JMP2
+( .. )
(
@|drawing )
@@ 777,9 777,9 @@ JMP2
draw-spacer
draw-scrollbar
draw-navbar
- ;draw-textarea ( .. )
+ !draw-textarea
-JMP2
+( .. )
@draw-textarea ( -- )
@@ 807,15 807,15 @@ JMP2
#15 .Screen/auto DEO
get-eof INC2 .scroll/addr LDZ2
&loop
- ,draw-token JSR
+ draw-token
.Screen/y DEI2 .Screen/height DEI2 #0010 SUB2 GTH2 ?&end
LDAk #00 EQU ?&end
GTH2k ?&loop
&end
POP2 POP2
- ;draw-scrollbar ( .. )
+ !draw-scrollbar
-JMP2
+( .. )
@draw-token ( str* -- str* )
@@ 854,7 854,7 @@ JMP2r
&continue
( set color )
SWP2
- ,draw-token/is-selected JSR #0d01 ROT [ JMP SWP POP ]
+ draw-token/is-selected #0d01 ROT [ JMP SWP POP ]
;draw-ufx/color STA
SWP2
( draw glyph )
@@ 919,7 919,7 @@ JMP2r
@draw-special ( char -- )
[ #09 ] NEQk NIP ?&no-tab
- POP #10 ;tab-icn ;draw-ufx/seg JMP2
+ POP #10 ;tab-icn !draw-ufx/seg
&no-tab
[ #0a ] NEQk NIP ?&no-linebreak
POP #08 ;linebreak-icn draw-ufx/seg
@@ 927,9 927,9 @@ JMP2r
#0010 .scroll/x LDZ2 SUB2 #0080 ADD2 .Screen/x DEO2
JMP2r
&no-linebreak
- POP #08 ;checkered-icn ;draw-ufx/seg ( .. )
+ POP #08 ;checkered-icn !draw-ufx/seg
-JMP2
+( .. )
@draw-scrollbar ( -- )
@@ 1029,7 1029,7 @@ JMP2r
@draw-str-right ( text* -- )
- DUP2 ,get-strw JSR STH2
+ DUP2 get-strw STH2
.Screen/x DEI2k STH2r SUB2 ROT DEO2
@draw-str ( str* -- str* )
@@ 1037,7 1037,7 @@ JMP2r
LDAk #00 EQU ?&skip
#15 .Screen/auto DEO
&while
- LDAk ,draw-chr JSR
+ LDAk draw-chr
INC2 LDAk ?&while
&skip
INC2
@@ 1059,13 1059,13 @@ JMP2r
find-prev-spacer INC2
&while
.Screen/x DEI2 #0078 GTH2 ?&truncate
- LDAk ,draw-chr JSR
+ LDAk draw-chr
INC2 LDAk #20 GTH ?&while
&skip
INC2
JMP2r
- &truncate LIT ". DUP ,draw-chr JSR ,draw-chr JMP
+ &truncate LIT ". DUP draw-chr !draw-chr
@draw-filepath ( color -- )
@@ 1095,9 1095,9 @@ JMP2r
#03e8 ,&parse JSR
#0064 ,&parse JSR
#000a ,&parse JSR
- NIP #30 ADD ;draw-chr ( .. )
+ NIP #30 ADD !draw-chr
-JMP2
+( .. )
&parse
DIV2k DUPk [ LIT &z $1 ] EQU ?&skip
DUP #30 ADD draw-chr #ff ,&z STR
@@ 1138,9 1138,9 @@ JMP2r
( draw )
#01 draw-filepath
update-nav
- ;draw-textarea ( .. )
+ !draw-textarea
-JMP2
+( .. )
&untitled-txt "untitled.txt $1
@file-goto ( -- )
@@ 1163,9 1163,9 @@ JMP2
( draw )
reset-selection
#01 draw-filepath
- #01 ;draw-state ( .. )
+ #01 !draw-state
-JMP2
+( .. )
&tal-ext ".tal $1
@file-save ( -- )
@@ 1173,9 1173,9 @@ JMP2
;filepath .File/name DEO2
;text slen .File/length DEO2
;text .File/write DEO2
- #01 ;draw-state ( .. )
+ #01 !draw-state
-JMP2
+( .. )
( snarf )
@@ 1183,12 1183,12 @@ JMP2
@edit-cut ( -- )
- ,edit-copy JSR
+ edit-copy
erase-selection
- ;reset-selection ( .. )
+ !reset-selection
-JMP2
+( .. )
@edit-copy ( -- )
@@ 1219,25 1219,25 @@ JMP2r
;snarf-txt .File/name DEO2
STH2kr .File/length DEO2
.selection/from LDZ2 .File/read DEO2
- .selection/from LDZ2 STH2r ADD2 ;select-start ( .. )
+ .selection/from LDZ2 STH2r ADD2 !select-start
-JMP2
+( .. )
@edit-select-at ( -- )
- .selection/from LDZ2 ;select-word ( .. )
+ .selection/from LDZ2 !select-word
-JMP2
+( .. )
(
@|stdlib )
-@scmp ( a* b* -- f ) STH2 &l LDAk LDAkr STHr ANDk #00 EQU ?&e NEQk ?&e POP2 INC2 INC2r ,&l JMP &e NIP2 POP2r EQU JMP2r
-@shex ( str* -- val* ) LIT2r 0000 &w LITr 40 SFT2r LITr 00 LDAk ,chex JSR STH ADD2r INC2 LDAk ?&w POP2 STH2r JMP2r
+@scmp ( a* b* -- f ) STH2 &l LDAk LDAkr STHr ANDk #00 EQU ?&e NEQk ?&e POP2 INC2 INC2r !&l &e NIP2 POP2r EQU JMP2r
+@shex ( str* -- val* ) LIT2r 0000 &w LITr 40 SFT2r LITr 00 LDAk chex STH ADD2r INC2 LDAk ?&w POP2 STH2r JMP2r
@chex ( c -- val ) LIT "0 SUB DUP #09 GTH JMP JMP2r #27 SUB DUP #0f GTH JMP JMP2r POP #ff JMP2r
@msfl ( b* a* len* -- ) STH2 SWP2 EQU2k ?&e &l DUP2k STH2kr ADD2 LDA ROT ROT STA INC2 GTH2k ?&l POP2 POP2 &e POP2r JMP2r
@msfr ( b* a* len* -- ) STH2 EQU2k ?&e &l DUP2 LDAk ROT ROT STH2kr ADD2 STA #0001 SUB2 LTH2k ?&l POP2 POP2 &e POP2r JMP2r
-@sseg ( a* b* -- f ) STH2 &l LDAk LDAkr STHr NEQ ?&e INC2k LDA #00 EQU ?&e INC2 INC2r ,&l JMP &e LDA LDAr STHr EQU JMP2r
+@sseg ( a* b* -- f ) STH2 &l LDAk LDAkr STHr NEQ ?&e INC2k LDA #00 EQU ?&e INC2 INC2r !&l &e LDA LDAr STHr EQU JMP2r
@mcpy ( src* dst* len* -- ) SWP2 STH2 OVR2 ADD2 SWP2 &loop LDAk STH2kr STA INC2r INC2 GTH2k ?&loop POP2 POP2 POP2r JMP2r
@sclr ( str* -- ) &w STH2k #00 STH2r STA INC2 LDAk ?&w POP2 JMP2r
@@ 38,7 38,7 @@ BRK
( don't leave if menu is active )
;draw-menu/sel LDA INC ?&no-leave
.Mouse/y DEI2 #0014 LTH2 ?&no-leave
- ,menu-close JSR
+ menu-close
&no-leave
BRK
@@ 75,15 75,15 @@ JMP2r
#ff ;draw-sub/sel STA
DUP ;draw-menu/sel STA
#ff draw-sub
- ;draw-menu ( .. )
+ !draw-menu
-JMP2
+( .. )
@menu-deselect ( cat cat -- )
- POP2 ;menu-close ( .. )
+ POP2 !menu-close
-JMP2
+( .. )
@menu-select-sub ( sub -- )
@@ 186,13 186,13 @@ JMP2r
,&mk STR2
;draw-menu/manifest LDA2
&cat
- LDAk STH INC2 ,skip-str JSR
+ LDAk STH INC2 skip-str
STHr #00
&subcat
OVR2 LDA2 [ LIT2 &mk $2 ] NEQ2 ?&continue
POP2 INC2 INC2 LDA2 JMP2r
&continue
- SWP2 #0004 ADD2 ,skip-str JSR SWP2
+ SWP2 #0004 ADD2 skip-str SWP2
INC GTHk ?&subcat
POP2
LDAk ?&cat
@@ 206,7 206,7 @@ JMP2r
LDAk STH INC2 skip-str
STHr #00
&subcat
- SWP2 #0004 ADD2 ,skip-str JSR SWP2
+ SWP2 #0004 ADD2 skip-str SWP2
INC GTHk ?&subcat
POP2
@@ 289,12 289,12 @@ JMP2
LIT "+ ;&buf sput
&no-mod
( key )
- DUP #08 NEQ ?&no-bsp ;&bsp ,&cat JMP &no-bsp
- DUP #09 NEQ ?&no-tab ;&tab ,&cat JMP &no-tab
- DUP #0d NEQ ?&no-ent ;&ent ,&cat JMP &no-ent
- DUP #20 NEQ ?&no-spc ;&spc ,&cat JMP &no-spc
- DUP #1b NEQ ?&no-esc ;&esc ,&cat JMP &no-esc
- DUP #7f NEQ ?&no-del ;&del ,&cat JMP &no-del
+ DUP #08 NEQ ?&no-bsp ;&bsp !&cat &no-bsp
+ DUP #09 NEQ ?&no-tab ;&tab !&cat &no-tab
+ DUP #0d NEQ ?&no-ent ;&ent !&cat &no-ent
+ DUP #20 NEQ ?&no-spc ;&spc !&cat &no-spc
+ DUP #1b NEQ ?&no-esc ;&esc !&cat &no-esc
+ DUP #7f NEQ ?&no-del ;&del !&cat &no-del
DUP ;&buf sput
&end
POP
@@ 309,7 309,7 @@ JMP2r
@update-cursor ( color addr* -- )
#00 .Screen/auto DEO
- #40 ,draw-cursor JSR
+ #40 draw-cursor
.Mouse/x DEI2 .cursor/x STZ2
.Mouse/y DEI2 .cursor/y STZ2
.Screen/addr DEO2
@@ 343,10 343,10 @@ JMP2r
@|stdlib )
@scap ( str* -- end* ) LDAk #00 NEQ JMP JMP2r &w INC2 LDAk ?&w JMP2r
-@spop ( str* -- ) LDAk ?&n POP2 JMP2r &n ,scap JSR #0001 SUB2 #00 ROT ROT STA JMP2r
-@sput ( chr str* -- ) ,scap JSR INC2k #00 ROT ROT STA STA JMP2r
-@slen ( str* -- len* ) DUP2 ,scap JSR SWP2 SUB2 JMP2r
-@scat ( src* dst* -- ) ,scap JSR
+@spop ( str* -- ) LDAk ?&n POP2 JMP2r &n scap #0001 SUB2 #00 ROT ROT STA JMP2r
+@sput ( chr str* -- ) scap INC2k #00 ROT ROT STA STA JMP2r
+@slen ( str* -- len* ) DUP2 scap SWP2 SUB2 JMP2r
+@scat ( src* dst* -- ) scap
@scpy ( src* dst* -- ) STH2 &w LDAk STH2kr STA INC2r INC2 LDAk ?&w POP2 #00 STH2r STA JMP2r
@mclr ( src* len* -- ) OVR2 ADD2 SWP2 &l STH2k #00 STH2r STA INC2 GTH2k ?&l POP2 POP2 JMP2r
@phex ( short* -- ) SWP ,&b JSR &b DUP #04 SFT ,&c JSR &c #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO JMP2r