To clarify: You are describing a file format which uses Leo sentinels, but very lightweight ones?
In my mind @auto = no sentinels, so when you mention @auto files with sentinels, I first think of a new directive ... @lite myfile.py but that's not the case because what you are describing is entirely optional, no change to @auto behaviour, just providing access to markup which can enhance the clonability of an @auto file ... Is that correct? Thanks, Kent On Mon, Jan 18, 2010 at 10:29 AM, Edward K. Ream <[email protected]> wrote: > This topic has been percolating awhile due to comments from the usual > suspects. > > I'm thinking that Leo might support @view nodes. These nodes would, > in effect, support *temporary* clones. The idea: > > 1. Within any external file (and especially files derived from @auto), > we might identify nodes with views using something like: > > #...@leo-view: <gnx> > > This is an unbreakable link to the view node, rather than > identification of the node within the external file. Of course, such > a link will be "broken" if the indicated node does not exist in > the .leo file. This is similar to what happens with clones now. > > 2. @view nodes would be illegal within any kind of @<file> tree. > > 3. When reading an external file, Leo would create a child clone for > every #...@leo-view sentinel in the external file. > > 4. Leo would never write cloned children of @view nodes to the .leo > file. Thus, there is little to be gained by creating files (like > leoProjects.txt) just to hold @view nodes, and little to be lost by > banning @view nodes from any @<file> tree. > > 5. We might want a command that writes "clean" @auto external files, > without any @#leo-view sentinels. That's actually a nit because the > links created by such sentinels are not essential. > > This idea shows that cloned nodes are not essential in external files, > and particularly not essetial in @auto files. In that case, we could > use @auto for *all* files, provided that we create a lightweight > markup for outline organization. This can be done using the following > sentinels: > > #...@leo+ > #...@leo- > > The first precedes the first child of a node with children, the second > follows the last child of a node with children. These sentinels > properly nest. > > It might be possible to elide these sentinels when the @auto import > code would create children anyway. Details unclear at present, but if > this can be done we would need these sentinels only for organizer > nodes. > > In short, @auto becomes more interesting if we can eliminate clones > within @auto trees. �...@view nodes might be a way to do that. > > Please note: this scheme does *not* eliminate clones from Leo and does > not change Leo's internal data structures in any way. It merely makes > permanent clones less necessary. If permanent clones are desired, > they can be used as at present. > > As always, your comments are welcome. > > Edward > > -- > You received this message because you are subscribed to the Google Groups > "leo-editor" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/leo-editor?hl=en. > > > >
-- You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en.
