Introduction
Introduction Statistics Contact Development Disclaimer Help
tex: restore the first visible line when switching buffers - neatvi - [fork] si…
git clone git://src.adamsgaard.dk/neatvi
Log
Files
Refs
README
---
commit 6934b8bc85446824a8c2ad3fd5d699832f5c7aeb
parent 76a36a5a78f420961f660f1f10067587fd39463e
Author: Ali Gholami Rudi <[email protected]>
Date: Fri, 15 Apr 2016 14:36:18 +0430
ex: restore the first visible line when switching buffers
Diffstat:
M ex.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/ex.c b/ex.c
t@@ -29,7 +29,7 @@ static struct buf {
char ft[32];
char *path;
struct lbuf *lb;
- int row, off;
+ int row, off, top;
long mtime; /* modification time */
} bufs[8];
t@@ -70,6 +70,7 @@ static int bufs_open(char *path)
bufs[i].lb = lbuf_make();
bufs[i].row = 0;
bufs[i].off = 0;
+ bufs[i].top = 0;
bufs[i].mtime = -1;
strcpy(bufs[i].ft, syn_filetype(path));
return i;
t@@ -92,6 +93,7 @@ static void bufs_switch(int idx)
bufs_swap(0, idx);
xrow = bufs[0].row;
xoff = bufs[0].off;
+ xtop = bufs[0].top;
}
char *ex_path(void)
t@@ -371,6 +373,7 @@ static int ec_edit(char *ec)
return 1;
bufs[0].row = xrow;
bufs[0].off = xoff;
+ bufs[0].top = xtop;
if (arg[0] && bufs_find(path) >= 0) {
bufs_switch(bufs_find(path));
return 0;
t@@ -392,6 +395,7 @@ static int ec_edit(char *ec)
bufs[0].mtime = mtime(ex_path());
xrow = MAX(0, MIN(xrow, lbuf_len(xb) - 1));
xoff = 0;
+ xtop = MAX(0, MIN(xtop, lbuf_len(xb) - 1));
return 0;
}
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.