diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-08-31 21:14:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-31 21:14:14 +0800 |
commit | 933c80e8f9d7ff4ab634c14d370440702c7c8ed7 (patch) | |
tree | e58d3a701628ad71a2b4139c4125f3f4670d0002 /src/nvim/api/vim.c | |
parent | fa747d004a1e91b30066020f2f592e4dc5d94084 (diff) | |
download | rneovim-933c80e8f9d7ff4ab634c14d370440702c7c8ed7.tar.gz rneovim-933c80e8f9d7ff4ab634c14d370440702c7c8ed7.tar.bz2 rneovim-933c80e8f9d7ff4ab634c14d370440702c7c8ed7.zip |
refactor(mappings)!: mapblock_fill_dict() use API Dictionary (#20020)
This introduces the following breaking changes:
- nvim_get_keymap now always returns a LuaRef object as "callback" for a
Lua mapping regardless of how it is called. The LuaRef object can be
called from Lua and Vim script, but is lost over RPC.
- maparg() now returns a Funcref instead of a ref number as "callback"
for a Lua mapping. The Funcref can be called from Lua and Vim script,
but is lost over RPC.
This may also make nvim_get_keymap faster, but make maparg() slower.
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r-- | src/nvim/api/vim.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index a1721d433f..9e1f2dd631 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -1421,10 +1421,10 @@ Dictionary nvim_get_mode(void) /// @param mode Mode short-name ("n", "i", "v", ...) /// @returns Array of |maparg()|-like dictionaries describing mappings. /// The "buffer" key is always zero. -ArrayOf(Dictionary) nvim_get_keymap(uint64_t channel_id, String mode) +ArrayOf(Dictionary) nvim_get_keymap(String mode) FUNC_API_SINCE(3) { - return keymap_array(mode, NULL, channel_id == LUA_INTERNAL_CALL); + return keymap_array(mode, NULL); } /// Sets a global |mapping| for the given mode. |