X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FPalete%2FLanguageClientVala.vala;h=d535822b40c8072f9209c478e2a7d616a9519f2b;hb=042e9d4a0fbdacac933b2a2df0625b7ba4bd7674;hp=fe374453adb2cce38b645e7cb52187525bb44b20;hpb=22be1768a48c8284ac63ad046a0038b814fde930;p=roobuilder diff --git a/src/Palete/LanguageClientVala.vala b/src/Palete/LanguageClientVala.vala index fe374453a..d535822b4 100644 --- a/src/Palete/LanguageClientVala.vala +++ b/src/Palete/LanguageClientVala.vala @@ -241,6 +241,7 @@ namespace Palete { { switch (method) { case "textDocument/publishDiagnostics": + GLib.debug("got notification %s : %s", method , Json.to_string (Json.gvariant_serialize (return_value), true)); this.onDiagnostic(return_value); return; default: @@ -256,26 +257,17 @@ namespace Palete { */ public void onDiagnostic(Variant? return_value) { - + GLib.debug ("LS replied with %s", Json.to_string (Json.gvariant_serialize (return_value), true)); var dg = Json.gobject_deserialize (typeof (Lsp.Diagnostics), Json.gvariant_serialize (return_value)) as Lsp.Diagnostics; this.log(LanguageClientAction.DIAG, dg.filename); var f = this.project.getByPath(dg.filename); if (f == null) { //GLib.debug("no file %s", dg.uri); - this.project.updateErrorsforFile(null); + //this.project.updateErrorsforFile(null); return; } - foreach(var v in f.errorsByType.values) { - v.remove_all(); - } - foreach(var diag in dg.diagnostics) { - var ce = new CompileError.new_from_diagnostic(f, diag); - if (!f.errorsByType.has_key(ce.category)) { - f.errorsByType.set(ce.category, new GLib.ListStore(typeof(CompileError))); - } - f.errorsByType.get(ce.category).append(ce); - } - f.project.updateErrorsforFile(f); + f.updateErrors( dg.diagnostics ); + }