collapseos/blk/104

17 lines
472 B
Plaintext
Raw Normal View History

( Cursor position in buffer. EDPOS/64 is line number )
VARIABLE EDPOS
CREATE EDBUF 64 ALLOT
: _cpos BLK( + ;
: _lpos 64 * _cpos ;
: _pln ( lineno -- )
DUP _lpos DUP 64 + SWAP DO ( lno )
I EDPOS @ _cpos = IF '^' EMIT THEN
I C@ DUP 0x20 < IF DROP 0x20 THEN
EMIT
LOOP ( lno ) 1+ . ;
: _zbuf EDBUF 64 0 FILL ;
: _type ( -- )
C< DUP 0xd = IF DROP EXIT THEN _zbuf EDBUF BEGIN ( c a )
C!+ C< SWAP OVER 0x0d = UNTIL ( c a )
2DROP ;