diff options
author | Famiu Haque <famiuhaque@proton.me> | 2023-05-23 14:25:10 +0600 |
---|---|---|
committer | Famiu Haque <famiuhaque@proton.me> | 2023-05-23 15:20:41 +0600 |
commit | cfd4fdfea4d0e68ea50ad412b88b5289ded6fd6f (patch) | |
tree | 9cae576fc90b55c9586286706a9d1754762bea8b /src/nvim/api/private/helpers.h | |
parent | 62a80c36c158ecf4ffc8c93d8891aeb2f0d2f287 (diff) | |
download | rneovim-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.h | 4 |
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 |