~rabbits/left

d0970f14f16e7b1610378e9c1f5ada68df2b3bd5 — neauoire 4 months ago 708d330
Runes can only begin a word
1 files changed, 36 insertions(+), 23 deletions(-)

M src/left.tal
M src/left.tal => src/left.tal +36 -23
@@ 430,14 430,14 @@ JMP2r

@get-width ( addr* -- width* )

	DUP2 ;is-rune JSR2 ,&rune JCN
	LDAk DUP #7e GTH
		,&special JCN
	DUP ;runes ;cfnd JSR2 .textarea/highlight LDZ #00 EQU AND
		,&special JCN
	#00 SWP ;font ADD2 LDA #00 SWP

JMP2r
	&special POP #0008 JMP2r
	&special POP
	&rune #0008 JMP2r

@addr-to-line ( addr* -- line* )



@@ 796,8 796,27 @@ JMP2

	;walk-color JSR2 STH
	( detect underline )
	LDAk ;runes ;cfnd JSR2 .textarea/highlight LDZ #00 EQU AND
		;draw-ufx/ul STA
	DUP2 ;is-rune JSR2 ;draw-ufx/ul STA

	( TODO: Cleanup )
	.textarea/highlight LDZ ,&skip-highlight JCN
	LDAk [ LIT ", ] NEQ  ,&no-litrel JCN
		#08 ;litrel-icn ;draw-ufx/seg JSR2 INC2 ,&w JMP
		&no-litrel
	LDAk [ LIT ". ] NEQ ,&no-litzep JCN
		#08 ;litzep-icn ;draw-ufx/seg JSR2 INC2 ,&w JMP
		&no-litzep
	LDAk [ LIT "- ] NEQ ,&no-rawzep JCN
		#08 ;rawzep-icn ;draw-ufx/seg JSR2 INC2 ,&w JMP
		&no-rawzep
	LDAk [ LIT "; ] NEQ ,&no-litabs JCN
		#08 ;litabs-icn ;draw-ufx/seg JSR2 INC2 ,&w JMP
		&no-litabs
	LDAk [ LIT "= ] NEQ ,&no-rawabs JCN
		#08 ;rawabs-icn ;draw-ufx/seg JSR2 INC2 ,&w JMP
		&no-rawabs
	&skip-highlight

	&w
		,&is-selected JSR STH
		LDAk STH2kr #0d ROT ROT [ JMP SWP POP ] ;draw-ufx JSR2 POPr


@@ 844,24 863,6 @@ JMP2r

	;&color STA

	.textarea/highlight LDZ ,&skip-highlight JCN
	[ LIT ", ] NEQk NIP  ,&no-litrel JCN
		POP #08 ;litrel-icn ,&seg JMP
		&no-litrel
	[ LIT ". ] NEQk NIP  ,&no-litzep JCN
		POP #08 ;litzep-icn ,&seg JMP
		&no-litzep
	[ LIT "- ] NEQk NIP  ,&no-rawzep JCN
		POP #08 ;rawzep-icn ,&seg JMP
		&no-rawzep
	[ LIT "; ] NEQk NIP  ,&no-litabs JCN
		POP #08 ;litabs-icn ,&seg JMP
		&no-litabs
	[ LIT "= ] NEQk NIP  ,&no-rawabs JCN
		POP #08 ;rawabs-icn ,&seg JMP
		&no-rawabs
	&skip-highlight

	DUP #20 SUB #5e GTH ,draw-special JCN

	( width ) #00 SWP STH2k ;font ADD2 LDA


@@ 1076,6 1077,18 @@ JMP2
	JMP2r

(
@|helpers )

@is-rune ( addr* -- bool )

	#0001 SUB2
	LDA2 ;runes ;cfnd JSR2
	.textarea/highlight LDZ #00 EQU AND
	SWP #21 LTH AND

JMP2r

(
@|document )

@file-new ( -- )