mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 03:48:18 +00:00
feat(api): pass 0 to nvim_get_chan_info for current channel (#27321)
Getting current channel info was kind of annoying via RPC. Two functions had to be called: 1. `nvim_get_api_info` which returns `[channel_id, meta_data]`. - This results in `channel_id = api.nvim_get_api_info()[0]`. - Here the meta_data is sent but never used. 2. Finally call `nvim_get_chan_info(channel_id)`. This commit reduces the need for `nvim_get_api_info` as passing 0 returns current channel info.
This commit is contained in:
@@ -1612,6 +1612,7 @@ void nvim_set_client_info(uint64_t channel_id, String name, Dictionary version,
|
||||
|
||||
/// Gets information about a channel.
|
||||
///
|
||||
/// @param chan channel_id, or 0 for current channel
|
||||
/// @returns Dictionary describing a channel, with these keys:
|
||||
/// - "id" Channel id.
|
||||
/// - "argv" (optional) Job arguments list.
|
||||
@@ -1633,12 +1634,17 @@ void nvim_set_client_info(uint64_t channel_id, String name, Dictionary version,
|
||||
/// the RPC channel), if provided by it via
|
||||
/// |nvim_set_client_info()|.
|
||||
///
|
||||
Dictionary nvim_get_chan_info(Integer chan, Error *err)
|
||||
Dictionary nvim_get_chan_info(uint64_t channel_id, Integer chan, Error *err)
|
||||
FUNC_API_SINCE(4)
|
||||
{
|
||||
if (chan < 0) {
|
||||
return (Dictionary)ARRAY_DICT_INIT;
|
||||
}
|
||||
|
||||
if (chan == 0 && !is_internal_call(channel_id)) {
|
||||
assert(channel_id <= INT64_MAX);
|
||||
chan = (Integer)channel_id;
|
||||
}
|
||||
return channel_info((uint64_t)chan);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user