[Vimoutliner] Extending VO
Steve Litt
slitt at troubleshooters.com
Wed Mar 26 20:57:28 EST 2008
On Wednesday 26 March 2008 20:22, Scott Scriven wrote:
> * Steve Litt <slitt at troubleshooters.com> wrote:
> > What's an object tree?
>
> In short, it's the name for the idea you described.
>
> It's a pretty generic term... a tree structure, where the nodes
> are objects (as in object-oriented programming). It's one of the
> most common structures in programming, along with lists and hash
> tables.
>
> The word "tree" isn't exactly right though, since in most
> languages the objects in are kept in a free-form graph instead...
> leading to all sorts of complicated garbage collection and
> reference counting. But at least in VO, the structure is pretty
> close to a strict tree. (and on the filesystem, the structure is
> also very tree-like)
>
> Storing the outline in the filesystem as you described is
> basically an attempt to make a limited object database, except
> using a standard filesystem instead of a custom database.
>
> http://en.wikipedia.org/wiki/Object_database
>
> > how about XML, or maybe Ruby YAML?
>
> Those lack many of the benefits of a filesystem, and XML also
> lacks most of VO's current readability. However, XML is one of
> very few choices for working, widely-available object
> serialization. I expect, at least, that import/export options
> for XML would be necessary, even if it's not the primary format.
Hey Scott,
Just for fun, look at my EMDL project, specifically, the EMDL specification:
http://www.troubleshooters.com/projects/emdl/index.htm
This is an outline form language for specifying menus, and it's VERY keystroke
efficient and works great with VO. Perhaps there's a way you could make it
more general so a "schema-file" would define what could go under what and
could define fields and field abbreviations (like the one letter stuff I have
that's followed with a colon in EMDL).
Once you've defined that, converting it back and forth from XML is almost
trivial, so you could use VO as an editor, but store it as XML (or not).
SteveT
More information about the VimOutliner
mailing list