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:
- Code: Select all
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++...