Why the pyzo project is worth doing

42 views
Skip to first unread message

Edward K. Ream

unread,
May 19, 2019, 7:34:17 AM5/19/19
to leo-editor
I am supremely confident that #1093, Add pyzo features to Leo, is worth doing and will complete successfully.  This post explains why.

Background

Recent work demonstrates that Leo can load pyzo while maintaining complete control.  That is, while loading (importing) pyzo, Leo can patch any part of pyzo so as to "bend pyzo to Leo's will".  This guarantees the success of the project from a coding point of view.

There are also design issues to consider!  I am confident that all such issues can be resolved elegantly.  You'll have to take my word for it ;-)

Opportunities

I have just now closed two pyzo-related issues and marked them Won'tDo.  They are:

#1095:Stand-alone pyzo file browser, and
#1110: Replace the Easter Egg interface.

Killing these issues represents new opportunities.  Their replacements are, respectively:

#1149: Improve Leo's file browser.
#1150: Base Leo on QDockWidget.

These issues are related to pyzo, but they will be done independently of the pyzo project.  There are important design issues involved with #1150, and my intention is to resolve before integrating the work with pyzo.  Don't panic.  You will have plenty of time to discuss this project.

Setting boundaries

Pyzo's debugger and shell windows go far beyond anything that Leo presently offers.  Integrating pyzo's code will present at least the following technical challenges:

- Using pyzo's settings machinery only when needed.
- Replacing pyzo's key-handling with Leo's.
- Connecting pyzo-related menu items (in Leo) with the proper methods in pyzo.
- Having the pyzo file browser open Leo outlines in a Leonine manner.

These all involve setting boundaries between pyzo and Leo. Some have already been done.

Summary

The pyzo project is large, and will consist of many steps, some unknown at this time.  But I am sure that each step will be worth the effort and that each step will, ultimately, improve Leo.

For example, yesterday's work killed #1095 (stand-alone pyzo file browser) because it showed that all the benefits could be easily added to Leo's existing file browser.  Note: the pyzo project will use pyzo's file browser.  Why wouldn't it?

#1150: Base Leo on QDockWidget, will likely be done next.  It's worth doing regardless of the pyzo project, and it is, in effect, a precondition for the pyzo project.  I'll say more about #1150 in a another post later today.

Edward

Edward K. Ream

unread,
May 19, 2019, 7:06:36 PM5/19/19
to leo-editor
On Sunday, May 19, 2019 at 6:34:17 AM UTC-5, Edward K. Ream wrote:

I am supremely confident that #1093, Add pyzo features to Leo, is worth doing and will complete successfully.

I forgot to mention a practical reason for my confidence. I have added extensive tracing to my personal copy of Leo, which in leo-editor-contrib.  These traces were crucial in figuring out the load sequence.  New traces will allow me to catch pyzo in the act should I need to do so.  This means that all question can be answered conclusively.

Edward
Reply all
Reply to author
Forward
0 new messages