"bool check_queued" : false,
"id" : "buffer",
"int error_line" : "-1",
- "| bool highlightErrors" : "() {\n\n}\n",
+ "| bool highlightErrors" : "( Gee.HashMap<int,string> validate_res) {\n this.error_line = validate_res.size;\n\n if (this.error_line < 1) {\n return false;\n }\n var tlines = this.el.get_line_count ();\n Gtk.TextIter iter;\n var valiter = validate_res.map_iterator();\n while (valiter.next()) {\n \n // print(\"get inter\\n\");\n var eline = valiter.get_key();\n if (eline > tlines) {\n continue;\n }\n this.el.get_iter_at_line( out iter, eline);\n //print(\"mark line\\n\");\n this.el.create_source_mark(valiter.get_value(), \"error\", iter);\n } \n return true;\n }",
"| string toString" : " () {\n \n Gtk.TextIter s;\n Gtk.TextIter e;\n this.el.get_start_iter(out s);\n this.el.get_end_iter(out e);\n var ret = this.el.get_text(s,e,true);\n //print(\"TO STRING? \" + ret);\n return ret;\n}\n ",
"| bool checkSyntax" : " () {\n \n if (this.check_running) {\n print(\"Check is running\\n\");\n if (this.check_queued) { \n print(\"Check is already queued\");\n return true;\n }\n this.check_queued = true;\n print(\"Adding queued Check \");\n GLib.Timeout.add_seconds(1, () => {\n this.check_queued = false;\n \n this.checkSyntax();\n return false;\n });\n \n\n return true;\n }\n \n \n var p = Palete.factory(_this.file.xtype); \n \n var str = this.toString();\n \n string res = \"\";\n \n if (this.error_line > 0) {\n Gtk.TextIter start;\n Gtk.TextIter end; \n this.el.get_bounds (out start, out end);\n\n this.el.remove_source_marks (start, end, null);\n }\n \n if (str.length < 1) {\n print(\"checkSyntax - empty string?\\n\");\n return true;\n }\n this.check_running = true;\n \n \n if (_this.file.language == \"js\") {\n this.check_running = false;\n return this.highlightErrors(p.validateJavascript(\n str, \n _this.key, \n _this.ptype,\n _this.file,\n _this.node\n )); \n \n }\n \n print(\"calling validate code\\n\"); \n p.validateCode.begin(\n str, \n _this.key, \n _this.ptype,\n _this.file,\n _this.node,\n (obj, res) => {\n this.check_running = false;\n var validate_res = p.validateCode.end(res);\n this.highlightErrors(validate_res);\n\n }\n \n );\n \n \n \n //print(\"done mark line\\n\");\n \n return true; // at present allow saving - even if it's invalid..\n}\n",
"* pack" : "set_buffer",
}
// user defined functions
- public bool highlightErrors () {
+ public bool highlightErrors ( Gee.HashMap<int,string> validate_res) {
+ this.error_line = validate_res.size;
- }
+ if (this.error_line < 1) {
+ return false;
+ }
+ var tlines = this.el.get_line_count ();
+ Gtk.TextIter iter;
+ var valiter = validate_res.map_iterator();
+ while (valiter.next()) {
+
+ // print("get inter\n");
+ var eline = valiter.get_key();
+ if (eline > tlines) {
+ continue;
+ }
+ this.el.get_iter_at_line( out iter, eline);
+ //print("mark line\n");
+ this.el.create_source_mark(valiter.get_value(), "error", iter);
+ }
+ return true;
+ }
public string toString () {
Gtk.TextIter s;