9ab5cda397
Shadowing core "I" is too messy. As soon as ed is loaded in memory, nothing else that isn't "i-aware" can be loaded anymore. I guess that's why "contexts" exist in Starting Forth, but adding this concept just for allowing the shadowing of core words seems overkill to me. Renaming I to i in ed seems better.
15 lines
551 B
Plaintext
15 lines
551 B
Plaintext
CREATE CMD 2 C, '$' C, 0 C,
|
|
CREATE PREVPOS 0 , CREATE PREVBLK 0 ,
|
|
: acc@ ACC @ 1 MAX ;
|
|
: num ACC @ SWAP _pdacc IF DROP ELSE ACC ! THEN ;
|
|
: nspcs ( n -- , spit n space ) 0 DO SPC LOOP ;
|
|
: aty 0 SWAP AT-XY ;
|
|
: clrscr LINES 0 DO I aty COLS nspcs LOOP ;
|
|
: gutter ( ln n ) OVER + SWAP DO 67 I AT-XY '|' EMIT LOOP ;
|
|
: status 0 aty ." BLK" SPC BLK> ? SPC ACC ?
|
|
SPC EDPOS @ 64 /MOD . ',' EMIT . SPC
|
|
BLKDTY @ IF '*' EMIT THEN 10 nspcs ;
|
|
: contents 3 aty BLK> @ LIST 3 16 gutter ;
|
|
: selblk BLK> @ PREVBLK ! BLK@ contents ;
|
|
: mode! ( c -- ) 63 0 AT-XY ;
|