I went about creating a custom .sublime-build file for SCons, since that's the build system we use in our project. I was able to get the build command working easily enough, but I'm having a hard time getting the lineNumberRegex to correctly support double-clickable error messages. I've tested this regex directly in the python shell against generated errors and the groups seem to return what I'm expecting. I'm wondering if the win32-style slashes are possibly the problem (as the errors are actually coming from Visual Studio). Here's my scons.sublime-build file:
build C:\Python25\Scripts\scons.bat -C "C:\Users\marshall\titanium_desktop" -j 4 debug=1 breakpad=0 webkit_debug=1
Following the model of the Make.sublime-build file, I broke up the error message into 2 groups; the first being the file path relative to the project root, and the second being the line number. Given the following error message:
modules\ti.UI\win32\win32_user_window.cpp(23) : error C2143: syntax error : missing ';' before 'constant'
and using re.match, this breaks down to:
group 1: modules\ti.UI\win32\win32_user_window.cpp
group 2: 23
Double clicking the above error message in the sublime output window doesn't seem to have any effect, so I have a few questions:
Is the order of the match groups correct? (is it ok to leave out the 3rd / optional "column" group?)
Do the win32 style "back slashes" in the relative path affect the logic somehow?
Do the paths need to be absolute instead of relative? SCons seems to pass relative (to the mount dir) paths into cl.exe / Visual Studio, which reports them back instead of the absolute path.
If any of the above are true, I guess I'd need to programmatically give Sublime the input it expects.. is there any inherit pluggability in the "build" support?
Is there any kind of visual indication to differentiate an error in the output window to the rest of the process output? If not -- it would be great if there was a simple red foreground or otherwise configurable option for this, to help differentiate it from other output in the window.
Thanks for a great editor.. looking forward to the day when I can replace the quirky Notepad++...