~rabbits/left

fbc705cbb6f4c85a8cddacfc04e83fc1ad932dfa — Devine Lu Linvega 13 days ago 033eab4
Faster update-nev
2 files changed, 18 insertions(+), 22 deletions(-)

M src/left.tal
M src/manifest.tal
M src/left.tal => src/left.tal +6 -7
@@ 411,8 411,7 @@ JMP2r

@set-scroll-y ( line* -- )

	( reset ratio )
	#0001 count-lines .scrollbar/height LDZ2 DIV2 NIP #40 SFT SFT2 .scroll/ratio STZ2
	update-scrollbar
	DUP2 .scroll/y LDZ2 EQU2 ?&skip
	#00 draw-position
	DUP2 .scroll/y STZ2


@@ 617,13 616,13 @@ JMP2r

@toggle-highlight ( -- )

	.textarea/highlight LDZk #00 EQU SWP STZ
	.textarea/highlight LDZk #01 EOR SWP STZ

!draw-textarea

@toggle-monospace ( -- )

	.textarea/monospace LDZk #00 EQU SWP STZ
	.textarea/monospace LDZk #01 EOR SWP STZ

!draw-textarea



@@ 632,12 631,12 @@ JMP2r

@update-nav ( -- )

	#00 .nav/len STZ
	[ LIT2 00 -nav/len ] STZ
	;search LDA ?&when-search
	get-eof .scroll/addr LDZ2 find-first-marker
	&l
		LDA2k [ LIT2 0a "@ ] NEQ2 ?&no-label
			INC2 DUP2 add-marker INC2
			INC2k add-marker
			&no-label
		( reached bottom ) .nav/len LDZ #18 GTH ?&end
		INC2 GTH2k ?&l


@@ 652,7 651,7 @@ JMP2r
	&l2
		LDA2k [ LIT2 0a "@ ] NEQ2 ?&no-flabel
		INC2k LDA2 [ LIT2 "@| ] NEQ2 ?&no-flabel
			INC2 DUP2 add-marker INC2
			INC2k add-marker
			&no-flabel
		;search OVR2 sseg #00 EQU ?&no-find
			DUP2 find-prev-spacer INC2 add-marker

M src/manifest.tal => src/manifest.tal +12 -15
@@ 11,12 11,12 @@ BRK

@on-mouse-menu ( -> )

	#00 .Mouse/state DEI NEQ #42 ADD ;hand-icn update-cursor
	[ LIT2 00 -Mouse/state ] DEI NEQ #42 ADD ;hand-icn update-cursor
	( when touch cat )
	#00 .Mouse/state DEI EQU ?&no-touch-cat
	[ LIT2 00 -Mouse/state ] DEI EQU ?&no-touch-cat
	.Mouse/y DEI2 #0014 GTH2 ?&no-touch-cat
		.Mouse/x DEI2 #0004 ADD2 get-xcat menu-select
		( release ) #00 .Mouse/state DEO
		( release ) [ LIT2 00 -Mouse/state ] DEO
		BRK
		&no-touch-cat
	( when sub active )


@@ 29,9 29,9 @@ BRK
			&no-change
		POP
		( when touch sub )
		#00 .Mouse/state DEI EQU ?&no-touch-sub
		[ LIT2 00 -Mouse/state ] DEI EQU ?&no-touch-sub
			;draw-sub/sel LDA menu-select-sub
			( release ) #00 .Mouse/state DEO
			( release ) [ LIT2 00 -Mouse/state ] DEO
			&no-touch-sub
		BRK
		&no-sub


@@ 101,8 101,7 @@ JMP2r
	#00 ,&id STR
	;draw-menu/manifest LDA2
	&cat
		[ LIT &id 00 ]
			INCk ,&id STR
		[ LIT &id 00 ] INCk ,&id STR
			STHkr EQU ?&end
		skip-sub
		LDAk ?&cat


@@ 138,13 137,11 @@ JMP2r
@get-catx ( cat -- x* )

	LIT2r 0000
	,&target STR
	,&t STR
	#00 ,&id STR
	;draw-menu/manifest LDA2
	&cat
		[ LIT &target $1 ]
		[ LIT &id 00 ]
			INCk ,&id STR
		[ LIT &t $1 ] [ LIT &id 00 ] INCk ,&id STR
			EQU ?&end
		INC2k get-strw #0008 ADD2 STH2 ADD2r
		skip-sub


@@ 160,12 157,12 @@ JMP2r

	#0010 SUB2
	LIT2r 0000
	,&target STR2
	,&t STR2
	#00 ,&id STR
	;draw-menu/manifest LDA2
	&cat
		INC2k get-strw #0008 ADD2 STH2r ADD2
		DUP2 [ LIT2 &target $2 ] LTH2 ?&continue
		DUP2 [ LIT2 &t $2 ] LTH2 ?&continue
			POP2 POP2 [ LIT &id 00 ] JMP2r
			&continue
			STH2


@@ 227,8 224,7 @@ JMP2r
	#00 ,&id STR
	[ LIT2 &manifest =manifest ]
	&cat
		#0401 [ LIT &sel ff ] [ LIT &id $1 ]
			INCk ,&id STR
		#0401 [ LIT &sel ff ] [ LIT &id $1 ] INCk ,&id STR
			EQU [ JMP SWP POP ] ;draw-chr/color STA
		INC2k draw-str POP2 .Screen/x DEI2k #0008 ADD2 ROT DEO2
		skip-sub


@@ 364,3 360,4 @@ JMP2r
	0000 0000 0000 0000 ]

~src/assets.tal