diff --git a/lua/ivy/controller.lua b/lua/ivy/controller.lua index b1dd66f..f6dba23 100644 --- a/lua/ivy/controller.lua +++ b/lua/ivy/controller.lua @@ -37,7 +37,7 @@ controller.complete = function() end controller.checkpoint = function() - vim.api.nvim_set_current_win(window.previous) + vim.api.nvim_set_current_win(window.origin) controller.callback(window.get_current_selection()) vim.api.nvim_set_current_win(window.window) end @@ -52,6 +52,10 @@ controller.previous = function() window.update() end +controller.origin = function() + return vim.api.nvim_win_get_buf(window.origin) +end + controller.destroy = function() controller.items = nil controller.callback = nil diff --git a/lua/ivy/window.lua b/lua/ivy/window.lua index 0a33f65..7b14308 100644 --- a/lua/ivy/window.lua +++ b/lua/ivy/window.lua @@ -38,7 +38,7 @@ end local window = {} window.index = 0 -window.previous = nil +window.origin = nil window.window = nil window.buffer = nil @@ -47,7 +47,7 @@ window.initialize = function() end window.make_buffer = function() - window.previous = vim.api.nvim_get_current_win() + window.origin = vim.api.nvim_get_current_win() vim.api.nvim_command "botright split new" window.buffer = vim.api.nvim_win_get_buf(0) @@ -135,7 +135,7 @@ window.destroy = function() window.buffer = nil window.window = nil - window.previous = nil + window.origin = nil window.index = 0 end