Block editor experiment
  Home FAQ Contact Sign in
comp.lang.forth only
 
Advanced search
POPULAR GROUPS

more...

 Up
Block editor experiment         

Group: comp.lang.forth · Group Profile
Author: Jean-François Michaud
Date: May 17, 2007 17:43

Hello guys,

I was wondering if anybody had experimented with block editors in the
range of 64 characters on 8 lines.

The standard forth screens are usually 64 characters on 16 lines but
by reducing from 16 to 8 lines, it becomes possible to optimize
certain features of the editor.

I was looking at line editors and created my own, but I didn't like
the overhead of "space" and "cr". They are interresting because they
allow you to operate in the Forth interpreter, but for quick and
productive work, "space" and "cr" seem to get in the way and account
for a large part of what we type on the keyboard when performing meta
manipulations on text. The idea is to operate transformations to lines/
blocks very rapidly without having to type any space or any carriage
return to execute commands.

By reducing the amount of text in blocks, we are able to fall on
single digits (1-8 lines) which opens the door to immediate execution
on every keystroke.

For example:

1- blah text
2- blah blah text
3- blah blah blah text
4- yay text
5- yay yay text
6- yay yay yay text
7- super text
8- super text

12L read '1', followed by '2', followed by 'L' places 1 on the stack
when '1' is pressed, 2 on the stack when '2' is pressed and executes a
lineswap using the 2 parameters on the stack when 'L' is pressed.

5D would blank out line 5.
To edit text, 8I would allow insertion of text on line 8, etc.
Esc bumps us back from edit to command and once more, back to the
Forth interpreter.

I was also thinking that longer sequences could be put together and
assigned to a given button, yielding more powerful commands. The
exercise would be to find what sequences are the most optimally useful
when performing meta operations on text.

The idea is to have an uninterrupted flow of commands. For example, to
scroll text downwards, dropping the last line, the following sequence
could be used. 8D78L67L56L45L34L23L12L. This sequence, if deemed
useful would then be stored as 'S' for example, or whatever else is
deemed relevant.

I'm sure someone else experimented with this, but I can't find useful
information here or on the net.

Regards
Jean-Francois Michaud
3 Comments
diggit! del.icio.us! reddit!