Now that I have a solid 1.5 release it is time to hold back on the incremental improvements and instead rethink and redo the underlying architecture of TextMate.
I have branched the source code so that I can still release a few 1.5.x versions, but currently my time is spent on the “new” branch, from which there will be no betas in the near future, sorry! There will be betas when it is feasible, please refrain from asking me when.
From my point of view, TextMate can be split into two portions. There is the central text editing control (i.e. my alternative to
NSTextView) and then there is the surrounding application, providing stuff like the project drawer, tabs, and similar.
This is an oversimplification, but the code base for these two portions are mostly unrelated, which is why I have this mental split.
Both things need an overhaul, but I am starting with the surrounding application. This isn’t what I am most excited to work on, but the current project management is quirky at best, and there are some “expected” things which are simply missing.
The core of this overhaul is the project drawer. I am writing a new component which mimics the functionality of a Finder window, so it has features such as aliases, labels, and smart folders. It also provides a plug-in system for remote file systems (like sftp) and SCM support (like subversion).
While it looks a little like the old project listing (it is depicted below), the feel of it will be a little different, and it will have some nice new capabilities. It will also use a combination of
kqueue and multi-threading to track changes on disk and not cause the application to stall when working with slow file systems.
This component will also integrate well with the Find in Project functionality and commands (as found in bundles).
The other part of the surrounding application is (lack of) split views, docking of HTML output for commands, tabs, HTML preview, the bundle editor, configurable (mode dependent) tool bars, and a few other things.
There are also planned improvements for all of this. I can go into more detail when I am further along in the process. Currently my ambitions are too high, so I’ll wait sharing them till I have a better grasp of what will be practical (and worth it).
You may wonder if this will be the 2.0 release, and likely it will. But it will be a free upgrade for all registered users. Though please do not buy TextMate today for what you think may come in 2.0. I make absolutely no promises about what future versions will contain, and I reserve the right to completely change my mind on what it should contain!