*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.
