"id" : "buffer",
"int error_line" : "-1",
"| 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 var p = Palete.factory(_this.file.xtype); \n \n var str = this.toString();\n \n string res = \"\";\n \n if (this.error_line > -1) {\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 \n var validate res = p.validateCode(\n str, \n _this.ptype == \"listener\" ? \"| function \" : _this.key, \n _this.file.language, \n \n );\n \n \n this.error_line = line;\n print(\"got line %d\\n%s\\n\", line, res);\n if (line < 0) {\n \n return true;\n }\n Gtk.TextIter iter;\n print(\"get inter\\n\");\n this.el.get_iter_at_line( out iter, line);\n print(\"mark line\\n\");\n var m = this.el.create_source_mark(res, \"error\", iter);\n \n print(\"done mark line\\n\");\n \n return true; // at present allow saving - even if it's invalid..\n}\n",
+ "| bool checkSyntax" : " () {\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 \n var validate_res = p.validateCode(\n str, \n _this.ptype == \"listener\" ? \"| function \" : _this.key, \n _this.file.language, \n \n );\n \n \n this.error_line = validate_res.size;\n\n if (this.error_line < 1) {\n return true;\n }\n Gtk.TextIter iter;\n var valiter = validate_res.map_iterator();\n while (valiter.next()) {\n \n print(\"get inter\\n\");\n this.el.get_iter_at_line( out iter, valiter.get_key());\n print(\"mark line\\n\");\n this.el.create_source_mark(valiter.get_value(), \"error\", iter);\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",
"xtype" : "Buffer",
"$ xns" : "GtkSource"
string res = "";
- if (this.error_line > -1) {
+ if (this.error_line > 0) {
Gtk.TextIter start;
Gtk.TextIter end;
this.el.get_bounds (out start, out end);
}
- var validate res = p.validateCode(
+ var validate_res = p.validateCode(
str,
_this.ptype == "listener" ? "| function " : _this.key,
_this.file.language,
);
- this.error_line = line;
- print("got line %d\n%s\n", line, res);
- if (line < 0) {
-
- return true;
+ this.error_line = validate_res.size;
+
+ if (this.error_line < 1) {
+ return true;
}
Gtk.TextIter iter;
- print("get inter\n");
- this.el.get_iter_at_line( out iter, line);
- print("mark line\n");
- var m = this.el.create_source_mark(res, "error", iter);
-
+ var valiter = validate_res.map_iterator();
+ while (valiter.next()) {
+
+ print("get inter\n");
+ this.el.get_iter_at_line( out iter, valiter.get_key());
+ print("mark line\n");
+ this.el.create_source_mark(valiter.get_value(), "error", iter);
+ }
+
print("done mark line\n");
return true; // at present allow saving - even if it's invalid..