Clean up history code
parent
4381c8bc58
commit
5f2fd87ce1
basis/ui/tools/listener/history
|
@ -9,15 +9,11 @@ TUPLE: history document elements index ;
|
|||
: <history> ( document -- history )
|
||||
V{ } clone 0 history boa ;
|
||||
|
||||
: history-add ( history -- input )
|
||||
dup elements>> length 1+ >>index
|
||||
[ document>> doc-string [ <input> ] [ empty? ] bi ] keep
|
||||
'[ [ _ elements>> push ] keep ] unless ;
|
||||
<PRIVATE
|
||||
|
||||
: save-history ( history -- )
|
||||
[ document>> doc-string ] keep
|
||||
'[ <input> _ [ index>> ] [ elements>> ] bi set-nth ]
|
||||
unless-empty ;
|
||||
: save-history ( history -- input )
|
||||
[ document>> doc-string [ <input> ] [ empty? ] bi ] keep
|
||||
'[ [ _ [ index>> ] [ elements>> ] bi set-nth ] keep ] unless ;
|
||||
|
||||
: update-document ( history -- )
|
||||
[ [ index>> ] [ elements>> ] bi nth string>> ]
|
||||
|
@ -31,12 +27,18 @@ TUPLE: history document elements index ;
|
|||
: history-recall ( history i -- )
|
||||
[ [ elements>> empty? ] keep ] dip '[
|
||||
_
|
||||
[ save-history ]
|
||||
[ save-history drop ]
|
||||
[ _ change-history-index ]
|
||||
[ update-document ]
|
||||
tri
|
||||
] unless ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
: history-add ( history -- input )
|
||||
dup elements>> length 1+ >>index
|
||||
save-history ;
|
||||
|
||||
: history-recall-previous ( history -- )
|
||||
-1 history-recall ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue