diff --git a/lua/snacks/picker/actions.lua b/lua/snacks/picker/actions.lua index 7acc932a..10bda378 100644 --- a/lua/snacks/picker/actions.lua +++ b/lua/snacks/picker/actions.lua @@ -386,7 +386,11 @@ function M.cmd(picker, item) picker:close() if item and item.cmd then vim.schedule(function() - vim.cmd(item.cmd) + if item.command and (item.command.nargs ~= "0") then + vim.api.nvim_input(":" .. item.cmd .. " ") + else + vim.cmd(item.cmd) + end end) end end diff --git a/lua/snacks/picker/source/vim.lua b/lua/snacks/picker/source/vim.lua index 64db5ac3..ec9c2734 100644 --- a/lua/snacks/picker/source/vim.lua +++ b/lua/snacks/picker/source/vim.lua @@ -15,8 +15,6 @@ local M = {} ---@class snacks.picker.history.Config: snacks.picker.Config ---@field name string -local uv = vim.uv or vim.loop - function M.commands() local commands = vim.api.nvim_get_commands({}) for k, v in pairs(vim.api.nvim_buf_get_commands(0, {})) do