mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-02 02:30:54 +11:00
Compare commits
4 Commits
4af93d53e3
...
9d4e9ef08d
Author | SHA1 | Date | |
---|---|---|---|
|
9d4e9ef08d | ||
|
6212a08866 | ||
|
a1b99275e6 | ||
|
e7a6c777c7 |
8
blk/107
8
blk/107
@ -1,4 +1,4 @@
|
||||
: F
|
||||
: _F ( F without _pln. used in VE )
|
||||
FBUF _type FBUF EDPOS @ _cpos ( a1 a2 )
|
||||
BEGIN
|
||||
C@+ ROT ( a2+1 c2 a1 ) C@+ ROT ( a2+1 a1+1 c1 c2 )
|
||||
@ -6,7 +6,5 @@
|
||||
TUCK C@ 0xd = ( a1 a2 f1 )
|
||||
OVER BLK) = OR ( a1 a2 f1|f2 )
|
||||
UNTIL
|
||||
DUP BLK) < IF BLK( - FBUF + -^ EDPOS ! THEN
|
||||
EDPOS @ 64 / _pln DROP
|
||||
;
|
||||
|
||||
DUP BLK) < IF BLK( - FBUF + -^ EDPOS ! THEN DROP ;
|
||||
: F _F EDPOS @ 64 / _pln ;
|
||||
|
7
blk/108
7
blk/108
@ -3,7 +3,7 @@
|
||||
: _rbufsz ( size of linebuf to the right of curpos )
|
||||
EDPOS @ 64 MOD 63 -^ ;
|
||||
: i COMPILE I ; IMMEDIATE ( save overshadowed )
|
||||
: I
|
||||
: _I ( I without _pln. used in VE )
|
||||
IBUF _type _rbufsz IBUF _blen 2DUP > IF
|
||||
TUCK - ( ilen chars-to-move )
|
||||
SWAP EDPOS @ _cpos 2DUP + ( ctm ilen a a+ilen )
|
||||
@ -11,6 +11,5 @@
|
||||
NIP ( ilen )
|
||||
ELSE DROP ( ilen becomes rbuffsize )
|
||||
THEN
|
||||
DUP IBUF EDPOS @ _cpos ROT MOVE ( ilen )
|
||||
BLK!! EDPOS +! EDPOS @ 64 / _pln
|
||||
;
|
||||
DUP IBUF EDPOS @ _cpos ROT MOVE ( ilen ) EDPOS +! BLK!! ;
|
||||
: I _I EDPOS @ 64 / _pln ;
|
||||
|
8
blk/109
8
blk/109
@ -1,9 +1,9 @@
|
||||
: E
|
||||
FBUF _blen EDPOS @ _cpos 2DUP + ( l a1 a1+l )
|
||||
: X ( len -- , delete len chars after curpos )
|
||||
EDPOS @ _cpos 2DUP + ( l a1 a1+l )
|
||||
SWAP _rbufsz MOVE ( l )
|
||||
( get to next line - l )
|
||||
DUP EDPOS @ 0xffc0 AND 0x40 + -^ _cpos ( l a )
|
||||
SWAP 0 FILL
|
||||
EDPOS @ 64 / _pln
|
||||
;
|
||||
EDPOS @ 64 / _pln ;
|
||||
: E FBUF _blen X ;
|
||||
|
||||
|
10
blk/122
10
blk/122
@ -2,5 +2,11 @@
|
||||
|
||||
'w' moves forward by a word. 'W' moves backward by a word.
|
||||
|
||||
'I' inserts text by calling the "I" command from the Block
|
||||
editor.
|
||||
'I', 'F' and 'E' invoke the corresponding command from the
|
||||
Block Editor (B100). Refer to documentation there.
|
||||
|
||||
'X' deletes "modifier" characters following cursor.
|
||||
|
||||
'R' goes into replace mode at current cursor position.
|
||||
Following keystrokes replace current character and advance
|
||||
cursor. Press return to return to normal mode.
|
||||
|
9
blk/126
9
blk/126
@ -1,13 +1,12 @@
|
||||
CREATE CMD 2 C, '$' C, 0 C,
|
||||
VARIABLE MODE VARIABLE MODEC
|
||||
: 0acc 0 ACC ! ;
|
||||
: acc@ ACC @ 1 MAX 0acc ;
|
||||
: num ACC @ SWAP _pdacc IF DROP ELSE ACC ! THEN ;
|
||||
: nspcs ( n -- , spit n space ) 0 DO SPC LOOP ;
|
||||
: aty 0 SWAP AT-XY ;
|
||||
: clrln DUP aty COLS nspcs aty ;
|
||||
: clrscr LINES 0 DO i clrln LOOP ;
|
||||
: status 0 clrln ." BLK" SPC BLK> ? SPC ACC ?
|
||||
SPC EDPOS @ 64 /MOD . ',' EMIT . SPC MODEC C@ EMIT ;
|
||||
: clrscr LINES 0 DO i aty COLS nspcs LOOP ;
|
||||
: status 0 aty ." BLK" SPC BLK> ? SPC ACC ?
|
||||
SPC EDPOS @ 64 /MOD . ',' EMIT . 10 nspcs ;
|
||||
: contents 3 aty BLK> @ LIST ;
|
||||
: selblk BLK@ contents ;
|
||||
: mode! ( c -- ) 63 0 AT-XY ;
|
||||
|
5
blk/127
5
blk/127
@ -6,7 +6,10 @@
|
||||
: $g ACC @ selblk 0acc ;
|
||||
: $[ BLK> @ acc@ - selblk ;
|
||||
: $] BLK> @ acc@ + selblk ;
|
||||
: $I 3 1 AT-XY I contents ;
|
||||
: $I mode! 'I' EMIT 3 1 AT-XY _I contents mode! SPC ;
|
||||
: $F mode! 'F' EMIT 3 2 AT-XY _F setpos mode! SPC ;
|
||||
: $E E contents ;
|
||||
: $X acc@ X contents ;
|
||||
: $h -1 cmv ; : $l 1 cmv ; : $k -64 cmv ; : $j 64 cmv ;
|
||||
: $H 0acc EDPOS @ 0x3c0 AND EDPOS ! ;
|
||||
: $L 0acc EDPOS @ 0x3f OR EDPOS ! ;
|
||||
|
8
blk/128
8
blk/128
@ -4,8 +4,12 @@
|
||||
: $W EDPOS @ BLK( + acc@ 0 DO
|
||||
BEGIN C@- WS? UNTIL BEGIN C@- WS? NOT UNTIL LOOP
|
||||
1+ BLK( - DUP 0< IF DROP 0 THEN EDPOS ! ;
|
||||
: handleM ( c -- f )
|
||||
: $R ( replace mode )
|
||||
mode! 'R' EMIT
|
||||
BEGIN setpos C< DUP 0xd = NOT IF
|
||||
EDPOS @ _cpos C! 1 EDPOS +! BLK!! 0
|
||||
THEN UNTIL mode! SPC contents ;
|
||||
: handle ( c -- f )
|
||||
DUP '0' '9' =><= IF num 0 EXIT THEN
|
||||
DUP CMD 2+ C! CMD FIND IF EXECUTE ELSE DROP THEN
|
||||
UPPER 'Q' = ;
|
||||
: modeM ['] handleM MODE ! 'M' MODEC C! ;
|
||||
|
4
blk/129
4
blk/129
@ -7,7 +7,7 @@
|
||||
2 aty ." F: " FBUF bufp ;
|
||||
: c<over KEY DUP EMIT DUP 0x0a = IF DROP 0x0d THEN ;
|
||||
: VE ['] c<over 0x08 ( C< override ) RAM+ !
|
||||
clrscr 0acc 0 EDPOS ! modeM contents
|
||||
BEGIN status bufs setpos KEY MODE @ EXECUTE UNTIL
|
||||
clrscr 0acc 0 EDPOS ! contents
|
||||
BEGIN status bufs setpos KEY handle UNTIL
|
||||
0 0x08 RAM+ ! 19 aty ;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user