--
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 leo-editor+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/bd6bd906-bfe5-4425-a68b-cad2dd6e4783n%40googlegroups.com.

You received this message because you are subscribed to a topic in the Google Groups "leo-editor" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/leo-editor/g0Irx8egu7A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to leo-editor+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/CAJ1i%2BSbbdSyVf7ObkLNj%3DGGeGbL9%3D82VGy5fXd%2BS%2B37qrBYW1w%40mail.gmail.com.
I'm eager to expand my knowledge of Leo. While reading code is a viable learning method, I find the scope of Leo overwhelming. Could you recommend an approach or path to learning more about Leo that is manageable and not too steep?
Next, get comfortable with g.trace(g.callers()) and breakpoint, a Python primitive.
To see these in action, run a test program in another console.
> Don't even think about programming without git.
Here are some "looking over my shoulder" tips related to workflow:
Leo's git-related commands and scripts
I frequently use Leo's git-diff (gd) and git-diff-pr commands. These commands show the diffs as a Leo outline. They are usually better than corresponding git commands.
LeoPyRef.leo contains two notable Leonine scripts relating to git diff:
script: diff-branches/revs (all files)
script: diff-branches/revs (one file)
Please take a look. The latter script came in handy in the recent emergency concerning leoAtFile.py!
git console scripts
I control git from the console. To save typing, I have defined several git-related shortcuts as scripts:
ga: git add
gb: git branch
gc: git commit
gco: git checkout
gd: git diff
gm: git merge
gmd: git merge devel
gs: git status
These scripts all take arguments. For example, `ga .`
These scripts save a lot of typing!
Summary
Investing in git is part of the art of programming.
As I write this, I see that my recent posts apply to learning any new programming language.
Edward
I meant to say, breakpoint().

I forgot to say that I run the second Leo session using a theme with a different color scheme from the first one. That way I don't get mixed up and make a change in or close the wrong window. You can set a specific theme with the --theme= command line parameter.
On Sunday, December 10, 2023 at 8:23:53 AM UTC-5 Edward K. Ream wrote:To see these in action, run a test program in another console.
...
You don't need to do this for a script that doesn't change code that Leo uses, but otherwise test in a second session. You will have to close it each time you make a correction, but you will keep your place in the code in the original window, which would probably open more slowly as well.
Another big benefit of using a second Leo session is if you are working on core Leo code and you make a mistake that prevents Leo from running. If you only used the one Leo window, you are in trouble because you won't be able to start Leo to fix the mistake. If the second session fails you can fix up the problem in the still-open first session.Don't scoff, it's happened to me many times.
Thank you for highlighting this little trick that is not difficult, but does improve efficiency.
Btw, your daily workflow is also a great info item as I asked before. You don't need to think too much about what to teach us, just do what you want to do, and I think it must be valuable.
My Last Lecture will probably say surprisingly little about programming.