X-Git-Url: http://git.roojs.org/?p=app.Builder.js;a=blobdiff_plain;f=src%2FBuilder4%2FEditor.vala;h=3b4d09b35fc314225ef90606782422ebe4a4fda0;hp=7c47c65ff6901f0e46d8929f6b440ea6aef97459;hb=fc49f865ff0b406b1fb2313e84cf3edb8536727b;hpb=83b39a90f3602abf072e216933e7b3c00da1140a diff --git a/src/Builder4/Editor.vala b/src/Builder4/Editor.vala index 7c47c65ff..3b4d09b35 100644 --- a/src/Builder4/Editor.vala +++ b/src/Builder4/Editor.vala @@ -168,7 +168,7 @@ public class Editor : Object } - public void forwardSearch () { + public void forwardSearch (bool change_focus) { if (this.searchcontext == null) { return; @@ -177,13 +177,17 @@ public class Editor : Object Gtk.TextIter beg, st,en; this.buffer.el.get_iter_at_offset(out beg, this.last_search_end); - this.searchcontext.forward(beg, out st, out en); - this.last_search_end = en.get_offset(); - - this.view.el.grab_focus(); - this.buffer.el.place_cursor(st); - + if (!this.searchcontext.forward(beg, out st, out en)) { + this.last_search_end = 0; + } else { + this.last_search_end = en.get_offset(); + if (change_focus) { + this.view.el.grab_focus(); + } + this.buffer.el.place_cursor(st); + this.view.el.scroll_to_iter(st, 0.1f, true, 0.0f, 0.5f); + } } public class Xcls_Box2 : Object @@ -330,10 +334,13 @@ public class Editor : Object var description = Pango.FontDescription.from_string("monospace"); description.set_size(8000); + this.el.override_font(description); + + try { + this.el.completion.add_provider(new Palete.CompletionProvider(_this)); + } catch (GLib.Error e) {} - - 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.show_headers = false; @@ -543,7 +550,7 @@ public class Editor : Object // assume it's gtk... this.check_running = true; - + if (!_this.window.windowstate.valasource.checkPlainFileSpawn( _this.file, str @@ -567,13 +574,17 @@ public class Editor : Object if (_this.file.language == "js") { this.check_running = false; print("calling validate javascript\n"); - return this.highlightErrors(p.validateJavascript( + Gee.HashMap errors; + p.javascriptHasErrors( + _this.window.windowstate, str, _this.key, _this.ptype, _this.file, - _this.node - )); + + out errors + ); + return this.highlightErrors(errors); }