X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FPalete%2FLanguageClientJavascript.vala;h=b28383540c86630fb459ea15a4ddf26a730e2bf1;hb=HEAD;hp=8f8b357457b1e0af4782c5c52d51c554feecc8d0;hpb=49a83b7a21127197c862cd57ed28067dec296a03;p=roobuilder diff --git a/src/Palete/LanguageClientJavascript.vala b/src/Palete/LanguageClientJavascript.vala index 8f8b35745..b28383540 100644 --- a/src/Palete/LanguageClientJavascript.vala +++ b/src/Palete/LanguageClientJavascript.vala @@ -15,10 +15,7 @@ namespace Palete { public override void initialize_server() { GLib.debug("initialize javascript server"); } - - - - + public override bool isReady () { return true; } public override void document_open (JsRender.JsRender file) { @@ -27,7 +24,7 @@ namespace Palete { BuilderApplication.updateCompileResults(); } - public override void document_save (JsRender.JsRender file) + public override async void document_save (JsRender.JsRender file) { this.file_contents.set(file.path, file.toSourceCode()); @@ -35,15 +32,17 @@ namespace Palete { Javascript.singleton().validate(file.toSourceCode(), file ); BuilderApplication.updateCompileResults(); } - public override void document_change_force (JsRender.JsRender file, string contents ) { + public override async void document_change_force (JsRender.JsRender file, string contents ) { this.file_contents.set(file.path, contents); GLib.debug("set file %s : %d chars", file.path, this.file_contents.get(file.path).length); Javascript.singleton().validate(contents, file ); BuilderApplication.updateCompileResults(); } - public override void document_change (JsRender.JsRender file ) + public override void document_change (JsRender.JsRender file ) { - this.document_change_force( file, file.toSourceCode()); + this.document_change_force.begin( file, file.toSourceCode(), (obj, res) => { + this.document_change_force.end(res); + });; } public override void document_close (JsRender.JsRender file) {} public override void exit () throws GLib.Error { } @@ -59,7 +58,7 @@ namespace Palete { //GLib.debug("got file %s : %s ", file.path, this.file_contents.get(file.path)); var ar = this.file_contents.get(file.path).split("\n"); - var ln = line >= ar.length ? "" : ar[line-1]; + var ln = line >= ar.length || line < 1 ? "" : ar[line-1]; if (offset-1 >= ln.length) { GLib.debug("request for complete on line %d @ pos %d > line length %d", line, offset, (int) ln.length); return ret; @@ -279,20 +278,30 @@ namespace Palete { } - - - return ret; } - public override async Gee.ArrayList syntax (JsRender.JsRender file) throws GLib.Error { - var ret = new Gee.ArrayList(); + + public override async Lsp.Hover hover (JsRender.JsRender file, int line, int offset) throws GLib.Error { + return new Lsp.Hover(); + } + public override void queueDocumentSymbols (JsRender.JsRender file) { } + public override async Gee.ArrayList documentSymbols (JsRender.JsRender file) throws GLib.Error { + var ret = new Gee.ArrayList(); return ret; } - + public override async Gee.ArrayList signatureHelp (JsRender.JsRender file, int line, int offset) throws GLib.Error + { + return new Gee.ArrayList(); + } + public override async Gee.ArrayList symbol (string sym) throws GLib.Error + { + return new Gee.ArrayList(); + } + } } \ No newline at end of file