aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.h
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2021-08-22 13:12:58 +0200
committerGitHub <noreply@github.com>2021-08-22 13:12:58 +0200
commit7ebb25cca193063f0a3ff2ec8b6206e0832e1215 (patch)
treefbcfa265403eeaac463038c2b08cd2475f267b30 /src/nvim/api/private/helpers.h
parent3d3c0c669d054ef49304223e3b91ac820996d1e0 (diff)
parentc265fd31ab2b0307650ad94e1ea272e9360c345f (diff)
downloadrneovim-7ebb25cca193063f0a3ff2ec8b6206e0832e1215.tar.gz
rneovim-7ebb25cca193063f0a3ff2ec8b6206e0832e1215.tar.bz2
rneovim-7ebb25cca193063f0a3ff2ec8b6206e0832e1215.zip
Merge pull request #15451 from bfredl/metamap
perf(map): get rid of unnecessary pointer indirections for maps.
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