src/Builder4/Editor.bjs
authorAlan Knowles <alan@roojs.com>
Sun, 28 Jan 2024 11:01:45 +0000 (19:01 +0800)
committerAlan Knowles <alan@roojs.com>
Sun, 28 Jan 2024 11:01:45 +0000 (19:01 +0800)
src/Builder4/Editor.vala

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

index 883d5ab..5097544 100644 (file)
     "\t  ",
     "\t",
     "\tvar offset = 0;",
-    "\t ",
+    "\tvar hoffset = 0;",
     "",
     "\tvar tlines = buf.get_line_count () +1;",
     "\t",
     "",
     "\t\ttlines = _this.prop.end_line;",
     "\t\toffset = _this.prop.start_line;",
+    "\t\thoffset = _this.node.node_pad.length;",
+    "\t\t",
     "\t\t ",
     "\t} else {",
     "\t\t// no update...",
     "\tforeach(var diag in ar) { ",
     "\t     Gtk.TextIter iter;",
     "//        print(\"get inter\\n\");",
-    "\t    var sline = diag.range.start_line - offset;",
-    "\t    var eline =  diag.range.end_line - offset;",
+    "\t    var sline = diag.range.start.line - offset;",
+    "\t    //var eline =  diag.range.end_line - offset;",
     "\t    //GLib.debug(\"GOT ERROR on line %d -- converted to %d  (offset = %d)\",",
     "\t    //\terr.line ,eline, offset);",
     "\t    ",
     "\t    }",
     "\t   ",
     "\t    ",
-    "\t    buf.get_iter_at_line( out iter, eline);",
+    "\t    buf.get_iter_at_line_offset( out iter, eline, diag.range.start.offset - hoffset);",
     "\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\tvar msg = \"Line: %d %s : %s\".printf(eline+1, diag.category, diag.message);",
+    "\t    buf.create_source_mark( diag.message, diag.category, iter);",
     "\t   // GLib.debug(\"set line %d to %s\", eline, msg);",
     "\t    //this.marks.set(eline, msg);",
     "\t}",
index a40da0d..28e5f79 100644 (file)
@@ -287,7 +287,7 @@ public class Editor : Object
                  
                
                var offset = 0;
-                
+               var hoffset = 0;
        
                var tlines = buf.get_line_count () +1;
                
@@ -296,6 +296,8 @@ public class Editor : Object
        
                        tlines = _this.prop.end_line;
                        offset = _this.prop.start_line;
+                       hoffset = _this.node.node_pad.length;
+                       
                         
                } else {
                        // no update...
@@ -308,8 +310,8 @@ public class Editor : Object
                foreach(var diag in ar) { 
                     Gtk.TextIter iter;
        //        print("get inter\n");
-                   var sline = diag.range.start_line - offset;
-                   var eline =  diag.range.end_line - offset;
+                   var sline = diag.range.start.line - offset;
+                   //var eline =  diag.range.end_line - offset;
                    //GLib.debug("GOT ERROR on line %d -- converted to %d  (offset = %d)",
                    //  err.line ,eline, offset);
                    
@@ -319,11 +321,11 @@ public class Editor : Object
                    }
                   
                    
-                   buf.get_iter_at_line( out iter, eline);
+                   buf.get_iter_at_line_offset( out iter, eline, diag.range.start.offset - hoffset);
                   
                   
-                       var msg = "Line: %d %s : %s".printf(eline+1, err.category, err.msg);
-                   buf.create_source_mark( msg, err.category, iter);
+                       var msg = "Line: %d %s : %s".printf(eline+1, diag.category, diag.message);
+                   buf.create_source_mark( diag.message, diag.category, iter);
                   // GLib.debug("set line %d to %s", eline, msg);
                    //this.marks.set(eline, msg);
                }