src/Builder4/Editor.bjs
authorAlan Knowles <alan@roojs.com>
Wed, 27 May 2015 09:10:28 +0000 (17:10 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 27 May 2015 09:10:28 +0000 (17:10 +0800)
src/Builder4/Editor.vala

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

index a2abf75..13b5d85 100644 (file)
@@ -91,7 +91,7 @@
          "xtype" : "SourceBuffer",
          "bool check_running" : false,
          "$ xns" : "Gtk",
-         "| bool highlightErrorsJson" : "(string type, Json.Object obj) {\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, type);\n                 \n     \n     // we should highlight other types of errors..\n    \n    if (!obj.has_member(type)) {\n        print(\"Return has no errors\\n\");\n        return true;\n    }\n    \n    if (_this.window.windowstate.state != WindowState.State.CODEONLY && \n        _this.window.windowstate.state != WindowState.State.CODE\n        ) {\n        return true;\n    } \n    \n    \n    var err = obj.get_object_member(type);\n    \n    \n    if (_this.file == null) {\n        return true;\n    \n    }\n    var valafn = _this.file.path;\n    print(\"%s : %s\", _this.file.path, _this.file.xtype);\n    if (_this.file.xtype != \"PlainFile\") {\n\n\n        \n        \n         valafn = \"\";\n          try {             \n               var  regex = new Regex(\"\\\\.bjs$\");\n               // should not happen\n                if (_this.file == null) {\n                    return true;\n                }\n             \n                valafn = regex.replace(_this.file.path,_this.file.path.length , 0 , \".vala\");\n             } catch (GLib.RegexError e) {\n                return true;\n            }   \n\n\n\n      }\n       if (!err.has_member(valafn)) {\n            print(\"File path has no errors\\n\");\n            return  true;\n        }\n\n        var lines = err.get_object_member(valafn);\n        \n        var offset = 1;\n        if (obj.has_member(\"line_offset\")) {\n            offset = (int)obj.get_int_member(\"line_offset\") + 1;\n        }\n    \n\n     \n    \n    var tlines = this.el.get_line_count () +1;\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            var msg  = \"Line: %d\".printf(eline+1);\n            var ar = lines.get_array_member(line);\n            for (var i = 0 ; i < ar.get_length(); i++) {\n\t\t    msg += (msg.length > 0) ? \"\\n\" : \"\";\n\t\t    msg += ar.get_string_element(i);\n\t    }\n            \n            \n            this.el.create_source_mark(msg, type, iter);\n        } );\n        return false;\n    \n\n\n\n\n}\n"
+         "| bool highlightErrorsJson" : "(string type, Json.Object obj) {\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, type);\n                 \n     \n     // we should highlight other types of errors..\n    \n    if (!obj.has_member(type)) {\n        print(\"Return has no errors\\n\");\n        return true;\n    }\n    \n    if (_this.window.windowstate.state != WindowState.State.CODEONLY && \n        _this.window.windowstate.state != WindowState.State.CODE\n        ) {\n        return true;\n    } \n    \n    \n    var err = obj.get_object_member(type);\n    \n    \n    if (_this.file == null) {\n        return true;\n    \n    }\n    var valafn = _this.file.path;\n \n    if (_this.file.xtype != \"PlainFile\") {\n\n\n        \n        \n         valafn = \"\";\n          try {             \n               var  regex = new Regex(\"\\\\.bjs$\");\n               // should not happen\n              \n             \n                valafn = regex.replace(_this.file.path,_this.file.path.length , 0 , \".vala\");\n             } catch (GLib.RegexError e) {\n                return true;\n            }   \n\n\n\n      }\n       if (!err.has_member(valafn)) {\n            print(\"File path has no errors\\n\");\n            return  true;\n        }\n\n        var lines = err.get_object_member(valafn);\n        \n        var offset = 1;\n        if (obj.has_member(\"line_offset\")) {\n            offset = (int)obj.get_int_member(\"line_offset\") + 1;\n        }\n    \n\n     \n    \n    var tlines = this.el.get_line_count () +1;\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            var msg  = \"Line: %d\".printf(eline+1);\n            var ar = lines.get_array_member(line);\n            for (var i = 0 ; i < ar.get_length(); i++) {\n\t\t    msg += (msg.length > 0) ? \"\\n\" : \"\";\n\t\t    msg += ar.get_string_element(i);\n\t    }\n            \n            \n            this.el.create_source_mark(msg, type, iter);\n        } );\n        return false;\n    \n\n\n\n\n}\n"
         }
        ]
       }
index 9ecac7e..f2d3923 100644 (file)
@@ -551,7 +551,7 @@ public class Editor : Object
             
             }
             var valafn = _this.file.path;
-            print("%s : %s", _this.file.path, _this.file.xtype);
+         
             if (_this.file.xtype != "PlainFile") {
         
         
@@ -561,9 +561,7 @@ public class Editor : Object
                   try {             
                        var  regex = new Regex("\\.bjs$");
                        // should not happen
-                        if (_this.file == null) {
-                            return true;
-                        }
+                      
                      
                         valafn = regex.replace(_this.file.path,_this.file.path.length , 0 , ".vala");
                      } catch (GLib.RegexError e) {