You could say this thread continues the thoughts about @shadow.
It is, imo, now clear that @shadow is just never going to be good enough in
all situations. Therefore, improving @shadow has dropped in priority. You
could call this a good thing ;-)
If @shadow won't work, the only alternative is @auto.
I've never paid much attention to @auto, because of its seemingly
intractable limitations:
1. Clones not supported properly.
2. No flexibility in outline structure.
3. No place for headlines.
4. Potential errors importing files, and (maybe) performance problems doing
so.
But needs must, so it's time to look again at these limitations to see if
any can be overcome, worked around, or even turned to advantage. Let me be
clear, Leo *really* needs some big progress in this area. Otherwise, Leo
looks doomed to a niche existence.
===== Working with Nancy
As I was playing the piano, trying to soothe my upset over the downfall of
"@shadow everywhere", the phrase "working with Nancy" popped into my head.
The idea is to use *existing, non-Leonine conventions* to work around some
(all?) of the limitations with @auto.
For instance: Nancy might use **organizer comments** rather than organizer
nodes. For example::
########
# Imports
########
rather than << imports >>. With just a *little bit* of cooperation between
non-Leo users and Leo users, it might be possible to avoid most (all?)
sentinels. That is, importers might recognize such patterns and (re)create
organizer nodes. Similarly, the write code would create such organizer
comments from organizer nodes.
Naturally, the Leonine world can not decree the format of those comments.
The scheme must be flexible enough to accommodate any scheme that Nancy
would be likely to use.
===== Clones
Clearly, without sentinels there is no *perfect* way to associate clones in
a .leo file with text in an @auto file. In the worst (general) case, Leo
might issue a warning about broken clones. That can't be helped.
The question is, is there any convention that Nancy *might* be willing to
consider that would make linking clones more feasible? Call it "sentinels
light". Some kind of lightweight marker. I'm not sure just now.
Few of you are likely aware (unless you have been paying close attention to
a recent post) that Leo uses a subtle convention to denote line breaks in
@doc parts. I don't remember the details; it has something to do with
trailing whitespace. It *might* be possible to use something so subtle
that Nancy a) won't notice that it is in place and b) won't be likely to
mess with it by accident.
===== Headlines
Being able to add notes to Leo headlines is a really nice feature. I would
hate to give that up.
Otoh, we may be able to get something even more convenient to ease the
pain. @auto creates reasonable headlines most of the time, so we could this
a feature ;-)
An @auto node might contain information (in a uA) that would allow some
customization of headlines. For example, adding "app." at the start of
every headline in leoApp.leo. Or even "mark-like" data, again stored in
the uA of the @auto node, that could be applied to nodes if they exist. I
call such data "mark-like" because it is non-critical data, just like marks
are.
===== More about clones
I have been thinking quite a bit about clones recently (for other reasons,
apparently, although one never knows for sure when the subconscious is
involve ).
Today the following distinction came to mind. Imo, it is (usually) bad
style to use multiple clones (of the same node) within an external file.
As part of my work flow, I almost always pull newly-cloned nodes *out* of
the @file tree.
Suppose we make an "official" new distinction. Clones would be discouraged
(prevented) in most @file (@auto) trees. So if two apparently identical
pieces of code exist (in an @auto tree) we could say (for sure) that they
were *not* clones.
This is all just thinking out loud. I would really like to create some
*simple* AI that would allow clones to be connected *from* .leo files to
@auto files. Maybe with Nancy's tacit (if slightly unwilling) support.
Suppose that cloned nodes inserted a hidden whitespace marker at the end of
the first line of the clone (in the external file) This just might be
enough to connect nodes most of the time.
That's all for now. It's an interesting time. The rearrangements in the
vivid dream seem to be applying to Leo.
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.