aboutsummaryrefslogtreecommitdiff
path: root/vis.c
diff options
context:
space:
mode:
Diffstat (limited to 'vis.c')
-rw-r--r--vis.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/vis.c b/vis.c
index 0c05558..dca90c1 100644
--- a/vis.c
+++ b/vis.c
@@ -505,6 +505,18 @@ bool vis_window_reload(Win *win) {
return true;
}
+bool vis_window_change_file(Win *win, const char* filename) {
+ File *file = file_new(win->vis, filename);
+ if (!file)
+ return false;
+ file->refcount++;
+ if (win->file)
+ file_free(win->vis, win->file);
+ win->file = file;
+ view_reload(win->view, file->text);
+ return true;
+}
+
bool vis_window_split(Win *original) {
vis_doupdates(original->vis, false);
Win *win = window_new_file(original->vis, original->file, UI_OPTION_STATUSBAR);