src/Builder4/Editor.bjs
authorAlan Knowles <alan@roojs.com>
Fri, 15 May 2015 07:39:40 +0000 (15:39 +0800)
committerAlan Knowles <alan@roojs.com>
Fri, 15 May 2015 07:39:40 +0000 (15:39 +0800)
src/Builder4/Editor.vala

src/Builder4/Editor.bjs
src/Builder4/Editor.vala

index 2b4f174..cf4b9ec 100644 (file)
@@ -88,7 +88,7 @@
          "xtype" : "SourceBuffer",
          "bool check_running" : false,
          "$ xns" : "Gtk",
-         "| bool highlightErrorsJson" : "(Json.Object obj) {\n\n    if (!obj.has_member(\"ERR\")) {\n        return true;\n    }\n    var err = obj.get_object_member(\"ERR\");\n    \n    if (!err.has_member(_this.file.path)) {\n        return true;\n    }\n    var lines = err.get_object_member(_this.file.path);\n    \n    var tlines = this.el.get_line_count ();\n     Gtk.TextIter iter;\n    lines.foreach_member((obj, line, node)) {\n        \n        \n    //        print(\"get inter\\n\");\n            var eline = int.parse(line);\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(lines.get_string_member(line), \"error\", iter);\n        } )\n        return false;\n    \n\n\n\n\n}\n"
+         "| bool highlightErrorsJson" : "(Json.Object obj) {\n\n    if (!obj.has_member(\"ERR\")) {\n        return true;\n    }\n    var err = obj.get_object_member(\"ERR\");\n    \n    if (!err.has_member(_this.file.path)) {\n        return true;\n    }\n    var lines = err.get_object_member(_this.file.path);\n    \n    var offset = 0;\n    if (obj.has_member(\"line_offset\")) {\n        offset = obj.get_int_member(\"line_offset\");\n    }\n    \n    \n    var tlines = this.el.get_line_count ();\n     Gtk.TextIter iter;\n    lines.foreach_member((obj, line, node)) {\n        \n        \n    //        print(\"get inter\\n\");\n            var eline = int.parse(line) - offset;\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(lines.get_string_member(line), \"error\", iter);\n        } )\n        return false;\n    \n\n\n\n\n}\n"
         }
        ]
       }
index d71e338..b0f7892 100644 (file)
@@ -491,13 +491,19 @@ public class Editor : Object
             }
             var lines = err.get_object_member(_this.file.path);
             
+            var offset = 0;
+            if (obj.has_member("line_offset")) {
+                offset = obj.get_int_member("line_offset");
+            }
+            
+            
             var tlines = this.el.get_line_count ();
              Gtk.TextIter iter;
             lines.foreach_member((obj, line, node)) {
                 
                 
             //        print("get inter\n");
-                    var eline = int.parse(line);
+                    var eline = int.parse(line) - offset;
                     if (eline > tlines) {
                         continue;
                     }