[Vimoutliner] [OT] ThoughtManager

Scott Scriven vimoutliner at toykeeper.net
Sat Jan 19 20:49:02 EST 2008


* Noel Henson <noel at noels-lab.com> wrote:
> > > I have a few more features in mind
> > > than what VO is capable of...
> > Like what, besides cloning?
> And columns. I've often thought of writing a full-on 
> application.

I figured on making the data an arbitrary tree of nodes and 
attributes, with the ability to assign a different schema to each 
node.

Basically, each node would have (or inherit) a title, a set of 
arbitrary name/type/value fields, and a display style.  The 
fields are things like text, integer, checkbox, date, and 
percent.  Display styles might be like printf format strings.

The storage back end I had in mind is a directory tree, though I 
also considered xml and s-expressions.  This makes each branch a 
tree of its own, where you could zoom into a subtree simply by 
changing directory.  It allows for linking between branches by 
using symlinks, and attaching files is trivial to implement.

Example use cases will be useful for making sure the system 
provides the necessary features and makes the most common tasks 
the easiest.  For example:

  Movies (seen 67%, own 1/3)
    Seen Own Rating Title
    ---- --- ------ -----
     [X] [_]   9    Kung Pow         (note)
     [X] [X]   6    Bee Movie
     [_] [_]        Atonement

The storage for this might look something like...

  0/ (root node)
    .title (string):  "Movies"
    .fmt (format): "${title} (seen ${seen}, own ${own}/${total})"
    .childfmt (format): "${seen} ${own} ${rating} ${title}%{fill}${note}"
    .seen (percent): autocalculated
    .own (sum): autocalculated
    .total (childcount): autocalculated
    0/ (first child)
      .title (string): "Kung Pow"
      .seen (checkbox): 1
      .own (checkbox): 0
      .rating (int): 9
      .note (file): text/plain file attachment
    1/ (second child)
      ...

The biggest drawback to this idea is that ... well, it's not Vim.  
It would allow arbitrary database-like schemas and fairly complex 
behavior, but it isn't much like a text editor.

I find that, most of the time, VO's simplistic approach to 
outlining is sufficient.  I don't usually need more than a title 
and a checkbox, and having the power of vim underneath is very 
helpful.  The only real complaint I have about VO is that the 
interface isn't at all appropriate for use on a PDA or phone.


-- Scott


More information about the VimOutliner mailing list