diff options
| author | bfredl <bjorn.linse@gmail.com> | 2022-06-20 15:04:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-20 15:04:40 +0200 |
| commit | e3bfc1293e30512a6aa23964a3486ee709ac3f21 (patch) | |
| tree | c8d1b70ef948a4beafe82195431f1c6607fbe8b7 /src/nvim/api/private/helpers.h | |
| parent | b2ed439bd5ab1b431bb61f8754554c48453495c5 (diff) | |
| parent | 5d6987210578f5f1c3151988b99a9411f9603374 (diff) | |
| download | rneovim-e3bfc1293e30512a6aa23964a3486ee709ac3f21.tar.gz rneovim-e3bfc1293e30512a6aa23964a3486ee709ac3f21.tar.bz2 rneovim-e3bfc1293e30512a6aa23964a3486ee709ac3f21.zip | |
Merge pull request #18988 from bfredl/uipack
refactor(ui): encode "redraw" events without intermediate allocations
Diffstat (limited to 'src/nvim/api/private/helpers.h')
| -rw-r--r-- | src/nvim/api/private/helpers.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.h b/src/nvim/api/private/helpers.h index 8423db4970..a4348d8b44 100644 --- a/src/nvim/api/private/helpers.h +++ b/src/nvim/api/private/helpers.h @@ -63,17 +63,31 @@ #define PUT(dict, k, v) \ kv_push(dict, ((KeyValuePair) { .key = cstr_to_string(k), .value = v })) +#define PUT_C(dict, k, v) \ + kv_push_c(dict, ((KeyValuePair) { .key = cstr_as_string(k), .value = v })) + #define PUT_BOOL(dict, name, condition) PUT(dict, name, BOOLEAN_OBJ(condition)); #define ADD(array, item) \ kv_push(array, item) +#define ADD_C(array, item) \ + kv_push_c(array, item) + #define FIXED_TEMP_ARRAY(name, fixsize) \ Array name = ARRAY_DICT_INIT; \ Object name##__items[fixsize]; \ name.size = fixsize; \ name.items = name##__items; \ +#define MAXSIZE_TEMP_ARRAY(name, maxsize) \ + Array name = ARRAY_DICT_INIT; \ + Object name##__items[maxsize]; \ + name.capacity = maxsize; \ + name.items = name##__items; \ + +#define cbuf_as_string(d, s) ((String) { .data = d, .size = s }) + #define STATIC_CSTR_AS_STRING(s) ((String) { .data = s, .size = sizeof(s) - 1 }) /// Create a new String instance, putting data in allocated memory |
