" "
],
"| void showHelp" : [
- "() {",
- "",
+ "(Gtk.TextIter iter) {",
+ "\tvar back = iter.copy();",
+ "\tback.backward_char();",
+ "\t",
+ "\tvar forward = iter.copy();",
+ "\tforward.forward_char();",
+ "\t",
+ "\t// what's the character at the iter?",
+ "\tvar str = back.get_text(iter);",
+ "\tstr += iter.get_text(forward);",
+ "\tif (str.strip().length < 1) {",
+ "\t\treturn;",
+ "\t}",
+ "\tvar offset = iter.get_line_offset();",
+ "\tvar line = iter.get_line();",
+ "\tif (_this.prop != null) {",
+ "\t\t\t\t// ",
+ "\t\tline += _this.prop.start_line ; ",
+ "\t\t\t\t\t// this is based on Gtk using tabs (hence 1/2 chars);",
+ "\t\toffset += _this.node.node_pad.length;",
+ "\t\t\t\t\t// javascript listeners are indented 2 more spaces.",
+ "\t\tif (_this.prop.ptype == JsRender.NodePropType.LISTENER) {",
+ "\t\t\toffset += 2;",
+ "\t\t}",
+ "\t} ",
+ "\t",
+ "\tvar ls = _this.file.getLanguageServer();",
+ "\tls.hover.begin(",
+ "\t\t_this.file, line, offset,",
+ "\t\t( a, o) => {",
+ "\t\t\tvar res = ls.hover.end(o );",
+ "\t\t\t_this.helper.setHelp(res);",
+ "\t\t});",
+ "}\t",
+ "\t\t ",
+ " ",
"}"
]
},
//print("TO STRING? " + ret);
return ret;
}
- public void showHelp () {
-
+ public void showHelp (Gtk.TextIter iter) {
+ var back = iter.copy();
+ back.backward_char();
+
+ var forward = iter.copy();
+ forward.forward_char();
+
+ // what's the character at the iter?
+ var str = back.get_text(iter);
+ str += iter.get_text(forward);
+ if (str.strip().length < 1) {
+ return;
+ }
+ var offset = iter.get_line_offset();
+ var line = iter.get_line();
+ if (_this.prop != null) {
+ //
+ line += _this.prop.start_line ;
+ // this is based on Gtk using tabs (hence 1/2 chars);
+ offset += _this.node.node_pad.length;
+ // javascript listeners are indented 2 more spaces.
+ if (_this.prop.ptype == JsRender.NodePropType.LISTENER) {
+ offset += 2;
+ }
+ }
+
+ var ls = _this.file.getLanguageServer();
+ ls.hover.begin(
+ _this.file, line, offset,
+ ( a, o) => {
+ var res = ls.hover.end(o );
+ _this.helper.setHelp(res);
+ });
+ }
+
+
}
}