X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FPalete%2FCompletionProvider.vala;h=06259d4afab5eb0e52a3930df8100a7d47a828b2;hb=49a83b7a21127197c862cd57ed28067dec296a03;hp=9c365af040659280916d52855884f0e74b4ac504;hpb=772496abf201ed7eb01ac2f443de691dedc1ab65;p=roobuilder diff --git a/src/Palete/CompletionProvider.vala b/src/Palete/CompletionProvider.vala index 9c365af04..06259d4af 100644 --- a/src/Palete/CompletionProvider.vala +++ b/src/Palete/CompletionProvider.vala @@ -197,14 +197,21 @@ namespace Palete { var offset = end.get_line_offset(); if (this.editor.prop != null) { // tried line -1 (does not work) - + GLib.debug("node pad = '%s' %d", this.editor.node.node_pad, this.editor.node.node_pad.length); + line += this.editor.prop.start_line ; // this is based on Gtk using tabs (hence 1/2 chars); - offset += this.editor.file.file_namespace == "" ? 1 : 2; + offset += this.editor.node.node_pad.length; + // javascript listeners are indented 2 more spaces. + if (this.editor.prop.ptype == JsRender.NodePropType.LISTENER) { + offset += 2; + } } - this.file.getLanguageServer().document_change_real(this.file, this.editor.tempFileContents()); + this.file.getLanguageServer().document_change_force(this.file, this.editor.tempFileContents()); try { + GLib.debug("sending request to language server %s", this.file.getLanguageServer().get_type().name()); + res = yield this.file.getLanguageServer().completion(this.file, line, offset, 1); } catch (GLib.Error e) { GLib.debug("got error %s", e.message);