While waiting for Leo 4.11 final, I thought I'd post some thoughts about new kinds of abbreviations.
1. Node-creating abbreviations. At present, abbreviations expand to text. However, copying a tree also creates text, namely the xml representation of the tree. You can see this by doing ctrl-shift-c, then ctrl-v in the body pane. It will be straightforward to expand abbreviations to outlines: A. Create a new kind of setting, say @abbreviation-tree. Headline contains abbreviation; children contain the forest of trees to be substituted. B. Indicate (somehow) to Leo's key handling that abbreviations created in this way are to be expanded by pasting the forest *represented* by text, rather than the text itself. Details omitted. 2. Vim-simulation using minibuffer abbreviations. The general idea is pretty simple: A. Make keystrokes in vim's command mode visible in the minibuffer. This isn't exactly how vim works, but it's close enough for a start. B. Add support for numeric arguments and "instant execution" of abbreviations to Leo's key-handling code, perhaps a version of k.getArg. Instead of using @mode nodes, a *set* of abbreviations would define a set of commands to execute. The handler for minibuffer abbreviations would execute a command as soon as it becomes the only possible "completion" of the minibuffer. C. Because of numeric arguments and (probably) other considerations, a set of vim-oriented commands would also be required. In principle, these new commands could handle all possible vim commands. In practice, some new design work (on the abbreviations themselves) would be necessary to handle the much richer environment that Leo provides. This kind of framework might be the basis of Leo 5.0. Your comments please. 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 http://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/groups/opt_out.
