aboutsummaryrefslogtreecommitdiff
path: root/vis-marks.c
diff options
context:
space:
mode:
authorRandy Palamar <randy@rnpnr.xyz>2024-05-21 11:27:08 -0600
committerRandy Palamar <randy@rnpnr.xyz>2024-05-21 20:21:46 -0600
commit7554ecd77efc29601b7b44deca602724917ce019 (patch)
tree9e8e7d0ca7f0b173f98c224a25f6f626dcece8ac /vis-marks.c
parent7e85064ac77ea43e84d88eb910b0adb6f07d5d12 (diff)
downloadvis-7554ecd77efc29601b7b44deca602724917ce019.tar.gz
vis-7554ecd77efc29601b7b44deca602724917ce019.tar.xz
remove some view pointer chasing
Same as previous commit each window only has a single View. No need for it to be stored elsewhere in memory.
Diffstat (limited to 'vis-marks.c')
-rw-r--r--vis-marks.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/vis-marks.c b/vis-marks.c
index aea654d..48c065c 100644
--- a/vis-marks.c
+++ b/vis-marks.c
@@ -72,12 +72,11 @@ static Array mark_get(Win *win, Array *mark) {
array_init_sized(&sel, sizeof(Filerange));
if (!mark)
return sel;
- View *view = win->view;
size_t len = array_length(mark);
array_reserve(&sel, len);
for (size_t i = 0; i < len; i++) {
SelectionRegion *sr = array_get(mark, i);
- Filerange r = view_regions_restore(view, sr);
+ Filerange r = view_regions_restore(&win->view, sr);
if (text_range_valid(&r))
array_add(&sel, &r);
}
@@ -93,11 +92,10 @@ static void mark_set(Win *win, Array *mark, Array *sel) {
if (!mark)
return;
array_clear(mark);
- View *view = win->view;
for (size_t i = 0, len = array_length(sel); i < len; i++) {
SelectionRegion ss;
Filerange *r = array_get(sel, i);
- if (view_regions_save(view, r, &ss))
+ if (view_regions_save(&win->view, r, &ss))
array_add(mark, &ss);
}
}
@@ -150,15 +148,14 @@ static bool marklist_push(Win *win, MarkList *list, Array *sel) {
}
bool vis_jumplist_save(Vis *vis) {
- View *view = vis->win->view;
- Array sel = view_selections_get_all(view);
+ Array sel = view_selections_get_all(&vis->win->view);
bool ret = marklist_push(vis->win, &vis->win->jumplist, &sel);
array_release(&sel);
return ret;
}
static bool marklist_prev(Win *win, MarkList *list) {
- View *view = win->view;
+ View *view = &win->view;
bool restore = false;
Array cur = view_selections_get_all(view);
bool anchored = view_selections_primary_get(view)->anchored;
@@ -191,7 +188,7 @@ out:
}
static bool marklist_next(Win *win, MarkList *list) {
- View *view = win->view;
+ View *view = &win->view;
bool anchored = view_selections_primary_get(view)->anchored;
for (;;) {
Array *next = array_pop(&list->next);