@@ 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 ( -- )