On Sun, Oct 16, 2011 at 6:41 PM, Edward K. Ream <[email protected]> wrote: > On Oct 16, 7:50 am, "Edward K. Ream" <[email protected]> wrote: > >> Last night I had a forehead-slapping moment: the place to put @button >> nodes is in myLeoSettings.leo. >> >> This morning, I realized that using @command rather than @button >> completes the Aha. > > Rev 4598 contains surprisingly complex changes intended to make this > work more smoothly. > > - Equal sign now optional after @args. > > - Cleaning button/command names removes {comments}, and retains @ and > @button. > > - The logic that handles @button and @command nodes is less verbose, > as discussed below. > > The intended effect of these changes are as follows: > > <alt-x>@<tab> will now show all commands created by @button and > @command nodes, including everything except {comments}. For example:: > > @button test-button @key alt-ctrl-5 button: <Alt+Ctrl+Key+5> > @command check-bindings > @command clean-body > @command create @auto nodes @args c:\apps\pygments > \pygments,.py,.c > @command flatten script > @command join-node-above > @command join-node-below > @command promote-bodies > > As you can see, typing completion will show you @key and @args values. > > Some other minor changes: > > - As you can see, the typing completion shows the node's headlines as > is, except that {comments} are deleted. > > - A minor change, which can be undone or revised if necessary: The > @args list now sets a predefined script_args argument rather than set > sys.argv, which could be a bit clumsy. > > Discussion > ======== > > These are nitty-gritty changes, and yet they have, imo, fairly > momentous implications. For the first time, the following show all > @button and @commands:: > > <alt-x>@<tab> # Shows both @button and @commands. > <alt-x>@b<tab> # Shows all @button commands. > <alt-x>@c<tab> # Shows all @command commands. > > This leverages Leo's autocompleter in a great new way. If will be > possible to define dozens or even hundreds of "personal" commands > without having to remember all the details. > > By analogy with the print-settings commands, I plan to create a print- > buttons command, which will show all @button nodes (and probably all > @command nodes as well) along with an indication of which .leo file > defined the nodes, much like the print-settings command does. > > Imo, today's work is a very significant step forward.
IMO it's a major breakthrough for Leo, and as a pattern for data retrieval in general. Lovely. > > As indicated above, the actual code in mod_scripting.py and other > places is quite picky. There could easily be bugs. If so, please > report the problems *here*, rather than file separate bug reports. > > Please let me know how the scheme works for you. I'll be happy to > make minor adjustments as needed. > > 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.
