From b6082069604940f7ca7633acd40ddbc03437267e Mon Sep 17 00:00:00 2001 From: robin Date: Fri, 5 Dec 2025 17:56:04 +0100 Subject: [PATCH] feat: resume picker --- .nvim.lua | 1 + lua/artio/init.lua | 8 ++++++++ lua/artio/picker.lua | 9 +++++++++ plugin/artio.lua | 4 ++++ 4 files changed, 22 insertions(+) diff --git a/.nvim.lua b/.nvim.lua index 9641b5b..0e095b9 100644 --- a/.nvim.lua +++ b/.nvim.lua @@ -12,6 +12,7 @@ vim.api.nvim_create_autocmd("UIEnter", { }) vim.cmd([[ noremap r restart +qall! ]]) +vim.cmd([[ noremap ; (artio-resume) ]]) vim.ui.select = function(...) return require("artio").select(...) diff --git a/lua/artio/init.lua b/lua/artio/init.lua index cd65c50..c23e514 100644 --- a/lua/artio/init.lua +++ b/lua/artio/init.lua @@ -180,6 +180,14 @@ artio.schedule = function(f) end) end +artio.resume = function() + local picker = require("artio.picker").active_picker + if not picker or not picker.closed then + return + end + picker:resume() +end + ---@param fn artio.Picker.action ---@param scheduled_fn? artio.Picker.action artio.wrap = function(fn, scheduled_fn) diff --git a/lua/artio/picker.lua b/lua/artio/picker.lua index 49084a1..7530b4d 100644 --- a/lua/artio/picker.lua +++ b/lua/artio/picker.lua @@ -115,6 +115,15 @@ function Picker:open() end)() end +function Picker:resume() + if not self.closed then + return + end + self.closed = false + + self:open() +end + ---@param free? boolean function Picker:close(free) if self.closed then diff --git a/plugin/artio.lua b/plugin/artio.lua index a35b2a0..8596a52 100644 --- a/plugin/artio.lua +++ b/plugin/artio.lua @@ -53,6 +53,10 @@ end, { -- == pickers == +vim.keymap.set("n", "(artio-resume)", function() + return require("artio").resume() +end) + vim.keymap.set("n", "(artio-files)", function() return require("artio.builtins").files() end) -- 2.51.2