Richard, Don, Rob and I had an excellent conference call today. Great things are coming, based on tagging and uA's.
The discussion highlighted a big hole in Leo's documentation. We need a summary of how to do cool things *easily* with Leo. This will allow people to dream bigger. Here is a *quick* list topics for the code academy. Mos can already be done easy, if you know where to look. Some may require a few new lines in Leo's core. These topics should also be included in Leo's cheat sheet, or somewhere similar. *uA's* They are crucial to flexible data management. uA's can associate arbitrary data with any vnode or position, as describe here <http://leoeditor.com/customizing.html#adding-extensible-attributes-to-nodes-and-leo-files> . Everyone needs to know how to get, set and search uA's. You can get and set uA's with v.u. Just a few lines of code will search the entire outline for all nodes/positions having a given uA. Quick additions to Leo's core: - Define the p.u property, so code can do p.u instead of p.v.u. - Possibly make the api for uA's more convenient. A more ambitious addition: Define a gui interface for uA's. *Other topics* - Clones: making and deleting them. Clones are *cheap *to create! - How to create new panes in the log window, and how to put cool stuff in them. - How to hoist outlines programmatically. - How to write a plugin so it can respond to events. - How to create new panes in Leo's window with Terry's free_layout and nested_splitter plugins. In essence, these plugin are part of Leo's core. - How to put multiple icons in a single headline. This may be possible already. If not it would require just a few lines of code in Leo's core. We discussed the so-called Easter-Egg interface to create new panes this from the gui, but a summary of how to do this programmatically is needed. *Note*: it's possible to save the layout so that Leo will restore it when Leo starts up the next time. - How to change what is shown in the outline pane. Chapters and hoists exploit existing capabilities. If need be, more could be added with just a few lines of code in Leo's main outline redrawing code. *New directions* Putting all this together, we all agreed that being able to make uA's *visible* somehow would give Leo many of the cool features of the ECCO outliner. We envisage a uA tab in the outline pane that would allow the user to: - See all and *only* nodes with given attributes. This is similar to Leo's clone-find-all (or clone-find-all-flattened) commands, combined with something like a hoist. - List all such nodes in the uA pane, similar to the Nav Pane (Quicksearch plugin), so that clicking on a node would select the node in the entire outline, with only ancestors of the selected node expanded. Pretty easy to do. Alternatively, perhaps some tag (uA) oriented features can be added to existing plugins. *Conclusions* I expect that we can do really great things with Leo in just a few weeks. Discussions of how to do *practical* tasks may be missing from the current documentation. Neophytes have to read between too many lines. A list of *easily done* programming tasks will help develop a larger cadre of developers. Edward -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.
