Hi everyone!
It has been a big month for 4coder. Just today I released alpha 4.0.12. I finally switched over to the gap buffer, and eliminated the transitional framework that I first constructed eleven months ago. Getting rid of that extra complexity bought me a great deal of room in my "complexity budget", and I spent it on new features in the buffer system.
The immediate upgrades are the systems for arbitrary wrap positions, and virtualized white space at the beginning of lines, which have allowed me to create a code smart line wrapping system, or "code wrapping". Just enabling code wrapping can make you a little faster by eliminating a lot of left-to-right scrolling you may have been doing in the past. It also makes it so that you never spend a single keystroke manipulating lead white space. I look forward to iterating on this idea and related ideas for a while to see how much we can all get out of it. There may also be some higher order benefits but I won't go into a lot of detail today.
A more subtle upgrade is a new type of "buffer coordinate" called the "apparent character". The apparent character was necessary for virtual white space, because there is now a separation from the text that is actually in the file and the text that is "apparent". This upgrade is filed under "more subtle" because the benefit of it right now is slight. It merely supports code wrapping. But later this will be crucial for adding Unicode support.
As for the month of November, I think it will be best if I take it easy on the new features. Switching to gap buffer bought me some room in the complexity budget, but at this point I think I've overspent. The last week of getting 4.0.12 out was an exercise in not panicking as I realized how many new details I have added to the system. So it seems to me that the wise next step for the project is to take a few versions to let all the dust settle and try to make some more wiggle room in the complexity budget again.
I have also been getting a high number of requests that aren't even for features in the application. Many people are looking for 4coder tutorials for getting started with 4coder. Some people are looking for a "current feature list" so they know if there is a good migration path from their current editor. Some people are looking for a road map, so they can see how I am prioritizing my next steps and make suggestions where they think my plans have a blind spot. So my prime directive for November will be to produce a lot of informational material about 4coder while I do the slow process of "cleaning up" in the application's code base.
Thanks so much everyone! Later!