diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2024-09-20 07:34:50 +0200 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2024-09-23 14:42:57 +0200 |
commit | 737f58e23230ea14f1648ac1fc7f442ea0f8563c (patch) | |
tree | d16bee4c0ad2bb5ff2ec058cd09133a285674fef /src/nvim/msgpack_rpc | |
parent | 5acdc4499e2036c90172b2b085f207ee4d5cfee4 (diff) | |
download | rneovim-737f58e23230ea14f1648ac1fc7f442ea0f8563c.tar.gz rneovim-737f58e23230ea14f1648ac1fc7f442ea0f8563c.tar.bz2 rneovim-737f58e23230ea14f1648ac1fc7f442ea0f8563c.zip |
refactor(api)!: rename Dictionary => Dict
In the api_info() output:
:new|put =map(filter(api_info().functions, '!has_key(v:val,''deprecated_since'')'), 'v:val')
...
{'return_type': 'ArrayOf(Integer, 2)', 'name': 'nvim_win_get_position', 'method': v:true, 'parameters': [['Window', 'window']], 'since': 1}
The `ArrayOf(Integer, 2)` return type didn't break clients when we added
it, which is evidence that clients don't use the `return_type` field,
thus renaming Dictionary => Dict in api_info() is not (in practice)
a breaking change.
Diffstat (limited to 'src/nvim/msgpack_rpc')
-rw-r--r-- | src/nvim/msgpack_rpc/channel.c | 14 | ||||
-rw-r--r-- | src/nvim/msgpack_rpc/channel_defs.h | 2 | ||||
-rw-r--r-- | src/nvim/msgpack_rpc/packer.c | 6 | ||||
-rw-r--r-- | src/nvim/msgpack_rpc/unpacker.c | 8 |
4 files changed, 15 insertions, 15 deletions
diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c index 8079b32ede..626312b666 100644 --- a/src/nvim/msgpack_rpc/channel.c +++ b/src/nvim/msgpack_rpc/channel.c @@ -80,7 +80,7 @@ void rpc_start(Channel *channel) rpc->unpacker = xcalloc(1, sizeof *rpc->unpacker); unpacker_init(rpc->unpacker); rpc->next_request_id = 1; - rpc->info = (Dictionary)ARRAY_DICT_INIT; + rpc->info = (Dict)ARRAY_DICT_INIT; kv_init(rpc->call_stack); if (channel->streamtype != kChannelStreamInternal) { @@ -500,7 +500,7 @@ void rpc_free(Channel *channel) xfree(channel->rpc.unpacker); kv_destroy(channel->rpc.call_stack); - api_free_dictionary(channel->rpc.info); + api_free_dict(channel->rpc.info); } static void chan_close_with_error(Channel *channel, char *msg, int loglevel) @@ -610,14 +610,14 @@ static void channel_flush_callback(PackerBuffer *packer) packer_buffer_init_channels(packer->anydata, (size_t)packer->anyint, packer); } -void rpc_set_client_info(uint64_t id, Dictionary info) +void rpc_set_client_info(uint64_t id, Dict info) { Channel *chan = find_rpc_channel(id); if (!chan) { abort(); } - api_free_dictionary(chan->rpc.info); + api_free_dict(chan->rpc.info); chan->rpc.info = info; // Parse "type" on "info" and set "client_type" @@ -641,9 +641,9 @@ void rpc_set_client_info(uint64_t id, Dictionary info) channel_info_changed(chan, false); } -Dictionary rpc_client_info(Channel *chan) +Dict rpc_client_info(Channel *chan) { - return copy_dictionary(chan->rpc.info, NULL); + return copy_dict(chan->rpc.info, NULL); } const char *get_client_info(Channel *chan, const char *key) @@ -652,7 +652,7 @@ const char *get_client_info(Channel *chan, const char *key) if (!chan->is_rpc) { return NULL; } - Dictionary info = chan->rpc.info; + Dict info = chan->rpc.info; for (size_t i = 0; i < info.size; i++) { if (strequal(key, info.items[i].key.data) && info.items[i].value.type == kObjectTypeString) { diff --git a/src/nvim/msgpack_rpc/channel_defs.h b/src/nvim/msgpack_rpc/channel_defs.h index 6c8b05b8f3..871d4e615f 100644 --- a/src/nvim/msgpack_rpc/channel_defs.h +++ b/src/nvim/msgpack_rpc/channel_defs.h @@ -40,6 +40,6 @@ typedef struct { Unpacker *unpacker; uint32_t next_request_id; kvec_t(ChannelCallFrame *) call_stack; - Dictionary info; + Dict info; ClientType client_type; } RpcState; diff --git a/src/nvim/msgpack_rpc/packer.c b/src/nvim/msgpack_rpc/packer.c index 4e9e3243a0..b739f7ba28 100644 --- a/src/nvim/msgpack_rpc/packer.c +++ b/src/nvim/msgpack_rpc/packer.c @@ -226,14 +226,14 @@ void mpack_object_inner(Object *current, Object *container, size_t container_idx case kObjectTypeTabpage: mpack_handle(current->type, (handle_T)current->data.integer, packer); break; - case kObjectTypeDictionary: + case kObjectTypeDict: case kObjectTypeArray: {} size_t current_size; if (current->type == kObjectTypeArray) { current_size = current->data.array.size; mpack_array(&packer->ptr, (uint32_t)current_size); } else { - current_size = current->data.dictionary.size; + current_size = current->data.dict.size; mpack_map(&packer->ptr, (uint32_t)current_size); } if (current_size > 0) { @@ -270,7 +270,7 @@ void mpack_object_inner(Object *current, Object *container, size_t container_idx container = NULL; } } else { - Dictionary dict = container->data.dictionary; + Dict dict = container->data.dict; KeyValuePair *it = &dict.items[container_idx++]; mpack_check_buffer(packer); mpack_str(it->key, packer); diff --git a/src/nvim/msgpack_rpc/unpacker.c b/src/nvim/msgpack_rpc/unpacker.c index efd9a1a11f..4ddc41e596 100644 --- a/src/nvim/msgpack_rpc/unpacker.c +++ b/src/nvim/msgpack_rpc/unpacker.c @@ -59,7 +59,7 @@ static void api_parse_enter(mpack_parser_t *parser, mpack_node_t *node) } case MPACK_TOKEN_MAP: { Object *obj = parent->data[0].p; - KeyValuePair *kv = &kv_A(obj->data.dictionary, parent->pos); + KeyValuePair *kv = &kv_A(obj->data.dict, parent->pos); if (!parent->key_visited) { // TODO(bfredl): when implementing interrupt parse on error, // stop parsing here when node is not a STR/BIN @@ -166,10 +166,10 @@ static void api_parse_enter(mpack_parser_t *parser, mpack_node_t *node) break; } case MPACK_TOKEN_MAP: { - Dictionary dict = KV_INITIAL_VALUE; + Dict dict = KV_INITIAL_VALUE; kv_fixsize_arena(&p->arena, dict, node->tok.length); kv_size(dict) = node->tok.length; - *result = DICTIONARY_OBJ(dict); + *result = DICT_OBJ(dict); node->data[0].p = result; break; } @@ -620,7 +620,7 @@ bool unpack_keydict(void *retval, FieldHashfn hashy, AdditionalDataBuilder *ad, int result = mpack_rtoken(data, size, &tok); if (result || tok.type != MPACK_TOKEN_MAP) { - *error = xstrdup("is not a dictionary"); + *error = xstrdup("is not a dict"); return false; } |