I’ve been using TaskJuggler a bit more at work recently to develop and maintain project schedules, and decided it was time to do a bit more work on my Komodo extension for the TaskJuggler language. This update doesn’t have anything earth-shaking, but does address a few of the more glaring items on my to-do list:
User-defined macros are now syntax-highlighted in the same manner as system macros like “projectstart”.
More complete highlighting for secondary keywords and column identifiers used in the various types of reports.
The “up” and “down” suffixes used to control column sorting in reports are now highlighted.
Fixed a couple highlighting oddities related to the overlap between attributes and report column identifiers (where there is a conflict, attributes win).
Some minor cleanup in the mode’s UDL file to remove unused kruft leftover from how Komodo sets up projects.
I’ve been using TaskJuggler on an off-and-on basis over the past nine months or so; it’s a reasonably full-featured project scheduling tool, written in Ruby and using a plain-text input file to define all aspects of the project (resources, tasks, task dependencies, etc.). The syntax for the input files is reasonably straightforward, but I’d been wishing for a bit of syntax-highlighting support in working with those input files. Enter ActiveState’s Komodo v7 and the Komodo team’s focus on making it a little simpler to throw together support for additional languages in Komodo… the result is basic (at this early juncture) support for TaskJuggler input files.
I recognize there is a very limited audience for this particular language in Komodo: supporting TaskJuggler input files is probably not going to be what sways people looking for a text editor toward Komodo. That being said, with Komodo being my primary editor for most tasks, having support for TaskJuggler made sense at least for my own use. And who knows? Maybe it will be of use to one or two other TaskJuggler users.
This early version (tagged as v0.1.0) provides basic language syntax highlighting, a bit of language intelligence, and some basic macros to
provide language help,
check the syntax of TaskJuggler files, and
implement Komodo abbreviations for the two most common TaskJuggler commands (“resource”, “task”)
Download it, install it as you would any other Komodo extension, and have at it.
I still have a fair amount of work ahead refine some of the subtleties of how the TaskJuggler language is parsed to be a little more context-aware as it tokenizes the language. I’m also very open to suggestions as to what sorts of additional macros and abbreviations would add value to be bundled with the “TaskJuggler Tools” installed with the extension.