aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.h
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-08-22 11:25:59 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2021-08-22 11:28:47 +0200
commitc265fd31ab2b0307650ad94e1ea272e9360c345f (patch)
tree9ca3efcc04236190d15a418e1ff0a2ca1d4d6a1c /src/nvim/api/private/helpers.h
parentb888018aed249174aad7586859ac5142f1a3ef10 (diff)
downloadrneovim-c265fd31ab2b0307650ad94e1ea272e9360c345f.tar.gz
rneovim-c265fd31ab2b0307650ad94e1ea272e9360c345f.tar.bz2
rneovim-c265fd31ab2b0307650ad94e1ea272e9360c345f.zip
refactor(api): remove unneccesary indirection around handles
These things are just maps to pointers, no need to perform a huge song and dance around it.
Diffstat (limited to 'src/nvim/api/private/helpers.h')
-rw-r--r--src/nvim/api/private/helpers.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h
index 055abb797f..ecce6afa26 100644
--- a/src/nvim/api/private/helpers.h
+++ b/src/nvim/api/private/helpers.h
@@ -101,6 +101,14 @@
#define api_free_window(value)
#define api_free_tabpage(value)
+EXTERN PMap(handle_T) buffer_handles INIT(= MAP_INIT);
+EXTERN PMap(handle_T) window_handles INIT(= MAP_INIT);
+EXTERN PMap(handle_T) tabpage_handles INIT(= MAP_INIT);
+
+#define handle_get_buffer(h) pmap_get(handle_T)(&buffer_handles, (h))
+#define handle_get_window(h) pmap_get(handle_T)(&window_handles, (h))
+#define handle_get_tabpage(h) pmap_get(handle_T)(&tabpage_handles, (h))
+
/// Structure used for saving state for :try
///
/// Used when caller is supposed to be operating when other VimL code is being