diff --git a/lua/core/mappings.lua b/lua/core/mappings.lua index 7cfb5c3..8c6c04c 100644 --- a/lua/core/mappings.lua +++ b/lua/core/mappings.lua @@ -38,7 +38,22 @@ vim.keymap.set("n", "dp", vim.cmd.diffput) vim.keymap.set("x", "dp", ":diffput") vim.keymap.set("n", "do", vim.cmd.diffget) vim.keymap.set("x", "do", ":diffget") -vim.keymap.set("i", "", vim.cmd.fclose) +vim.keymap.set({ "n", "i", }, "", + function () + if vim.fn.pumvisible() ~= 0 then + return "pclose" + end + + for _, winid in pairs(vim.api.nvim_tabpage_list_wins(0)) do + if vim.api.nvim_win_get_config(winid).relative ~= "" then + return "fclose" + end + end + + return "" + end, + { expr = true, } +) -- Remove default mappings vim.keymap.set("", "", "")