"\t",
" ",
"\t ",
- "",
- " ",
- "this.el.completion.add_provider(new Palete.CompletionProvider(_this));",
+ "/*",
+ "this is pretty flakey - triggers Gtk with < 0 d",
+ " var cp = new GtkSource.CompletionWords(\"test\"); ",
+ " cp.minimum_word_size = 3;",
+ " //cp.priority = 100; //?? does this do anything",
+ " cp.proposals_batch_size = 10;",
+ " cp.scan_batch_size = 1000;",
" ",
- "",
- "this.el.completion.unblock_interactive();",
+ "cp.register(_this.buffer.el);",
+ "this.el.completion.add_provider(cp);",
+ "*/",
+ "this.el.completion.add_provider(new Palete.CompletionProvider(_this));",
+ " ",
+ "//this.el.completion.unblock_interactive();",
"this.el.completion.select_on_show = true; // select",
- "",
- "this.el.completion.remember_info_visibility\t = true;",
+ "//this.el.completion.remember_info_visibility\t = true;",
"",
"",
"var attrs = new GtkSource.MarkAttributes();",
"\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" : {
" }",
" ",
" // bit presumptiona",
- " if (_this.file.xtype == \"PlainFile\" && _this.file.project.xtype == \"Gtk\") {",
+ " if (_this.file.xtype == \"PlainFile\") {",
" ",
" // assume it's gtk...",
- " ",
- "\t\tBuilderApplication.valacompilequeue.addFile( ",
- "\t\t\tPalete.ValaCompileRequestType.FILE_CHANGE, ",
- "\t\t\t_this.file , str, false) ;",
- " ",
- "",
+ " 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 ",
" return true;",
" ",
" }",
" ",
" GLib.debug(\"calling validate\"); ",
" // clear the buttons.",
- " ",
- " BuilderApplication.valacompilequeue.addProp( ",
- " \t\tPalete.ValaCompileRequestType.PROP_CHANGE,",
- "\t\t\t_this.file,",
- "\t\t\t_this.node,",
- "\t\t\t_this.prop,",
- "\t\t\tstr); ",
- " ",
+ " \tif (_this.prop.name == \"xns\" || _this.prop.name == \"xtype\") {",
+ "\t\treturn true ;",
+ "\t}",
+ "\tvar oldcode = _this.prop.val;",
+ "\t",
+ "\t_this.prop.val = str;",
+ "\t_this.node.updated_count++;",
+ " _this.file.getLanguageServer().document_change(_this.file);",
+ " _this.node.updated_count++;",
+ " _this.prop.val = oldcode;",
" ",
" ",
" //print(\"done mark line\\n\");",
"\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);",
"}"
],
"| void updateErrorMarks" : [
- "(GLib.ListStore? ar) {",
+ "(string category) {",
"\t",
" ",
- "\t",
- "\t var buf = _this.buffer.el;",
+ "",
+ "\tvar buf = _this.buffer.el;",
"\tGtk.TextIter start;",
"\tGtk.TextIter end; ",
"\tbuf.get_bounds (out start, out end);",
"",
- "\tbuf.remove_source_marks (start, end, \"ERR\");",
- "\tbuf.remove_source_marks (start, end, \"WARN\");",
- "\tbuf.remove_source_marks (start, end, \"DEPR\");",
- "\tGLib.debug(\"highlight errors\");\t\t ",
+ "\tbuf.remove_source_marks (start, end, category);",
+ " ",
+ "\t//GLib.debug(\"highlight errors\");\t\t ",
"",
"\t // we should highlight other types of errors..",
"",
- "\tif (ar == null || ar.get_n_items() < 1) {",
- "\t\tGLib.debug(\"Return has no errors\\n\");",
- "\t\treturn;",
- "\t}",
- "",
"\tif (_this.window.windowstate.state != WindowState.State.CODEONLY ",
"\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\treturn;",
"",
"\t}",
+ "\tvar ar = this.file.getErrors(category);",
+ "\tif (ar == null || ar.get_n_items() < 1) {",
+ "\t\t//GLib.debug(\"highlight %s : %s has no errors\", this.file.relpath, category);",
+ "\t\treturn;",
+ "\t}",
" ",
"",
" ",
"\t",
- "\tvar offset = 1;",
+ "\tvar offset = 0;",
"\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 %m\", eline, msg);",
- "\t // this.marks.set(eline, msg);",
+ "\t // GLib.debug(\"set line %d to %s\", eline, msg);",
+ "\t //this.marks.set(eline, msg);",
"\t}",
"\treturn ;",
"",