I have just updated the #325
<https://github.com/leo-editor/leo-editor/issues/325> to emphasize that I
now view the entire project as completely misguided.
Here, I want to say a few more words for emphasis. The key principle is
stated in the comment that closes the issue:
The fundamental problem with this project is compatibility with existing
code. Existing code includes Leo's core and plugins. But existing code also
includes user scripts and plugins, *including scripts and plugins that we
know nothing of*. Breaking *any* existing code *must not be allowed*.
As a result, all legacy commands must remain exactly *as *they are and *where
*they are. No, this is not they way I would have done things if I were
starting over. But remember, decorators did not exist in 2001. So we are
"stuck" with the present organization of existing commands. *We should
learn to live with, even appreciate, such legacy code*. Trying to clean up
this code is asking for big trouble.
Happily, there is an easy way forward. We simply say that all *new*
commands should be created using @g.command. This implies that top-level
functions will define all new commands. Like this:
@g.command('command-name')def aCommand(event):
c = event.get('c')
...
In practice, this is never a problem.
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 https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.