aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.h
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-02-08 11:43:27 +0100
committerGitHub <noreply@github.com>2024-02-08 11:43:27 +0100
commit3f2d543ee8d01ce0d4515ed35b96e274b1668a54 (patch)
treed138042dfb217ce2a3153df2b447f587c3e49a56 /src/nvim/api/private/helpers.h
parent02cc84b4d9d8efdd27c3f60fef11e02297051fab (diff)
parentca2635adf9c9c45ea745b9f750dc4da7063bdd14 (diff)
downloadrneovim-3f2d543ee8d01ce0d4515ed35b96e274b1668a54.tar.gz
rneovim-3f2d543ee8d01ce0d4515ed35b96e274b1668a54.tar.bz2
rneovim-3f2d543ee8d01ce0d4515ed35b96e274b1668a54.zip
Merge pull request #27284 from bfredl/unkeydict
refactor(api): use keydict and arena for more api return values
Diffstat (limited to 'src/nvim/api/private/helpers.h')
-rw-r--r--src/nvim/api/private/helpers.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h
index 8a56d1704f..0dbe3d2fb6 100644
--- a/src/nvim/api/private/helpers.h
+++ b/src/nvim/api/private/helpers.h
@@ -32,6 +32,7 @@
#define CSTR_AS_OBJ(s) STRING_OBJ(cstr_as_string(s))
#define CSTR_TO_OBJ(s) STRING_OBJ(cstr_to_string(s))
+#define CSTR_TO_ARENA_OBJ(arena, s) STRING_OBJ(arena_string(arena, cstr_as_string(s)))
#define BUFFER_OBJ(s) ((Object) { \
.type = kObjectTypeBuffer, \
@@ -70,6 +71,9 @@
#define PUT_C(dict, k, v) \
kv_push_c(dict, ((KeyValuePair) { .key = cstr_as_string(k), .value = v }))
+#define PUT_KEY(d, typ, key, v) \
+ do { (d).is_set__##typ##_ |= (1 << KEYSET_OPTIDX_##typ##__##key); (d).key = v; } while (0)
+
#define ADD(array, item) \
kv_push(array, item)