Skip to content

Commit 1db764b

Browse files
committed
refactor: rework logic
1 parent 304fc5f commit 1db764b

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

lua/copilot/keymaps/init.lua

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ local function get_keymap_key(bufnr, mode, key)
1414

1515
return bufnr .. ":" .. mode .. ":" .. key
1616
end
17+
1718
---@param mode string
1819
---@param key string
1920
---@param action function
@@ -92,24 +93,24 @@ function M.register_keymap_with_passthrough(mode, key, action, desc, bufnr)
9293
if action() then
9394
logger.trace("Action handled the keymap for " .. keymap_key)
9495
return "<Ignore>"
95-
else
96-
local prev = previous_keymaps[keymap_key]
97-
98-
if prev then
99-
if prev.type == "rhs" then
100-
logger.trace("Passing through to previous keymap for " .. keymap_key .. ": " .. prev.value)
101-
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(prev.value, true, false, true), mode, true)
102-
return "<Ignore>"
103-
elseif prev.type == "callback" then
104-
logger.trace("Passing through to previous keymap callback for " .. keymap_key)
105-
prev.value()
106-
return "<Ignore>"
107-
end
108-
end
109-
logger.trace("No previous keymap to pass through for " .. keymap_key)
96+
end
11097

111-
return key
98+
local prev = previous_keymaps[keymap_key]
99+
100+
if prev then
101+
if prev.type == "rhs" then
102+
logger.trace("Passing through to previous keymap for " .. keymap_key .. ": " .. prev.value)
103+
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(prev.value, true, false, true), mode, true)
104+
return "<Ignore>"
105+
elseif prev.type == "callback" then
106+
logger.trace("Passing through to previous keymap callback for " .. keymap_key)
107+
prev.value()
108+
return "<Ignore>"
109+
end
112110
end
111+
112+
logger.trace("No previous keymap to pass through for " .. keymap_key)
113+
return key
113114
end, {
114115
desc = desc,
115116
expr = true,

0 commit comments

Comments
 (0)