aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.h
diff options
context:
space:
mode:
authorFamiu Haque <famiuhaque@proton.me>2023-05-23 14:25:10 +0600
committerFamiu Haque <famiuhaque@proton.me>2023-05-23 15:20:41 +0600
commitcfd4fdfea4d0e68ea50ad412b88b5289ded6fd6f (patch)
tree9cae576fc90b55c9586286706a9d1754762bea8b /src/nvim/api/private/helpers.h
parent62a80c36c158ecf4ffc8c93d8891aeb2f0d2f287 (diff)
downloadrneovim-cfd4fdfea4d0e68ea50ad412b88b5289ded6fd6f.tar.gz
rneovim-cfd4fdfea4d0e68ea50ad412b88b5289ded6fd6f.tar.bz2
rneovim-cfd4fdfea4d0e68ea50ad412b88b5289ded6fd6f.zip
refactor(api): new helper macros
Adds new API helper macros `CSTR_AS_OBJ()`, `STATIC_CSTR_AS_OBJ()`, and `STATIC_CSTR_TO_OBJ()`, which cleans up a lot of the current code. These macros will also be used extensively in the upcoming option refactor PRs because then API Objects will be used to get/set options. This PR also modifies pre-existing code to use old API helper macros like `CSTR_TO_OBJ()` to make them cleaner.
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 bac501ed62..a9cfaeae22 100644
--- a/src/nvim/api/private/helpers.h
+++ b/src/nvim/api/private/helpers.h
@@ -34,6 +34,7 @@
.type = kObjectTypeString, \
.data.string = s })
+#define CSTR_AS_OBJ(s) STRING_OBJ(cstr_as_string(s))
#define CSTR_TO_OBJ(s) STRING_OBJ(cstr_to_string(s))
#define BUFFER_OBJ(s) ((Object) { \
@@ -103,6 +104,9 @@
.data = xmemdupz(s, sizeof(s) - 1), \
.size = sizeof(s) - 1 })
+#define STATIC_CSTR_AS_OBJ(s) STRING_OBJ(STATIC_CSTR_AS_STRING(s))
+#define STATIC_CSTR_TO_OBJ(s) STRING_OBJ(STATIC_CSTR_TO_STRING(s))
+
// Helpers used by the generated msgpack-rpc api wrappers
#define api_init_boolean
#define api_init_integer