From 01dbf0951b25d582451a8e656731dcf3d9295a71 Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Fri, 23 Jun 2017 09:56:35 +0200 Subject: api: implement object namespaces Namespaces is a lightweight concept that should be used to group objects for purposes of bulk operations and introspection. This is initially used for highlights and virtual text in buffers, and is planned to also be used for extended marks. There is no plan use them for privileges or isolation, neither to introduce nanespace-level options. --- src/nvim/buffer.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/nvim/buffer.c') diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index cd77f48320..634e257d40 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -26,6 +26,7 @@ #include "nvim/api/private/handle.h" #include "nvim/api/private/helpers.h" +#include "nvim/api/vim.h" #include "nvim/ascii.h" #include "nvim/assert.h" #include "nvim/vim.h" @@ -5327,10 +5328,10 @@ int bufhl_add_hl(buf_T *buf, int hl_id, linenr_T lnum, colnr_T col_start, - colnr_T col_end) { - static int next_src_id = 1; + colnr_T col_end) +{ if (src_id == 0) { - src_id = next_src_id++; + src_id = (int)nvim_create_namespace((String)STRING_INIT); } if (hl_id <= 0) { // no highlight group or invalid line, just return src_id -- cgit From b4a04fd80c4a223a80257ca1670e1907a6a95fdd Mon Sep 17 00:00:00 2001 From: Björn Linse Date: Fri, 7 Dec 2018 17:28:51 +0100 Subject: api: make nvim_buf_set_virtual_text use correct namespace counter --- src/nvim/buffer.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/nvim/buffer.c') diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 634e257d40..8b107041b1 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -5396,9 +5396,8 @@ int bufhl_add_virt_text(buf_T *buf, linenr_T lnum, VirtText virt_text) { - static int next_src_id = 1; if (src_id == 0) { - src_id = next_src_id++; + src_id = (int)nvim_create_namespace((String)STRING_INIT); } BufhlLine *lineinfo = bufhl_tree_ref(&buf->b_bufhl_info, lnum, true); -- cgit