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

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

index 5097301..3abfa2c 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 offset = 0;\n    if (obj.has_member(\"line_offset\")) {\n        offset = (int)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 || eline < 0) {\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        print(\"Return has no errors\\n\");\n        return true;\n    }\n    var err = obj.get_object_member(\"ERR\");\n    \n    if (!err.has_member(_this.file.path)) {\n        print(\"File path has no errors\\n\");\n        return true;\n    }\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 = (int)obj.get_int_member(\"line_offset\");\n    }\n     \n    \n    var tlines = this.el.get_line_count ();\n    \n    lines.foreach_member((obj, line, node) => {\n        \n             Gtk.TextIter iter;\n    //        print(\"get inter\\n\");\n            var eline = int.parse(line) - offset;\n            print(\"GOT ERROR on line %s -- converted to %d\\n\", line,eline);\n            \n            \n            if (eline > tlines || eline < 0) {\n                return;\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 b94f503..d1a14ec 100644 (file)
@@ -482,30 +482,36 @@ public class Editor : Object
         public bool highlightErrorsJson (Json.Object obj) {
         
             if (!obj.has_member("ERR")) {
+                print("Return has no errors\n");
                 return true;
             }
             var err = obj.get_object_member("ERR");
             
             if (!err.has_member(_this.file.path)) {
+                print("File path has no errors\n");
                 return true;
             }
+        
             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");
+                offset = (int)obj.get_int_member("line_offset");
             }
+             
             
+            var tlines = this.el.get_line_count ();
             
-            var tlines =  this.el.get_line_count ();
-             Gtk.TextIter iter;
-            lines.foreach_member((obj, line, node)) {
-                
+            lines.foreach_member((obj, line, node) => {
                 
+                     Gtk.TextIter iter;
             //        print("get inter\n");
                     var eline = int.parse(line) - offset;
+                    print("GOT ERROR on line %s -- converted to %d\n", line,eline);
+                    
+                    
                     if (eline > tlines || eline < 0) {
-                        continue;
+                        return;
                     }
                     this.el.get_iter_at_line( out iter, eline);
                     //print("mark line\n");