I am using a custom build tool, which takes a great number of different command-line options and arguments. Currently, I have added 11 different command-line combinations to the Build System Menu. It may seem like an awful lot of different build commands, but each one of these has its own frequent use case that helps me speed up development.
This setup works, but I find it painful to switch between build commands that I cannot see or tweak without opening the corresponding sublime-build file. I have to admit that I have never been particularly fond of going through a menu system to perform a simple and frequent task. I love the way that the Find and Replace panels work, so I was wondering if something similar could work for ad-hoc tool integration as well. Basically, I imagine that something like crtl+t could open the following tool panel.
The user could then enter and run a command. Here is an example of one of my build commands, which compiles the current file to an ARM target.
Command line: pooma -s "build\release_diab_arm\*\$BaseName.o"
Working directory: $ProjectDir
Output filter: ^(^(\n]*)\(([0-9]+)\) : (?:error|warning)
The tool panel should support a command history just like the Python Console does. This would allow the user to quickly switch between commands that he has previously entered. The "showWhenFinished" switch could be a button just like the "Case Sensitive" button in the Find panel.
I have a couple of other tools (unit testing, source code analysis and tagging) that could benefit from the ad-hoc tool panel without requiring a tighter integration with Sublime. I actually like working with command-line tools, but being able to navigate the output from these tools in Sublime brings the best of both worlds to me. I would even like to run tools like Source Control Management from the tool panel even though they do not normally output any file locations.
These are just initial ideas. What do you think about them?