}
-
-
+
var str = _this.buffer.toString();
return true;
}
+ public void scroll_to_line (int line) {
+
+ GLib.Timeout.add(1000, () => {
+
+ var buf = this.view.el.get_buffer();
+
+ var sbuf = (Gtk.SourceBuffer) buf;
+
+
+ Gtk.TextIter iter;
+ sbuf.get_iter_at_line(out iter, line);
+ this.view.el.scroll_to_iter(iter, 0.1f, true, 0.0f, 0.0f);
+ return false;
+ });
+ }
public void show (JsRender.JsRender file, JsRender.Node? node, string ptype, string key)
{
this.file = file;
// init method
var description = Pango.FontDescription.from_string("monospace");
- description.set_size(8000);
- this.el.override_font(description);
- this.el.completion.add_provider(new Palete.CompletionProvider());
+ description.set_size(8000);
+ this.el.override_font(description);
+
+
+ this.el.completion.add_provider(new Palete.CompletionProvider(_this));
this.el.completion.unblock_interactive();
- this.el.completion.select_on_show = true;
- this.el.completion.show_headers = true;
+ this.el.completion.select_on_show = true; // select
+ this.el.completion.show_headers = false;
this.el.completion.remember_info_visibility = true;
-
+
var attrs = new Gtk.SourceMarkAttributes();
var pink = Gdk.RGBA();
var lg = _this.file.content_type.length > 0 ?
lm.guess_language(_this.file.path, _this.file.content_type) :
lm.get_language(lang);
-
-
+
((Gtk.SourceBuffer)(this.el.get_buffer())) .set_language(lg);
this.el.insert_spaces_instead_of_tabs = true;
-
- print("sourcelanguage = %s\n", lg.name);
- if (lg.name == "Vala") {
- this.el.insert_spaces_instead_of_tabs = false;
- }
-
+ if (lg != null) {
+ print("sourcelanguage = %s\n", lg.name);
+ if (lg.name == "Vala") {
+ this.el.insert_spaces_instead_of_tabs = false;
+ }
+ }
_this.dirty = false;
this.el.grab_focus();
_this.save_button.el.sensitive = false;