Hi,
I know that many TJ2 users miss the IDE integration that the TJ2 GUI offered. Since I use
Vim for most of my TaskJuggler and programming work, I've tried to recreate most of that functionality from within Vim. I'm pretty surprised, how far I got with fairly little effort. If you don't know Vim yet, give it a try. It should be available for all platforms that TJ3 runs on.
You will get the following features:
- Syntax highlighting. TJP keywords should be colored in different colors.
- Syntax folding. The optional parts of properties within the
curly braces can be collapsed. For this to work, the opening brace needs
to be on the same line as the property keyword. The closing brace must
be the first non-blank character of the last line of the block. See the
:help fold Vim help command for details how to open and close folds. - Tag navigation. If you include a tagfile report in your project, Vim will know all property IDs and can jump to them. If you have a task with the ID
foo.bar, the command :ta foo.bar will put the cursor right where task foo.bar was declared.
- ID completion. If you include a tagfile
report in your project, Vim can tell you the full hierarchical ID of a
property. Just move the cursor to the first line of the property
definition and press
Ctrl-]. - Run tj3 from within vim. Just type
:make your_project.tjp to start the scheduling process. In case of errors or warnings, you will be able to navigate the errors with :cn and :cp.
- Move the cursor over any TaskJuggler syntax keyword and press
shift-k to get the manual page for this keyword.
Installation instructions can be found
in the TJ3 manual.
The actual TaskJuggler side of this is not at all Vim specific. If you want to integrate TaskJuggler into your favorite editor, please have a look at lib/taskjuggler/VimSyntax.rb as a template. I'm very open for
github pull requests.
Chris