[Vimoutliner] Possible form entry executable

Steve Litt slitt at troubleshooters.com
Sun Feb 3 21:14:07 EST 2008


Hi all,

Some of you know that for about 2 years I've been trying to figure ways to 
built real apps with full user interface (menus, picklists and forms) using 
separate small executables. You might know that years ago I created UMENU, 
which serves as the menu, and a month ago I created filepicker and 
recordpicker executables, which serve their respective purposes. I created an 
executable called "persist", which stores key/value pairs on disk (no big 
challenge there).

As you'll read in the February 2008 Linux Productivity Magazine, I now have 
ways to spawn arbitrary executables and control them from other processes. I 
can kill them, and I can find out if they've ended.

What I'm missing, and what's quite a challenge, is a form executable. I just 
don't have time to make it right now, and nobody else has stepped forward to 
make it. Stuff made from the dialog program just won't cut it for various 
reasons.

While taking a shower I though of something. Remember that I can easily spawn 
a Vim command with a proper filename (probably created with mktemp).

What if I used VO as the form interface? Visualize this. The top of the form 
is all comments until a line saying :::STARTOFDATA:::

From then on, by level:

Level 0 are rows, named by a human meaningful string, or if not then 
defaulting to the primary key.

Level 1 are columns, in whatever order the field constructing program decides 
to put them in. The fields' names look like this:

fieldname:::comment:::

Where :::comment::: is something like (0-5) or Text or List

Level 2 is the contents of the field. If the field contents are expected to be 
short, it's just a single regular line. If the field is expected to be long, 
level 2 starts with colon and space, so that VO wordwraps it. If for some 
reason the field contents are expected to be a list (probably a single table 
is caring for what in the database is two different tables like orders and 
items), level 2 is multiple lines, and it's up to the program that parses it 
to put those in the right places in the database.

One cool thing about this is screen real estate would never be a problem.

One bad thing about it is it can't be used by those without VO knowledge 
(AFAIK only VO has body text).

If I do this I'd like to have it spawned by an executable with a name 
like "exeform" so that when I get a real form executable it can plug replace 
the VO thing.

Comments? Ideas?

Thanks

SteveT

Steve Litt
Author: Universal Troubleshooting Process books and courseware
http://www.troubleshooters.com/


More information about the VimOutliner mailing list