Commit 33ff32c4 authored by chriseth's avatar chriseth

Report multiple errors.

parent dccf58af
...@@ -384,9 +384,12 @@ input[readonly] { ...@@ -384,9 +384,12 @@ input[readonly] {
var compileJSON; var compileJSON;
var previousInput = ''; var previousInput = '';
var sourceAnnotations = [];
var compile = function() { var compile = function() {
editor.getSession().clearAnnotations(); editor.getSession().clearAnnotations();
sourceAnnotations = [];
editor.getSession().removeMarker(errMarkerId); editor.getSession().removeMarker(errMarkerId);
$('#output').empty();
var input = editor.getValue(); var input = editor.getValue();
var optimize = document.querySelector('#optimize').checked; var optimize = document.querySelector('#optimize').checked;
try { try {
...@@ -397,6 +400,10 @@ input[readonly] { ...@@ -397,6 +400,10 @@ input[readonly] {
} }
if (data['error'] !== undefined) if (data['error'] !== undefined)
renderError(data['error']); renderError(data['error']);
if (data['errors'] != undefined)
$.each(data['errors'], function(i, err) {
renderError(err);
});
else else
renderContracts(data, input); renderContracts(data, input);
...@@ -433,18 +440,18 @@ input[readonly] { ...@@ -433,18 +440,18 @@ input[readonly] {
var renderError = function(message) { var renderError = function(message) {
$('#output') $('#output')
.empty()
.append($('<pre class="error"></pre>').text(message)); .append($('<pre class="error"></pre>').text(message));
var err = message.match(/^:([0-9]*):([0-9]*)/) var err = message.match(/^:([0-9]*):([0-9]*)/)
if (err && err.length) { if (err && err.length) {
var errLine = parseInt( err[1], 10 ) - 1; var errLine = parseInt( err[1], 10 ) - 1;
var errCol = err[2] ? parseInt( err[2], 10 ) : 0; var errCol = err[2] ? parseInt( err[2], 10 ) : 0;
editor.getSession().setAnnotations([{ sourceAnnotations[sourceAnnotations.length] ={
row: errLine, row: errLine,
column: errCol, column: errCol,
text: message, text: message,
type: "error" type: "error"
}]); };
editor.getSession().setAnnotations(sourceAnnotations);
} }
}; };
......
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