From 620518966fb99511c506af292cc1885f7a419881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Mon, 27 Jul 2015 21:04:20 +0200 Subject: vis: add per cursor registers --- view.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'view.c') diff --git a/view.c b/view.c index 875635f..43915ce 100644 --- a/view.c +++ b/view.c @@ -41,6 +41,7 @@ struct Cursor { /* cursor position */ Line *line; /* screen line on which cursor currently resides */ Mark mark; /* mark used to keep track of current cursor position */ Selection *sel; /* selection (if any) which folows the cursor upon movement */ + Register reg; /* per cursor register to support yank/put operation */ View *view; /* associated view to which this cursor belongs */ Cursor *prev, *next;/* previous/next cursors in no particular order */ }; @@ -892,6 +893,7 @@ Cursor *view_cursors_new(View *view) { void view_cursors_free(Cursor *c) { if (!c) return; + register_release(&c->reg); if (c->prev) c->prev->next = c->next; if (c->next) @@ -923,6 +925,10 @@ size_t view_cursors_pos(Cursor *c) { return text_mark_get(c->view->text, c->mark); } +Register *view_cursors_register(Cursor *c) { + return &c->reg; +} + void view_cursors_scroll_to(Cursor *c, size_t pos) { View *view = c->view; if (view->cursor == c) { -- cgit v1.2.3