Tuesday, October 16, 2007

Good weekend for GeekWeaver development ... you can now pass arguments to functions that are more or less table-shaped - like this :


:f Fruits
apples,, oranges,, pears
grapefruit,, passion-fruit,, grapes
bananas,, lychees,, mangos



It's not public yet, but it will be available in the next installer.

Also, although GeekWeaver is designed to be written in an outliner, I'm close to a plain-text mode which will look something like the above.

But I have a problem which I'm still not sure of how to solve. GW has to preserve literal text. So using spaces for indentation like Python is not so easy.


abc
xyz



could mean either a node "abc" with a child "xyz" or two nodes at the same depth : "abc" and " xyz". How can we tell the two apart?

Currently my plain text parser works with code that looks like this :


* abc
** xyz



Which keeps the continuity with wiki-markup and disambiguates from


* abc
* xyz



But it's pretty ugly if you really were going to do any serious programming with it.

Suggestions welcome.

No comments: