Commit ef674daa authored by chriseth's avatar chriseth

Render errors from other files correctly.

parent 929cbdbf
...@@ -655,7 +655,7 @@ ...@@ -655,7 +655,7 @@
var detailsOpen = {}; var detailsOpen = {};
function errortype(message) { function errortype(message) {
return message.match(/^[0-9:]* Warning: /) ? 'warning' : 'error'; return message.match(/^.*:[0-9]*:[0-9]* Warning: /) ? 'warning' : 'error';
} }
var renderError = function(message) { var renderError = function(message) {
...@@ -663,10 +663,12 @@ ...@@ -663,10 +663,12 @@
var $pre = $("<pre />").text(message); var $pre = $("<pre />").text(message);
var $error = $('<div class="sol ' + type + '"><div class="close"><i class="fa fa-close"></i></div></div>').prepend($pre); var $error = $('<div class="sol ' + type + '"><div class="close"><i class="fa fa-close"></i></div></div>').prepend($pre);
$('#output').append( $error ); $('#output').append( $error );
var err = message.match(/^:([0-9]*):([0-9]*)/); var err = message.match(/^([^:]*):([0-9]*):(([0-9]*):)? /);
if (err && err.length) { if (err) {
var errLine = parseInt(err[1], 10) - 1; var errFile = err[1];
var errCol = err[2] ? parseInt(err[2], 10) : 0; var errLine = parseInt(err[2], 10) - 1;
var errCol = err[4] ? parseInt(err[4], 10) : 0;
if (errFile == '' || errFile == fileNameFromKey(SOL_CACHE_FILE)) {
sourceAnnotations[sourceAnnotations.length] = { sourceAnnotations[sourceAnnotations.length] = {
row: errLine, row: errLine,
column: errCol, column: errCol,
...@@ -674,7 +676,14 @@ ...@@ -674,7 +676,14 @@
type: type type: type
}; };
editor.getSession().setAnnotations(sourceAnnotations); editor.getSession().setAnnotations(sourceAnnotations);
}
$error.click(function(ev){ $error.click(function(ev){
if (errFile != '' && errFile != fileNameFromKey(SOL_CACHE_FILE) && getFiles().indexOf(fileKey(errFile)) !== -1) {
// Switch to file
SOL_CACHE_FILE = fileKey(errFile);
updateFiles();
//@TODO could show some error icon in files with errors
}
editor.focus(); editor.focus();
editor.gotoLine(errLine + 1, errCol - 1, true); editor.gotoLine(errLine + 1, errCol - 1, true);
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment