mirror of https://git.sr.ht/~rabbits/left
Added parens matching back
This commit is contained in:
parent
67325bf53f
commit
bbfd6cf44f
42
src/left.tal
42
src/left.tal
|
@ -14,6 +14,7 @@
|
|||
@textarea &highlight $1 &length $2
|
||||
@scroll &x $2 &y $2 &addr $2 &ratio $2
|
||||
@scrollbar &height $2
|
||||
@wrap &left $2 &right $2
|
||||
@state &comment $1 &underline $1 &label $1 &mono $1 &rune $1
|
||||
@nav &cat $1 &len $1 &buf $60
|
||||
|
||||
|
@ -60,7 +61,7 @@
|
|||
( name ) "Left 0a
|
||||
( details ) "A 20 "Text 20 "Editor 0a
|
||||
( author ) "By 20 "Hundred 20 "Rabbits 0a
|
||||
( date ) "21 20 "Mar 20 "2024 $1
|
||||
( date ) "14 20 "Apr 20 "2024 $1
|
||||
01
|
||||
( > ) 83 =appicon
|
||||
|
||||
|
@ -517,7 +518,7 @@
|
|||
( >> )
|
||||
|
||||
@selection-changed ( -- )
|
||||
scroll-follow update-nav !reqdraw-textarea
|
||||
scroll-follow update-wrap update-nav !reqdraw-textarea
|
||||
|
||||
@get-from ( -- addr* )
|
||||
.selection/b LDZ2 .selection/a LDZ2 LTH2k ?{ SWP2 }
|
||||
|
@ -784,6 +785,37 @@
|
|||
next-glyph & GTH2k ?&>l
|
||||
POP2 POP2 STH2r JMP2r
|
||||
|
||||
@balance-wrap ( c -- offset )
|
||||
DUP LIT "( EQU ?&a
|
||||
DUP LIT "[ EQU ?&a
|
||||
DUP LIT "{ EQU ?&a
|
||||
DUP LIT ") EQU ?&b
|
||||
DUP LIT "] EQU ?&b
|
||||
DUP LIT "} EQU ?&b
|
||||
POP #00 JMP2r
|
||||
&a POP #ff JMP2r
|
||||
&b POP #01 JMP2r
|
||||
|
||||
@update-wrap ( -- )
|
||||
#0000 .wrap/left STZ2k INC INC STZ2
|
||||
.selection/b LDZ2
|
||||
( | left )
|
||||
[ LITr 01 ] .scroll/addr LDZ2 ;text ADD2 #0001 SUB2 OVR2 #0001 SUB2 EQU2k ?{
|
||||
&l ( -- )
|
||||
LDAk balance-wrap STH
|
||||
ADDr STHkr ?{ .wrap/left STZ2
|
||||
!&end-l }
|
||||
prev-glyph LTH2k ?&l }
|
||||
POP2 &end-l POP2 POPr
|
||||
( | right )
|
||||
[ LITr 01 ] get-eof SWP2 EQU2k ?{
|
||||
&r ( -- )
|
||||
LDAk balance-wrap STH
|
||||
SUBr STHkr ?{ .wrap/right STZ2
|
||||
!&end-r }
|
||||
next-glyph GTH2k ?&r }
|
||||
POP2 &end-r POP2 POPr JMP2r
|
||||
|
||||
@clamp-addr ( addr* -- addr* )
|
||||
( min ) ;text GTH2k ?{ SWP2 }
|
||||
POP2
|
||||
|
@ -853,7 +885,10 @@
|
|||
@get-color ( addr* -- addr* color )
|
||||
DUP2 get-from LTH2 ?&no-selected
|
||||
DUP2 get-to LTH2 ?&selected
|
||||
&no-selected .textarea/highlight LDZ ?&skip
|
||||
&no-selected ( -- )
|
||||
DUP2 .wrap/left LDZ2 EQU2 ?&wrap
|
||||
DUP2 .wrap/right LDZ2 EQU2 ?&wrap
|
||||
.textarea/highlight LDZ ?&skip
|
||||
.state/comment LDZ ?&comment
|
||||
.state/label LDZ ?&label
|
||||
&skip #01 JMP2r
|
||||
|
@ -861,6 +896,7 @@
|
|||
#0d JMP2r
|
||||
&label #02 JMP2r
|
||||
&comment #03 JMP2r
|
||||
&wrap #0d JMP2r
|
||||
|
||||
@get-high-width ( addr* -- addr* width* )
|
||||
LDA2k #c2b7 NEQ2 ?{ #0006 JMP2r }
|
||||
|
|
|
@ -2,6 +2,12 @@
|
|||
|
||||
a very long line that doesn't quite display on a single screen to test the scroll-x behaviour.
|
||||
|
||||
<> (reverse List ( ) ?* ) (?*)
|
||||
<> (reverse (?*)) (reverse List (?*) ())
|
||||
<> (reverse List (?x ?y) ?z) (reverse List ?y (?x ?z))
|
||||
|
||||
(reverse (modal))
|
||||
|
||||
@delete ( -- )
|
||||
[ LIT2 &name $2 ]
|
||||
[ LIT &field -default ]
|
||||
|
|
Loading…
Reference in New Issue