This post attempts to explain, as clearly as possible, the strengths and weaknesses of @file, @shadow and @auto
===== @file: the platinum standard @file will always be the best alternative in situations in which it can be used. The reason is simple: it preserves all outline data (including clone links) and fully supports all of Leo's features, including section references. Last, but hardly least, Leo can read and write external files created with @file more than twice as fast as files created with @shadow and @auto. Otoh, @file inserts sentinels into external files, so it will often not be possible to use @file in collaborative environments. ===== @shadow: often best in collaborative environments Like @file, @shadow supports all of Leo's features, including section references. Unlike @file, @shadow inserts no sentinels in the public external files. @shadow will work very well for **slowly changing** files, files that are infrequently changed outside Leo. When changes *are* made outside Leo, @shadow incorporates the changes in the *existing* outline structure. @shadow can *never* create new nodes: all changes are "shoehorned" into the existing outline. This may or may not be convenient, depending on the situation ===== @auto: a gateway to @file or @auto When reading an @auto file, Leo creates outline structure from the external file itself. The new @auto code only adds organizer nodes to the imported structure. Furthermore, significant changes to files structure will prevent the new @auto code from adding organizer nodes. Otoh, we expect that significant changes to outline structure will be unlikely if those changes are made outside Leo. The new @auto code could conceivably make @auto useful in more situations, but @auto still suffers significant problems. It is slow, more error prone than @file, and does not support section references. @auto will most typically be useful in situations: 1. As a way of studying other people's files. 2. As the first step in creating @shadow or @file nodes. I often combine these by converting @auto trees to @file trees for study. Alas, the new @auto code has not fundamentally changed how @auto will typically be used. Perhaps the most important feature of the new @auto code is that it allows clone links and (not-yet-implemented) uA's to be added to @auto trees. ===== Summary @auto is slower and more error prone than @file, and @auto does not support section references. As a result, @auto will never replace @file for Leo's sources. The new @auto code does promise some additional benefits, but many people will likely prefer @shadow in collaborative environments. 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.
