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

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

index 525f461..2000a3b 100644 (file)
@@ -44,8 +44,8 @@
       },
       {
        "id" : "key_edit",
-       "* pack" : "pack_end,true,true",
        "xtype" : "Entry",
+       "* pack" : "pack_end,true,true",
        "$ xns" : "Gtk"
       }
      ]
@@ -79,8 +79,8 @@
           "changed" : " () => {\n    // check syntax??\n    // ??needed..??\n    _this.save_button.el.sensitive = true;\n    print(\"EDITOR CHANGED\");\n    this.checkSyntax();\n   \n    _this.dirty = true;\n\n    // this.get('/LeftPanel.model').changed(  str , false);\n    return ;\n}\n\n \n"
          },
          "bool check_queued" : false,
-         "int error_line" : "-1",
          "id" : "buffer",
+         "int error_line" : "-1",
          "| bool highlightErrors" : "( Gee.HashMap<int,string> validate_res) {\n        this.error_line = validate_res.size;\n\n        if (this.error_line < 1) {\n              return true;\n        }\n        var tlines = this.el.get_line_count ();\n        Gtk.TextIter iter;\n        var valiter = validate_res.map_iterator();\n        while (valiter.next()) {\n        \n    //        print(\"get inter\\n\");\n            var eline = valiter.get_key();\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(valiter.get_value(), \"error\", iter);\n        }   \n        return false;\n    }",
          "|   string toString" : "  () {\n    \n    Gtk.TextIter s;\n    Gtk.TextIter e;\n    this.el.get_start_iter(out s);\n    this.el.get_end_iter(out e);\n    var ret = this.el.get_text(s,e,true);\n    //print(\"TO STRING? \" + ret);\n    return ret;\n}\n ",
          "|   bool checkSyntax" : " () {\n \n    if (this.check_running) {\n        print(\"Check is running\\n\");\n        if (this.check_queued) { \n            print(\"Check is already queued\");\n            return true;\n        }\n        this.check_queued = true;\n        print(\"Adding queued Check \");\n        GLib.Timeout.add_seconds(1, () => {\n            this.check_queued = false;\n            \n            this.checkSyntax();\n            return false;\n        });\n    \n\n        return true;\n    }\n   \n   \n    var p = Palete.factory(_this.file.xtype);   \n    \n    var str = this.toString();\n    \n    string res = \"\";\n    \n    if (this.error_line > 0) {\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, null);\n    }\n    \n    if (str.length < 1) {\n        print(\"checkSyntax - empty string?\\n\");\n        return true;\n    }\n    this.check_running = true;\n    \n    \n    if (_this.file.language == \"js\") {\n        this.check_running = false;\n        print(\"calling validate javascript\\n\"); \n        return this.highlightErrors(p.validateJavascript(\n            str, \n             _this.key, \n            _this.ptype,\n            _this.file,\n            _this.node\n        ));    \n        \n    }\n        \n    print(\"calling validate vala\\n\");    \n    p.validateVala(\n        str, \n         _this.key, \n        _this.ptype,\n        _this.file,\n        _this.node,\n        (obj) => {\n            this.check_running = false;\n            this.highlightErrorsJson(obj);            \n            \n            //var validate_res = p.validateVala.end(res);\n            //this.highlightErrors(validate_res);\n\n        }\n        \n    );\n     \n    \n    \n    //print(\"done mark line\\n\");\n     \n    return true; // at present allow saving - even if it's invalid..\n}\n",
@@ -88,7 +88,7 @@
          "xtype" : "SourceBuffer",
          "bool check_running" : false,
          "$ xns" : "Gtk",
-         "| bool highlightErrorsJson" : "(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, null);\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            var msg  = \"\";\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, \"error\", iter);\n        } );\n        return false;\n    \n\n\n\n\n}\n"
+         "| bool highlightErrorsJson" : "(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, null);\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            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, \"error\", iter);\n        } );\n        return false;\n    \n\n\n\n\n}\n"
         }
        ]
       }
index 27eebf7..85d4028 100644 (file)
@@ -520,7 +520,7 @@ public class Editor : Object
                     }
                     this.el.get_iter_at_line( out iter, eline);
                     //print("mark line\n");
-                    var msg  = "Line: %d".format(eline+1);
+                    var msg  = "Line: %d".printf(eline+1);
                     var ar = lines.get_array_member(line);
                     for (var i = 0 ; i < ar.get_length(); i++) {
                            msg += (msg.length > 0) ? "\n" : "";