Sublime Text has quite good support too.
F4 navigates you to the next error, opens the file (if it's not opened) and moves the cursor to the error location.

Jan

On 13/01/15 17:52, Nick Fitzgerald wrote:
For those of us using Emacs:

I use M-x shell as my terminal, and when combined with
compilation-shell-minor-mode, I get the following goodies:

* Compilation errors get "syntax" highlighted

* Putting the cursor on an error line and pressing RET opens the file in a
new (or its existing) buffer and moves the cursor to the error location

* C-M-n navigates the cursor to the next compilation error

* C-M-p navigates the cursor to the previous compilation error

Very fast, very integrated!

On Mon, Jan 12, 2015 at 2:09 PM, Nicholas Nethercote <[email protected]
wrote:
Hi,

If you do |mach build| and get compile errors, often those errors
scroll quickly off screen and they are mixed in with other lines of
output and it's hard to find them.

I deal with this by using a bash alias that calls |mach build| and
pipes the output to file. I can then use Vim's quicklists feature to
jump directly to errors in the file. But sometimes I just want to
eyeball the errors directly in the terminal, so in my alias I also
have a post-build step that greps the output file for the first five
error messages.

This setup works well for me but it's also kinda gross [1] and this
seems like a problem that everybody else working on C++ code has to
deal with as well. So I'm wondering if there are other, better ways of
doing it, and if so, could they be made automatic? There is |mach
warnings-list| which is sort of like this, but not quite.

Thanks.

Nick

[1] How gross? Here are the two most important lines:

     # Send mach's raw output to stdout and $config/log, and the
     # timestamp-stripped output to errors.err. The "$| = 1" disables Perl's
     # buffering, so the output is available immediately.
     MOZCONFIG=$HOME/moz/config/$config nice mach build $restdir 2>&1 | \
         tee >(perl -p -e '$| = 1; s/^ *\d+:\d\d\.\d\d //' > errors.err) \
             $config/log

     # Show up to five errors, with 10 lines of trailing context each.  But
     # first, truncate line length to 300 chars (because I sometimes get
     # extremely long lines describing the command line used, which are
     # annoying).
     perl -p -e 's/^(.{300}).*$/\1/' $config/log | \
         grep --max-count=5 --before-context=3 --after-context=10 "\<error:"
_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

_______________________________________________
dev-platform mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to