This Engineering Notebook post discusses trade-offs (unpleasant choices) that I have been considering lately. The purpose of this post is to acknowledge these choices and to move on. I am committing to nothing here.
The larger purpose is to free myself from the grip of urgent tasks so that I can see the big picture more clearly. *Unpleasant choices* As expected, doubts arose as soon as I declared that pyzo and Leo would remain forever separate. Sometimes I tell my subconscious/barely conscious mind to buzz off. But this is not one of those times. The root of these doubts is the undeniable fact that pyzo does shells and debuggers better than Leo does. I've improved the python_console plugin lately, but pyzo's shell and debugger are clearly superior. Would I embed pyzo's docks into Leo if I could just wave a magic wand? Yes, probably. Alas, actually doing so would take a lot of work. The "Let's pretend it's easy" principle doesn't help! It was useful for ignoring implementation details in the design phase, but it offers no real assistance otherwise. Recall the fundamental dilemma. There are *only *two ways forward: 1. *Import *pyzo code and bend it to Leo's will. 2. *Copy* pyzo code into Leo and suffer all the ill effects of cut and paste. Each would be a lot of work. Each is ugly in its own way. One way to bridge the gap between Leo and pyzo would be to use Leo's bridge inside pyzoic scripts. It's a cute trick, and it might be useful. It decreases the urgency of pyzo-related work. *Leo's past and future* I have done a lot of work in the past few years. I can look back without severe regrets. Having said that, few features truly moved Leo forward. The post script lists what I consider to be the real milestones in Leo's past. Now we come to the rub. Yes, it would be possible to improve Leo in lots of ways. Would any of the present enhancements truly move Leo forward? I think not. *Summary* It's time to put aside the daily obsession with details and features and dream again. Edward P. S. Let's take a trip down memory lane, with the help of release notes. Here are the major features (imo) of each release: *5.0: November, 2014* vim mode, pylint command, and importers for org mode and vimoutline files. *5.1: April, 2015* @clean and structured @data nodes. *5.2: March, 2016* Clone-find commands, c.cloneFindByPredicate, and the make-stub-files script. *5.3: May 2016* Importer for Jupyter (.ipynb) files, and much faster spell checking. *5.4: October 2016* Rewrote the javascript importer. *5.5: March, 2017* Fixed the horrendous syntax coloring performance bug, and rewrote all of Leo's importers. *5.6: September, 2017* The console gui, and the git-diff command. *5.7.x: February, 2018 through May, 2018* pip install leo, themes, clickable links in the log pane and rewrote Leo's key-handling code. *5.8: August, 2018* Fast read-file code: the end of file caching. *5.9: May, 2019* Leo in a browser, syntax coloring with pygments, and TravisCI. *6.0: June, 2019* Transition to python 3 and Qt docks. And that's it. Everything else is bug fixes, minor features, and whatever. This list slights plugins and their authors a bit. Otoh, plugins rarely transform Leo. EKR -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/89a3811c-6d64-4fd4-bb1e-c946a654c12f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
