" ((GtkSource.Buffer)(buf)) .set_language(lm.get_language(_this.file.language));",
" ",
" ",
- " Gtk.TextIter start;",
- " Gtk.TextIter end; ",
- " ",
- " sbuf.get_bounds (out start, out end);",
- " sbuf.remove_source_marks (start, end, null); // remove all marks..",
+ " _this.main_window.windowstate.updateErrorMarksAll();",
" ",
+ " // what does this do?",
" GLib.Timeout.add(500, () => {",
"",
" print(\"RESORTING cursor to = %d\\n\", cpos);",
" ",
"}",
""
+ ],
+ "| void updateErrorMarks" : [
+ "(string category) {",
+ "\t",
+ " ",
+ "",
+ "\tvar buf = _this.buffer.el;",
+ "\tGtk.TextIter start;",
+ "\tGtk.TextIter end; ",
+ "\tbuf.get_bounds (out start, out end);",
+ "",
+ "\tbuf.remove_source_marks (start, end, category);",
+ " ",
+ "\tGLib.debug(\"highlight errors\");\t\t ",
+ "",
+ "\t // we should highlight other types of errors..",
+ "",
+ " ",
+ "",
+ "\t ",
+ "\tif (_this.file == null) {",
+ "\t\tGLib.debug(\"file is null?\");",
+ "\t\treturn;",
+ "",
+ "\t}",
+ "\tvar ar = this.file.getErrors(category);",
+ "\tif (ar == null || ar.get_n_items() < 1) {",
+ "\t\tGLib.debug(\"higjlight %s has no errors\", category);",
+ "\t\treturn;",
+ "\t}",
+ " ",
+ "",
+ " ",
+ "\t",
+ "\tvar offset = 0;",
+ "\t ",
+ "",
+ "\tvar tlines = buf.get_line_count () +1;",
+ "\t",
+ " ",
+ "\t ",
+ "\tfor (var i = 0; i < ar.get_n_items();i++) {",
+ "\t\tvar err = (Palete.CompileError) ar.get_item(i);",
+ "\t\t",
+ "\t Gtk.TextIter iter;",
+ "// print(\"get inter\\n\");",
+ "\t var eline = err.line - offset;",
+ "\t GLib.debug(\"GOT ERROR on line %d -- converted to %d (offset = %d)\",",
+ "\t \terr.line ,eline, offset);",
+ "\t ",
+ "\t ",
+ "\t if (eline > tlines || eline < 0) {",
+ "\t return;",
+ "\t }",
+ "\t ",
+ "\t ",
+ "\t buf.get_iter_at_line( out iter, eline);",
+ "\t ",
+ "\t ",
+ "\t\tvar msg = \"Line: %d %s : %s\".printf(eline+1, err.category, err.msg);",
+ "\t buf.create_source_mark( msg, err.category, iter);",
+ "\t GLib.debug(\"set line %d to %s\", eline, msg);",
+ "\t //this.marks.set(eline, msg);",
+ "\t}",
+ "\treturn ;",
+ "",
+ "",
+ "",
+ " ",
+ "",
+ "}"
]
}
],