*Here I will lay out a couple of basic principles that I now apply when 
working on this project. I have gathered them in the last year while trying 
to get Leo and vscode's APIs to behave nicely with each other. (They are 
NOT applicable on other programming projects that do not consist of 
bridging two different, unknown APIs.)*

*By reading this, you will be (more) prepared to contribute to leointeg by 
being aware of the type of comments and objections I might bring forward.*

This is not 'fun' programming with nice algorithms being created, and the 
like. It's a work of binding "this to that" from an api to the other. There 
will be plenty of time to do 'fun' programming with it after it's done.

Each time I have endeavored into making leointeg do more than Leo, I 
regretted it, had to undo my work and redo something simpler that really 
mimicked what the Leo behavior was, without adding 'features' to it. 
*(Examples: 
Making any gnx editable simultaneously, opening any node beside other 
editors without changing selection in Leo, unfolding / collapsing without 
selecting in Leo, as Leo selects each node it travels to while browsing, 
and many more...)*

At each and every 'value added feature' that seemed like a good idea and 
that seemed to work, it came back to bite me on the *ss down the road when 
implementing more thing that, I thought at the time, were unrelated.

After the 3rd or 4th time that my ideas of grandeur simply made the project 
get delayed by months at a time, I now make sure I implement any general 
Leo feature into vscode in the most simple, easy, basic way possible that 
just reflects what Leo does in appearance.

The goal, and reasoning behind this, is more than just a reaction to "I get 
frustrated & delayed when I have to roll back when I fail to implement an 
additional 'cool' feature".

While really, In fact it's more of an "Lets get all basic features going in 
a generic, usable manner, and then we'll add cool features that were not 
even in Leo, or at least better than some that were in Leo."

Lastly, if a feature is accidentally made better, I leave it at that 
obviously. For example, in Leo the coloring is applied correctly when 
selecting a node. (changing coloring triggers by typing while staying in 
the same node may not apply coloring correctly, but re-selecting a node 
fixes it.) In vscode, the rules are reapplied at any keypress perfectly, or 
so it seems, so that's a happy accident that's totally acceptable, and in 
fact appreciated greatly.

... if that makes any sense.
Félix

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/c5e3fcd9-bae5-49c9-afef-bc83b7e895c3o%40googlegroups.com.

Reply via email to