meson.build.o7QLX02
[roobuilder] / src / Builder4 / Editor.bjs
index 038d0a7..b1a00f9 100644 (file)
@@ -1,5 +1,6 @@
 {
  "build_module" : "builder",
+ "gen_extended" : false,
  "items" : [
   {
    "# GtkSource.SearchContext searchcontext" : "null",
         "\tGtkSource.SpaceTypeFlags.ALL",
         ");",
         "this.el.get_space_drawer().set_enable_matrix(true);",
-        "/*",
-        "Gtk.SourceDrawSpacesFlags.LEADING + ",
-        "Gtk.SourceDrawSpacesFlags.TRAILING + ",
-        "Gtk.SourceDrawSpacesFlags.TAB + ",
-        "Gtk.SourceDrawSpacesFlags.SPACE",
-        "*/"
+        ""
        ],
        "* prop" : "child",
        "bool has_tooltip" : true,
          "$ Gee.HashMap<int,string>? xmarks" : "null",
          "$ xns" : "GtkSource",
          "$ xtype" : "Buffer",
+         "* init" : [
+          "{",
+          "\tvar buf = this.el;",
+          "\tbuf.create_tag (\"bold\", \"weight\", Pango.Weight.BOLD);",
+          "    buf.create_tag (\"type\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#204a87\");",
+          "    buf.create_tag (\"keyword\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#a40000\");",
+          "    buf.create_tag (\"text\", \"weight\", Pango.Weight.NORMAL, \"foreground\", \"#729fcf\");",
+          "    buf.create_tag (\"number\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#ad7fa8\");",
+          "    buf.create_tag (\"method\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#729fcf\");",
+          "    buf.create_tag (\"property\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#BC1F51\");",
+          "    buf.create_tag (\"variable\", \"weight\", Pango.Weight.BOLD, \"foreground\", \"#A518B5\");",
+          "",
+          "}",
+          ""
+         ],
          "* prop" : "buffer",
          "bool check_queued" : false,
          "bool enable_undo" : true,
+         "bool highlight_matching_brackets" : true,
+         "bool highlight_syntax" : true,
          "id" : "buffer",
          "int error_line" : "-1",
          "listeners" : {
           "         var  oldcode =_this.file.toSource();",
           "        _this.file.setSource(str);",
           "        _this.file.getLanguageServer().document_change(_this.file);",
+          "\t    BuilderApplication.showSpinner(\"appointment soon\",\"document change pending\");",
           "        _this.file.setSource(oldcode);",
           "        ",
           "\t\t ",
            "\tif (keyval == Gdk.Key.f && (state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {",
            "\t    GLib.debug(\"SAVE: ctrl-f  pressed\");",
            "\t\t_this.search_entry.el.grab_focus();",
+           "\t\t_this.search_entry.el.select_region(0,-1);",
            "\t    return;",
            "\t}",
+           "\tif (keyval == Gdk.Key.space && (state & Gdk.ModifierType.CONTROL_MASK ) > 0 ) {",
+           "\t\t_this.view.el.show_completion();",
+           "\t}",
+           "\t",
+           "\tGtk.TextIter iter;",
+           "\t_this.buffer.el.get_iter_at_offset( out iter, _this.buffer.el.cursor_position);  ",
+           "\tvar line  = iter.get_line();",
+           "\tvar offset = iter.get_line_offset();",
+           "\tGLib.debug(\"line  %d  off %d\", line ,offset);",
+           "\tif (_this.prop != null) {",
+           "\t\tline += _this.prop.start_line + 1; // i think..",
+           "\t\toffset += 12; // should probably be 8 without namespaced ",
+           "\t\tGLib.debug(\"guess line  %d  off %d\", line ,offset);",
+           "\t} ",
            "    //_this.view.el.show_completion();",
            "   // print(event.key.keyval)",
+           "   ",
+           "   ",
+           "   ",
            "    ",
            "    return;",
            " ",
     "}",
     ""
    ],
+   "| string tempFileContents" : [
+    "() {",
+    "   ",
+    "   ",
+    "   if (_this.file == null) {",
+    "       return \"\";",
+    "   }",
+    "\tvar str= this.buffer.toString();",
+    "\tif (_this.file.xtype == \"PlainFile\") {",
+    "    ",
+    "     \treturn str;",
+    "    ",
+    "    }",
+    "  ",
+    "      ",
+    "     ",
+    "    GLib.debug(\"calling validate\");    ",
+    "    // clear the buttons.",
+    " \tif (_this.prop.name == \"xns\" || _this.prop.name == \"xtype\") {",
+    "\t\treturn this.file.toSource(); ;",
+    "\t}",
+    "\t",
+    "\tvar oldcode  = _this.prop.val;",
+    "\t_this.prop.val = str;",
+    "    var ret = _this.file.toSource();",
+    "    _this.prop.val = oldcode;",
+    "    return ret;",
+    "    ",
+    "}"
+   ],
    "| void backSearch" : [
     "(bool change_focus) {",
     "",
     "\tif (this.searchcontext == null) {",
     "\t\treturn;",
     "\t} ",
-    "\t",
+    "",
     "\tGtk.TextIter beg, st,en;",
     "\t bool has_wrapped_around;",
     "\tthis.buffer.el.get_iter_at_offset(out beg, this.last_search_end);",
     "",
     "\tbuf.remove_source_marks (start, end, category);",
     " ",
-    "\tGLib.debug(\"highlight errors\");\t\t ",
+    "\t//GLib.debug(\"highlight errors\");\t\t ",
     "",
     "\t // we should highlight other types of errors..",
     "",
     "\t\t&&",
     "\t\t_this.window.windowstate.state != WindowState.State.CODE",
     "\t\t) {",
-    "\t\tGLib.debug(\"windowstate != CODEONLY?\");",
+    "\t\t//GLib.debug(\"windowstate != CODEONLY?\");",
     "\t\t",
     "\t\treturn;",
     "\t} ",
     "\t}",
     "\tvar ar = this.file.getErrors(category);",
     "\tif (ar == null || ar.get_n_items() < 1) {",
-    "\t\tGLib.debug(\"highlight %s :  %s has no errors\", this.file.relpath, category);",
+    "\t\t//GLib.debug(\"highlight %s :  %s has no errors\", this.file.relpath, category);",
     "\t\treturn;",
     "\t}",
     " ",
     "\tvar tlines = buf.get_line_count () +1;",
     "\t",
     "\tif (_this.prop != null) {",
-    "\t",
-    "\t\ttlines = _this.prop.end_line + 1;",
-    "\t\toffset = _this.prop.start_line + 1;",
-    "\t",
+    "\t\t// this still seems flaky...",
+    "\t\t",
+    "\t\ttlines = _this.prop.end_line;",
+    "\t\toffset = _this.prop.start_line;",
+    "\t\t ",
     "\t}",
     "\t ",
     "\tfor (var i = 0; i < ar.get_n_items();i++) {",
     "\t     Gtk.TextIter iter;",
     "//        print(\"get inter\\n\");",
     "\t    var eline = err.line - offset;",
-    "\t    GLib.debug(\"GOT ERROR on line %d -- converted to %d  (offset = %d)\",",
-    "\t    \terr.line ,eline, offset);",
+    "\t    //GLib.debug(\"GOT ERROR on line %d -- converted to %d  (offset = %d)\",",
+    "\t    //\terr.line ,eline, offset);",
     "\t    ",
     "\t    ",
     "\t    if (eline > tlines || eline < 0) {",
     "\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    GLib.debug(\"set line %d to %s\", eline, msg);",
+    "\t   // GLib.debug(\"set line %d to %s\", eline, msg);",
     "\t    //this.marks.set(eline, msg);",
     "\t}",
     "\treturn ;",
    ]
   }
  ],
- "modOrder" : "",
- "name" : "Editor",
- "parent" : "",
- "path" : "/home/alan/gitlive/roobuilder/src/Builder4/Editor.bjs",
- "permname" : "",
- "title" : ""
+ "name" : "Editor"
 }
\ No newline at end of file