mirror of
https://github.com/neovim/neovim.git
synced 2026-07-12 04:19:45 +00:00
Merge pull request #17946 from lewis6991/fixes
Quick review fixes for autocmds and keymaps
This commit is contained in:
@@ -2025,7 +2025,7 @@ set({mode}, {lhs}, {rhs}, {opts}) *vim.keymap.set()*
|
||||
{rhs} string|function Right-hand side |{rhs}| of the
|
||||
mapping. Can also be a Lua function. If a Lua
|
||||
function and `opts.expr == true`, returning `nil`
|
||||
or `false` is equivalent to an empty string.
|
||||
is equivalent to an empty string.
|
||||
{opts} table A table of |:map-arguments| such as
|
||||
"silent". In addition to the options listed in
|
||||
|nvim_set_keymap()|, this table also accepts the
|
||||
|
||||
@@ -35,8 +35,8 @@ local keymap = {}
|
||||
--- Can also be list of modes to create mapping on multiple modes.
|
||||
---@param lhs string Left-hand side |{lhs}| of the mapping.
|
||||
---@param rhs string|function Right-hand side |{rhs}| of the mapping. Can also be a Lua function.
|
||||
--- If a Lua function and `opts.expr == true`, returning `nil` or `false`
|
||||
--- is equivalent to an empty string.
|
||||
--- If a Lua function and `opts.expr == true`, returning `nil` is
|
||||
--- equivalent to an empty string.
|
||||
--
|
||||
---@param opts table A table of |:map-arguments| such as "silent". In addition to the options
|
||||
--- listed in |nvim_set_keymap()|, this table also accepts the following keys:
|
||||
@@ -62,7 +62,7 @@ function keymap.set(mode, lhs, rhs, opts)
|
||||
local user_rhs = rhs
|
||||
rhs = function ()
|
||||
local res = user_rhs()
|
||||
if not res then
|
||||
if res == nil then
|
||||
-- TODO(lewis6991): Handle this in C?
|
||||
return ''
|
||||
elseif opts.replace_keycodes ~= false then
|
||||
|
||||
@@ -2353,17 +2353,20 @@ int autocmd_delete_event(int group, event_T event, char_u *pat)
|
||||
bool autocmd_delete_id(int64_t id)
|
||||
{
|
||||
assert(id > 0);
|
||||
bool success = false;
|
||||
|
||||
// Note that since multiple AutoCmd objects can have the same ID, we need to do a full scan.
|
||||
FOR_ALL_AUEVENTS(event) {
|
||||
FOR_ALL_AUPATS_IN_EVENT(event, ap) {
|
||||
for (AutoCmd *ac = ap->cmds; ac != NULL; ac = ac->next) {
|
||||
if (ac->id == id) {
|
||||
aucmd_del(ac);
|
||||
return true;
|
||||
success = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return success;
|
||||
}
|
||||
|
||||
// ===========================================================================
|
||||
|
||||
Reference in New Issue
Block a user