I believe the big picture is becoming clear regarding remembering and
linking.
1. Today's work promises to *end* my confusion about scripts:
Scripts will typically be found in myLeoSettings.leo, or, for
"official" scripts, in other places, particularly leoSettings.leo.
The print-buttons command (maybe better called print-scripts) will
show the location of @button or @command nodes.
2. This is a huge breakthrough, because it makes hundreds of scripts
easily available. This in turn makes *all* scripts more valuable.
3. As I was thinking about these happy developments, I realized that a
big new horizon is about to open up.
I shall not describe here my thought processes, but they were related
to what I have been thinking of as @link nodes. The idea behind @link
nodes was that they would be a link to a given node, specified by a
commander and a gnx.
However, scripts moot the need for @link nodes! The phrase that
popped into my head was::
Don't *link* to nodes, *search* for nodes!
That is, links, no matter how "good" they are, are breakable and
fragile; searches are more robust and more dynamic. Bye bye link
nodes!
4. Do you see what has just happened? A search, in other words **a
script**, has eliminated the need for a major new core feature, that
is, link nodes.
This is a *huge* change in point of view!
5. Here are some implications:
A. Leo must have a check-doc-strings script that will verify that all
commands have non-trivial doc strings.
B. Leo must have a create-command-docs script that will create large
parts of Leo's documentation for individual commands by searching for
commands in all the proper places, including functions specified by
@g.command(name) and Leo's various commands dictionaries.
C. Leo must have a create-plugins-doc script that does the same for
plugins. A prototype of this script exists somewhere. Making it an
@command node will make it much more visible.
Conclusions
==========
1. "Smallish" changes (making scripts more visible via typing
completion) has greatly increased the convenience, and thus
application, of scripts.
Part of the Leo Aha is that Leo outlines are *much* easier to script
than flat files. We are about to see an explosion in applicability of
scripts in Leo.
2. Searches, that is, scripts, are a *much* more powerful mechanism
than breakable links. My throwaway response to many feature requests
has always been, "well, you can always write a script to do what you
want."
Now we can see the sense in which this is a proper, universal,
response. In Leo's case, it has recently become clear that docstrings
are the natural *primary* location for data. This makes the data
available for online help, such as the help-for-command command.
Now we can see that the *proper* way of creating large parts of Leo's
documentation tree (nodes for the rst3 command) will be via one or
more scripts that dynamically search Leo's source files looking for
data!
A great day for Leo.
Your comments, please, Amigos.
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.